This is a change introduced in Linux 4.1. It's easy to detect, so,
workaround it. See:
commit
a45253bf32bf49cdb2807bad212b84f5ab51ac26
Author: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Date: Thu Apr 2 17:07:11 2015 +0200
veth: set iflink to the peer veth
Now that the peer netns is advertised in rtnl messages, we can set this property
so that IFLA_LINK will advertise the peer ifindex. It allows the userland to get
the full veth configuration.
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
if (iface1->lower_idx != -1 && iface1->lower_idx != iface1->index)
TAILQ_FOREACH(iface2, ifs, next) {
if (iface1->lower_idx == iface2->index) {
- iface1->lower = iface2;
+ if (iface2->lower_idx == iface1->index) {
+ /* Workaround a bug introduced in Linux 4.1 */
+ iface2->lower_idx = iface2->index;
+ iface1->lower_idx = iface1->index;
+ } else iface1->lower = iface2;
break;
}
}