[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(usagi-users 00439) IPv6: Autoconfiguring routers



Hello all,

It appears that if you're acting as a router (forwarding on), all router
advertisents are discarded (on forwarding interfaces at least), e.g. in
net/ipv6/ndisc.c:

---
static void ndisc_router_discovery(struct sk_buff *skb)
 [...]
  	if (in6_dev->cnf.forwarding || !in6_dev->cnf.accept_ra) {
   		in6_dev_put(in6_dev);
		return;
  	}
 [...]
---
(this can also be verified by enabling forwarding via
/proc/sys/net/ipv6/conf/*/forwarding, deleting the autoconfigured address
and waiting for the next router advertisement)

If IP forwarding is enabled (e.g. router), _default route_ definitely
should not be autoconfigured, but I see no reason why the announced prefix
+ link-local suffix couldn't be combined to form one of the interface
addresses (on routers, all interfaces additionally probably have manually
assigned addresses too).

In FreeBSD Kame stack, sys/netinet6/nd6_rtr.c forwarding is only (apart
from router solicitation considerations) considered in defrouter_select
and defrtrlist_del functions.

Any thoughts?

-- 
Pekka Savola                  "Tell me of difficulties surmounted,
Netcore Oy                    not those you stumble over and fall"
Systems. Networks. Security.   -- Robert Jordan: A Crown of Swords