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

Reply via email to