Browse Source

ipv6: Ignore route option with ROUTER_PREF_INVALID

RFC4191 says that "If the Reserved (10) value is received, the Route
Information Option MUST be ignored.", so this patch makes us conform
to the RFC. This is different to the usage of the Default Router
Preference, where an invalid value must indeed be treated as
PREF_MEDIUM.

Signed-off-by: Jens Rosenboom <me@jayr.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jens Rosenboom 15 years ago
parent
commit
3933fc952a
1 changed files with 1 additions and 1 deletions
  1. 1 1
      net/ipv6/route.c

+ 1 - 1
net/ipv6/route.c

@@ -481,7 +481,7 @@ int rt6_route_rcv(struct net_device *dev, u8 *opt, int len,
 
 
 	pref = rinfo->route_pref;
 	pref = rinfo->route_pref;
 	if (pref == ICMPV6_ROUTER_PREF_INVALID)
 	if (pref == ICMPV6_ROUTER_PREF_INVALID)
-		pref = ICMPV6_ROUTER_PREF_MEDIUM;
+		return -EINVAL;
 
 
 	lifetime = addrconf_timeout_fixup(ntohl(rinfo->lifetime), HZ);
 	lifetime = addrconf_timeout_fixup(ntohl(rinfo->lifetime), HZ);