[IP_GRE]: Rebinding of GRE tunnels to other interfaces
authorMichal Schmidt <mschmidt@redhat.com>
Thu, 13 Dec 2007 17:46:32 +0000 (09:46 -0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Jan 2008 22:57:56 +0000 (14:57 -0800)
commitee34c1eb35923cc98b1c47488a615bf51a2a2afb
tree882a6b0d4645e1d070a2474f227d5e341339ef25
parent528c4ceb427dad4a3893ba3d1913782efae0cd0e
[IP_GRE]: Rebinding of GRE tunnels to other interfaces

This is similar to the change already done for IPIP tunnels.

Once created, a GRE tunnel can't be bound to another device.
To reproduce:

# create a tunnel:
ip tunnel add tunneltest0 mode gre 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: gre/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.

Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/ip_gre.c