ipv6: Nonlocal bind
authorTom Herbert <tom@herbertland.com>
Wed, 8 Jul 2015 23:58:22 +0000 (16:58 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 10 Jul 2015 04:09:10 +0000 (21:09 -0700)
commit35a256fee52c7c207796302681fa95189c85b408
treec6f4e37117bfe3423b095e55073d9c2ed337c176
parent5a10ececc60c469d0641531589ccc38a768e0d07
ipv6: Nonlocal bind

Add support to allow non-local binds similar to how this was done for IPv4.
Non-local binds are very useful in emulating the Internet in a box, etc.

This add the ip_nonlocal_bind sysctl under ipv6.

Testing:

Set up nonlocal binding and receive routing on a host, e.g.:

ip -6 rule add from ::/0 iif eth0 lookup 200
ip -6 route add local 2001:0:0:1::/64 dev lo proto kernel scope host table 200
sysctl -w net.ipv6.ip_nonlocal_bind=1

Set up routing to 2001:0:0:1::/64 on peer to go to first host

ping6 -I 2001:0:0:1::1 peer-address -- to verify

Signed-off-by: Tom Herbert <tom@herbertland.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Documentation/networking/ip-sysctl.txt
include/net/netns/ipv6.h
net/ipv4/ping.c
net/ipv6/af_inet6.c
net/ipv6/raw.c
net/ipv6/sysctl_net_ipv6.c