Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 672505 Details for
Bug 891784
IPv6 RA router preference ignored
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
[PATCH] ipv6: Enforce RFC 4191 Default Gateway replacement
-ipv6-Enforce-RFC-4191-Default-Gateway-replacement.patch (text/plain), 2.06 KB, created by
Neil Horman
on 2013-01-04 18:57:52 UTC
(
hide
)
Description:
[PATCH] ipv6: Enforce RFC 4191 Default Gateway replacement
Filename:
MIME Type:
Creator:
Neil Horman
Created:
2013-01-04 18:57:52 UTC
Size:
2.06 KB
patch
obsolete
>From 22757d0f8b5f98e1f6931073d257b254d26ac83e Mon Sep 17 00:00:00 2001 >From: Neil Horman <nhorman@tuxdriver.com> >Date: Fri, 4 Jan 2013 13:23:33 -0500 >Subject: [PATCH v2] ipv6: Enforce RFC 4191 Default Gateway replacement > >RFC 4191 introduces the notion of router preference bits in router >advertizements, which we appear to handle incorrectly. When two adverts arrive >at a host, if the advert contains a higher priority than the current existing >default router, we currently simply update the pref bits in the existing default >route to reflect the higher preference. This operates under the assumption that >the advert is for the same gateway as what we already have configured. What we >should be doing is keeping the old default route, but adding a new route for the >arriving adv with the higher preference value, so that we route to the proper >preferred gateway, in the case where two independent routers exist on the same >subnet. > >Signed-off-by: Neil Horman <nhorman@tuxdriver.com> >CC: "David S. Miller" <davem@davemloft.net> >CC: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> >--- > net/ipv6/ndisc.c | 20 +++++++++++++++----- > 1 file changed, 15 insertions(+), 5 deletions(-) > >diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c >index 6574175..20e78fa 100644 >--- a/net/ipv6/ndisc.c >+++ b/net/ipv6/ndisc.c >@@ -1130,9 +1130,21 @@ static void ndisc_router_discovery(struct sk_buff *skb) > return; > } > } >- if (rt && lifetime == 0) { >- ip6_del_rt(rt); >- rt = NULL; >+ >+ if (rt) { >+ if (!lifetime) { >+ ip6_del_rt(rt); >+ rt = NULL; >+ } >+ >+ /* >+ * If we have a route who's preference is less tha >+ * the one in this adv., keep the old one but install >+ * the new one being advertized with the higher pref. >+ * see RFC 4191 section 2.1 >+ */ >+ if (rt && (IPV6_EXTRACT_PREF(rt->rt6i_flags) < pref)) >+ rt = NULL; > } > > if (rt == NULL && lifetime) { >@@ -1155,8 +1167,6 @@ static void ndisc_router_discovery(struct sk_buff *skb) > return; > } > neigh->flags |= NTF_ROUTER; >- } else if (rt) { >- rt->rt6i_flags = (rt->rt6i_flags & ~RTF_PREF_MASK) | RTF_PREF(pref); > } > > if (rt) >-- >1.7.11.7 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 891784
:
672267
| 672505 |
673170