[ovs-discuss] Port not deleted from fake bridge if tap is deleted. Works on regular bridge.

Ben Pfaff blp at nicira.com
Fri Sep 9 19:31:37 UTC 2011


On Tue, Aug 30, 2011 at 06:51:45PM -0500, Tyler Coumbes wrote:
> If you add a tap to a fake bridge(br101) and delete the tap without
> removing it from the bridge first ovs does not delete the port.
> If you add a tap to a regular bridge(br0) and delete the tap without
> removing it from the bridge ovs does as expected and deletes the port.

Thank you for the bug report.  I think I see the problem.  Can you
test the following fix for me?  Thank you.

--8<--------------------------cut here-------------------------->8--

>From cf18ce3086472d19699b28e648226ebd23ae987a Mon Sep 17 00:00:00 2001
From: Ben Pfaff <blp at nicira.com>
Date: Fri, 9 Sep 2011 12:29:29 -0700
Subject: [PATCH] ovs-brcompatd: Delete ports when netdevs on fake bridges
 disappear.

Until now, when a network device disappeared, netdev_changed_cb() passed
the name of the bridge that contained the network device to ovs-vsctl as
part of the "del-port" command.  However, when the network device was
actually a "fake bridge", it would pass the name of the real bridge, which
ovs-vsctl rejected as wrong (expecting the name of the fake bridge) and
not remove the port.

This fixes the problem by dropping the bridge name, which is simpler than
trying to get the name of the fake bridge in this case.

Reported-by: Tyler Coumbes <coumbes at gmail.com>
---
 vswitchd/ovs-brcompatd.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/vswitchd/ovs-brcompatd.c b/vswitchd/ovs-brcompatd.c
index 41187b1..bfa13ca 100644
--- a/vswitchd/ovs-brcompatd.c
+++ b/vswitchd/ovs-brcompatd.c
@@ -790,7 +790,7 @@ netdev_changed_cb(const struct rtnetlink_link_change *change,
               port_name, br_name);
 
     run_vsctl(vsctl_program, VSCTL_OPTIONS,
-              "--", "--if-exists", "del-port", br_name, port_name,
+              "--", "--if-exists", "del-port", port_name,
               "--", "comment", "ovs-brcompatd:", port_name, "disappeared",
               (char *) NULL);
 }
-- 
1.7.4.4




More information about the discuss mailing list