[ovs-dev] [PATCHv2 4/5] system-macros: Don't explicitly remove bridge.

Joe Stringer joestringer at nicira.com
Wed Aug 12 21:01:29 UTC 2015


Depending on the kernel in use, manually removing a bridge during
OVS_VSWITCHD_STOP can cause the kernel to send a route update that
refers to the bridge device which is being deleted. OVS can't make sense
of these messages, resulting in logs like the following:

route_table|DBG|Could not find interface name[702]: No such device or
address
netlink_notifier|WARN|received bad netlink message

One such example kernel is the Ubuntu 3.16.0-33-generic linux package.

The bridge doesn't need to be explicitly removed, as the OVSDB
configuration for each test will be cleared before executing the next.
Drop this extra step.

Signed-off-by: Joe Stringer <joestringer at nicira.com>
---
An alternative would be to force test writers to add additional
boilerplate to ensure that they delete addresses from bridges before
calling OVS_VSWITCHD_STOP. This approach seems to be lower maintenance.
---
 tests/system-kmod-macros.at      | 3 +--
 tests/system-userspace-macros.at | 3 +--
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/tests/system-kmod-macros.at b/tests/system-kmod-macros.at
index a5aa5db..2e2bf4e 100644
--- a/tests/system-kmod-macros.at
+++ b/tests/system-kmod-macros.at
@@ -34,7 +34,6 @@ m4_define([OVS_TRAFFIC_VSWITCHD_START],
 # invoked. They can be used to perform additional cleanups such as name space
 # removal.
 m4_define([OVS_TRAFFIC_VSWITCHD_STOP],
-  [AT_CHECK([ovs-vsctl del-br br0])
-   OVS_VSWITCHD_STOP([$1])
+  [OVS_VSWITCHD_STOP([$1])
    AT_CHECK([:; $2])
   ])
diff --git a/tests/system-userspace-macros.at b/tests/system-userspace-macros.at
index adc40c4..fca26f7 100644
--- a/tests/system-userspace-macros.at
+++ b/tests/system-userspace-macros.at
@@ -32,8 +32,7 @@ m4_define([OVS_TRAFFIC_VSWITCHD_START],
 # invoked. They can be used to perform additional cleanups such as name space
 # removal.
 m4_define([OVS_TRAFFIC_VSWITCHD_STOP],
-  [AT_CHECK([ovs-vsctl del-br br0])
-   OVS_VSWITCHD_STOP([dnl
+  [OVS_VSWITCHD_STOP([dnl
 "/netdev_linux.*obtaining netdev stats via vport failed/d
 /dpif_netlink.*Generic Netlink family 'ovs_datapath' does not exist. The Open vSwitch kernel module is probably not loaded./d"])
    AT_CHECK([:; $2])
-- 
2.1.4




More information about the dev mailing list