[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <78e68ed2-088b-5a89-472d-690e67f6e3d6@gmail.com>
Date: Thu, 14 Nov 2019 08:39:58 -0700
From: David Ahern <dsahern@...il.com>
To: hujunwei <hujunwei4@...wei.com>,
Eric Dumazet <eric.dumazet@...il.com>, davem@...emloft.net,
kafai@...com, weiwan@...gle.com
Cc: netdev@...r.kernel.org, wangxiaogang3@...wei.com,
xuhanbing@...wei.com
Subject: Re: ping6 packets high probability loss occurs by the default
firewalld rule(rpfilter invert) with low traffic generated by iperf
On 11/14/19 6:04 AM, hujunwei wrote:
> Hi David,
>
> On 2019/11/12 9:35, David Ahern wrote:
>> On 11/11/19 6:26 PM, hujunwei wrote:
>>>
>>>
>>> Hi Eric,
>>> I applied the patch and find packetes still drop with default value of gc_thresh.
>>> I will submit a patch later.
>>>
>>> Regards Junwei
>>>
>>
>> perhaps it is time to update IPv6's gc_thresh to match IPv4's - meaning
>> it stays but gets set to -1 and is not used. Is there a reason to keep a
>> limit these days?
>>
> I think it is unnecessary to keep this limit, because the default gc_thresh will result in ipv6 packet loss in low ipv6 traffic.
> There are two solutions:
> 1) Why not check the percpu route first in ip6_pol_route_lookup() when rt6_find_cached_rt() retrun NULL, just like ip6_pol_route(). Can anyone help to answer this?
AIUI it's different for no specific reason - just a different lookup
written for different use cases.
ip6_route_lookup for example (which is what netfilter code is using)
does not even need an rt6_info, it just wants to know the lookup is good
and check the egress device. Meaning, all it really needs is the
fib6_info from the lookup under rcu. That (or helper to validate the
lookup and device) is the right long term solution, but a much bigger
change that I have time for right now.
> 2) like you said, set gc_thresh to -1.
>
> Regards Junwei
>
Powered by blists - more mailing lists