Andre Tomt wrote:
(CC'ed to netdev)
<snip>
I can taste the bug now :-)
Me and Thomas Graf have been discussing this a bit off-list; so for
those on netdev, this is my current setup:
server A sets up a sit tunnel to server B. server B has a sit tunnel to
Provider. All communication between A, B and Provider is going over
ethernet on the physical layer.
server B is the one getting stuck in "waiting for <device> to become
free.." when ifdown'ing (ip tunnel del) the interface to Provider.
If I boot with net.ipv6.conf.default.forward = 1 in sysctl.conf - but
then after the boot do echo 1 > /proc/sys/net/ipv6/conf/all/forward (to
actually get it running)
we'll crash and burn when taking down the interface.
Only setting /proc/sys/net/ipv6/conf/all/forward = 1, but never touch
default, it goes down cleanly.
I have the ipv6/conf/default/forwarding set in sysctl.conf on all the
routers, and it seems zebra sets the ipv6/conf/all/forwarding later on.
Possibly important note:
if I set up both conf.all and conf.default (order does not matter)
before the tunnel devices are created, everything works as expected.
eg. in sysctl.conf:
net.ipv6.conf.default.forwarding=1
net.ipv6.conf.all.forwarding=1
if default is set first, then tunnels created, followed by setting
"all"; everything breaks down on ifdown.
pretty neat :)
|