Kernel version 3.19, currently in the vivid LTS kernel, includes support for ipvlan. But at its current state it is almost unusable as simply removing an interface with an ip address attached will cause a kernel crash. The fix is already upstream:
https://github.com/torvalds/linux/commit/27705f7085ce2e124fac4c280ce824962cc90bb6
Reproducing this is easy (requires a recent version of iproute2, with support for ipvlan, such as the one in debian/experimental):
ip netns add ns0 ip link add link eth0 ipvl0 type ipvlan mode L3 ip link set dev ipvl0 netns ns0
ip netns exec ns0 bash ip link set dev ipvl0 up ip -4 addr add 192.168.0.10/24 dev ipvl0 ip link del dev ipvl0
The last line will cause a kernel crash, with a calltrace that looks like this:
https://gist.github.com/fabiokung/b360cb2f3bdf2fb36c8b
Can we get the fixes backported to the 3.19 LTS kernel from vivid? Ideally we would like to have the whole patchset backported:
https://github.com/torvalds/linux/commit/d91e9015c78af1dc1f8ac4fdcf6118dbc2401668 and https://github.com/torvalds/linux/commit/8172ba51e257fdd353010cd7caaa37c8bc9eb44a
Kernel version 3.19, currently in the vivid LTS kernel, includes support for ipvlan. But at its current state it is almost unusable as simply removing an interface with an ip address attached will cause a kernel crash. The fix is already upstream:
https:/ /github. com/torvalds/ linux/commit/ 27705f7085ce2e1 24fac4c280ce824 962cc90bb6
Reproducing this is easy (requires a recent version of iproute2, with support for ipvlan, such as the one in debian/ experimental) :
ip netns add ns0
ip link add link eth0 ipvl0 type ipvlan mode L3
ip link set dev ipvl0 netns ns0
ip netns exec ns0 bash
ip link set dev ipvl0 up
ip -4 addr add 192.168.0.10/24 dev ipvl0
ip link del dev ipvl0
The last line will cause a kernel crash, with a calltrace that looks like this:
https:/ /gist.github. com/fabiokung/ b360cb2f3bdf2fb 36c8b
Can we get the fixes backported to the 3.19 LTS kernel from vivid? Ideally we would like to have the whole patchset backported:
https:/ /github. com/torvalds/ linux/commit/ d91e9015c78af1d c1f8ac4fdcf6118 dbc2401668 /github. com/torvalds/ linux/commit/ 8172ba51e257fdd 353010cd7caaa37 c8bc9eb44a
and
https:/