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 <redacted>
---
net/ipv6/route.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
From: Hannes Frederic Sowa <hidden> Date: 2013-10-30 09:44:13
On Wed, Oct 30, 2013 at 03:39:26PM +0800, Duan Jiong wrote:
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).
It should be constant folded away. But I agree, we can remove this:
Acked-by: Hannes Frederic Sowa <redacted>
Thanks,
Hannes
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 <redacted>
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.
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 <redacted>
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?
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 <redacted>
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?
Either way it'd probably be a per-inet6_dev option, right?
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 <redacted>
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.
Thanks,
Duan
Either way it'd probably be a per-inet6_dev option, right?
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
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 <redacted>
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.
Greetings,
Hannes
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 <redacted>
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 majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
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 <redacted>
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 we drop support for one of the routing scoring algorithms it will be the
other one. So yes, it will always be on.
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.
Exactly, but all people use ROUTER_PREF activated given it is enabled
by default by most distributions. I also know about no best practices
or IX-policies where they want a router to deliberately turned router
preference support off.
We can talk about doing RR in the same preference level, I'll have to do more
research on this.
But given that someone wants RR, it is better done by using ECMP routes.
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.
Everyone is essentially getting it enabled right now anyways, since
%99.999999 of users run distribution kernels. Nobody has asked
for a run-time knob for this, which therefore means that %99.999999
of users simply do not care.
Yes there are people who build their own kernels, but to tell you
the truth I doubt anyone really turns this off explicitly to turn
off router preference handling.
But I'm willing to cater to them _iff_ the RFC tells us we should
provide should a capability.