Subject: Re: [PATCH] ipv6: remove the unnecessary statement in find_match()

From: Duan Jiong <[email-masked]>
Date: Thu, 31 Oct 2013 19:09:56 +0800

于 2013年10月31日 16:45, Hannes Frederic Sowa 写道:
> On Thu, Oct 31, 2013 at 02:02:11PM +0800, Duan Jiong wrote:
>> 于 2013年10月31日 12:22, David Miller 写道:
>>> From: Hannes Frederic Sowa <[email-masked]>
>>> Date: Wed, 30 Oct 2013 22:11:57 +0100
>>>
>>>> On Wed, Oct 30, 2013 at 05:08:37PM -0400, David Miller wrote:
>>>>> From: Duan Jiong <[email-masked]>
>>>>> Date: Wed, 30 Oct 2013 15:39:26 +0800
>>>>>
>>>>>>
>>>>>> After reading the function rt6_check_neigh(), we can
>>>>>> know that the RT6_NUD_FAIL_SOFT can be returned only
>>>>>> when the IS_ENABLE(CONFIG_IPV6_ROUTER_PREF) is false.
>>>>>> so in function find_match(), there is no need to execute
>>>>>> the statement !IS_ENABLED(CONFIG_IPV6_ROUTER_PREF).
>>>>>>
>>>>>> Signed-off-by: Duan Jiong <[email-masked]>
>>>>>
>>>>> Applied to net-next, thanks.
>>>>>
>>>>> CONFIG_IPV6_ROUTER_PREF is another good candidate for Kconfig
>>>>> removal.  I know we've had several bugs that only apply when
>>>>> this option is on vs. off.  We're maintaining two different
>>>>> code paths, for really no good reason.
>>>>
>>>> I agree and actually thought about that yesterday. Do you think a sysctl
>>>> is a good option?
>>>
>>> Every distribution ships with the Kconfig option on, and no sysctl
>>> exists currently to control it.
>>>
>>> So I'd say it's not necessary at all, or at the very least let's have
>>> someone come forward with a real rather than theoretical use case for
>>> such a feature before adding it.
>>>
>>> Actually, if RFC 4191 has the usual language like "there SHOULD be
>>> an administrative mechanism to disable blah blah blah" I could
>>> be convinced to add it now.  Can someone take a look?
>>
>> It seems that there is no such an administrative mechanism in RFC 4191.
>>
>> By the way, if the sysctl is used, we are still maintaining two different
>> code paths, isn't it? so i think David's idea is good.
> 
> Makes life easier, no objections from me.
> 

Removing CONFIG_IPV6_ROUTER_PREF means that the Router Preference is always
on, is this understanding right?

If that's is correct,  i think compatibility issues will arise. For example, when the
CONFIG_IPV6_ROUTER_PREF option is on, the kernel should not do round-robin during
default router selection, but when the CONFIG_IPV6_ROUTER_PREF option is off, the
kernel should do it.

Thanks,
  Duan

> Greetings,
> 
>   Hannes
> 
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to [email-masked]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>