android_kernel_oneplus_msm8998/net
Michal Schmidt 5533995b62 [IPIP]: Allow rebinding the tunnel to another interface
Once created, an IP tunnel can't be bound to another device.
(reported as https://bugzilla.redhat.com/show_bug.cgi?id=419671)

To reproduce:

# create a tunnel:
ip tunnel add tunneltest0 mode ipip remote 10.0.0.1 dev eth0
# try to change the bounding device from eth0 to eth1:
ip tunnel change tunneltest0 dev eth1
# show the result:
ip tunnel show tunneltest0

tunneltest0: ip/ip  remote 10.0.0.1  local any  dev eth0  ttl inherit

Notice the bound device has not changed from eth0 to eth1.

This patch fixes it. When changing the binding, it also recalculates the
MTU according to the new bound device's MTU.

If the change is acceptable, I'll do the same for GRE and SIT tunnels.

Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-01-28 14:57:25 -08:00
..
9p
802 [TR]: Use ctl paths to register net/token-ring/ table 2008-01-28 14:56:28 -08:00
8021q
appletalk
atm [NET]: Name magic constants in sock_wake_async() 2008-01-28 14:55:03 -08:00
ax25
bluetooth
bridge [NETFILTER]: Mark hooks __read_mostly 2008-01-28 14:56:07 -08:00
can [CAN]: Add virtual CAN netdevice driver 2008-01-28 14:54:12 -08:00
core [NETNS]: network namespace was passed into dev_getbyhwaddr but not used 2008-01-28 14:57:24 -08:00
dccp [TFRC]: Remove previous loss intervals implementation 2008-01-28 14:57:20 -08:00
decnet [NETFILTER]: Mark hooks __read_mostly 2008-01-28 14:56:07 -08:00
econet
ethernet
ieee80211 softmac: mark as obsolete and schedule for removal 2008-01-28 14:55:36 -08:00
ipv4 [IPIP]: Allow rebinding the tunnel to another interface 2008-01-28 14:57:25 -08:00
ipv6 [IPSEC]: Add ICMP host relookup support 2008-01-28 14:57:23 -08:00
ipx
irda
iucv [IUCV]: use LIST_HEAD instead of LIST_HEAD_INIT 2008-01-28 14:56:54 -08:00
key
lapb [LAPB] net/lapb/lapb_iface.c: use LIST_HEAD instead of LIST_HEAD_INIT 2008-01-28 14:56:52 -08:00
llc
mac80211 mac80211: remove "bcn_int" and "capab" scan results info 2008-01-28 14:55:34 -08:00
netfilter [NETFILTER]: Select CONFIG_NETFILTER_NETLINK when needed 2008-01-28 14:56:25 -08:00
netlabel
netlink [NETLINK]: kzalloc() conversion 2008-01-28 14:57:06 -08:00
netrom
packet [NETNS]: separate af_packet netns data 2008-01-28 14:57:15 -08:00
rfkill
rose
rxrpc [UDP]: Restore missing inDatagrams increments 2008-01-28 14:56:33 -08:00
sched [NETFILTER]: Mark hooks __read_mostly 2008-01-28 14:56:07 -08:00
sctp [NET]: Name magic constants in sock_wake_async() 2008-01-28 14:55:03 -08:00
sunrpc [UDP]: Restore missing inDatagrams increments 2008-01-28 14:56:33 -08:00
tipc
unix [NETNS]: struct net content re-work (v3) 2008-01-28 14:57:14 -08:00
wanrouter
wireless [NET]: Consolidate net namespace related proc files creation. 2008-01-28 14:54:28 -08:00
x25 [X25]: use LIST_HEAD instead of LIST_HEAD_INIT 2008-01-28 14:56:53 -08:00
xfrm [IPSEC]: Add ICMP host relookup support 2008-01-28 14:57:23 -08:00
compat.c [NETFILTER]: Introduce NF_INET_ hook values 2008-01-28 14:53:55 -08:00
Kconfig [CAN]: Add PF_CAN core module 2008-01-28 14:54:10 -08:00
Makefile [CAN]: Add PF_CAN core module 2008-01-28 14:54:10 -08:00
nonet.c
socket.c [NET] sysctl: make sysctl_somaxconn per-namespace 2008-01-28 14:56:57 -08:00
sysctl_net.c [NET]: Remove the empty net_table 2008-01-28 14:56:29 -08:00
TUNABLE