mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 11:41:38 -04:00
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 <[email protected]> Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
parent
5a10ececc6
commit
35a256fee5
6 changed files with 20 additions and 3 deletions
|
|
@ -363,7 +363,8 @@ static int ping_check_bind_addr(struct sock *sk, struct inet_sock *isk,
|
|||
scoped);
|
||||
rcu_read_unlock();
|
||||
|
||||
if (!(isk->freebind || isk->transparent || has_addr ||
|
||||
if (!(net->ipv6.sysctl.ip_nonlocal_bind ||
|
||||
isk->freebind || isk->transparent || has_addr ||
|
||||
addr_type == IPV6_ADDR_ANY))
|
||||
return -EADDRNOTAVAIL;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue