git: kernel - Implement IPV6 subnet routing / proxy ND6 (equiv to proxy ARP)
Matthew Dillon
dillon at crater.dragonflybsd.org
Wed Sep 4 10:48:18 PDT 2013
commit 2a810c210b34f19e4102f4047516d132bdce66a7
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Wed Sep 4 10:39:55 2013 -0700
kernel - Implement IPV6 subnet routing / proxy ND6 (equiv to proxy ARP)
* Do not require per-host RTF_ANNOUNCE/AF_LINK entries. They still
work but they aren't needed any more (and they are such a huge bitch
to set up anyway... best to avoid them).
* Machine must have net.inet6.ip6.forwarding mode enabled.
* Internet-facing interface must be promiscuous mode.
* Will automatically proxy ND6 any subnets if the interface
is different from the one receiving the multicast. So e.g.
you can route IPV6 which would otherwise have to be switched.
The subnet interface must currently be different because if it
were the same the solicitation would be directly received by the
target host anyway (being a multicast) and we would compete with
it. This is also a good safety.
Example:
ifconfig igb0 inet6 2999:499:1:555:1::72/80 For DNS
ifconfig igb0 inet6 2999:499:1:555:1::1/80 For subnet default route
ifconfig igb1 inet6 2999:499:1:555::2/80 For internet router
ifconfig igb1 promisc
route add -inet6 default 2999:499:1:555::1
The internet router is doing a terminal /64 block, e.g. it's address
is 2999:499:1:555::1/64, but we want to break the net up further and
route portions of it instead of switch.
Summary of changes:
sys/netinet6/ip6_input.c | 20 +++++--------------
sys/netinet6/nd6_nbr.c | 52 ++++++++++++++++++++++++++++++++++++++----------
2 files changed, 47 insertions(+), 25 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/2a810c210b34f19e4102f4047516d132bdce66a7
--
DragonFly BSD source repository
More information about the Commits
mailing list