When ovs cleans up unused vlan sub interfaces created by vlan splinter feature, it will not touch interface that has ip address assigned. However, the get_in6() function implemented in netdev-linux module is buggy and always returns 0 (found ipv6 address). This causes the vlan splinter created sub interfaces never being removed.
Since vlan splinter check is the only user of get_in6 function and there is no known use case of vlan interface with ipv6 address, we can simply remove the call of get_in6() function in vlan splinter check. VMware-BZ: #1485521 Reported-by: Ronald Lee <ronald...@vmware.com> Signed-off-by: Alex Wang <al...@nicira.com> --- vswitchd/bridge.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c index 6cd30b8..5b13679 100644 --- a/vswitchd/bridge.c +++ b/vswitchd/bridge.c @@ -4155,8 +4155,7 @@ collect_splinter_vlans(const struct ovsrec_open_vswitch *ovs_cfg) struct netdev *netdev; if (!netdev_open(vlan_dev->name, "system", &netdev)) { - if (!netdev_get_in4(netdev, NULL, NULL) || - !netdev_get_in6(netdev, NULL)) { + if (!netdev_get_in4(netdev, NULL, NULL)) { /* It has an IP address configured, so we don't own * it. Don't delete it. */ } else { -- 1.7.9.5 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev