datapath-windows Release lock on HVUpdateNIC
[cascardo/ovs.git] / tests / kmod-macros.at
index b792c0d..5824940 100644 (file)
@@ -9,13 +9,14 @@
 #
 m4_define([OVS_KMOD_VSWITCHD_START],
   [ AT_CHECK([modprobe openvswitch])
+    ON_EXIT([modprobe -r openvswitch])
    _OVS_VSWITCHD_START([])
    dnl Add bridges, ports, etc.
    AT_CHECK([ovs-vsctl -- add-br br0 -- set bridge br0 protocols=[[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15]] fail-mode=secure -- $1 m4_if([$2], [], [], [| ${PERL} $srcdir/uuidfilt.pl])], [0], [$2])
 ])
 #
 #
-# OVS_KMOD_VSWITCHD_STOP([WHITELIST])
+# OVS_KMOD_VSWITCHD_STOP([WHITELIST], [extra_cmds])
 #
 # Gracefully stops ovs-vswitchd and ovsdb-server, checking their log files
 # for messages with severity WARN or higher and signaling an error if any
@@ -23,9 +24,14 @@ m4_define([OVS_KMOD_VSWITCHD_START],
 # commands to delete any warnings that are actually expected, e.g.:
 #
 #   OVS_KMOD_VSWITCHD_STOP(["/expected error/d"])
+#
+# 'extra_cmds' are shell commands to be executed afte OVS_VSWITCHD_STOP() is
+# invoked. They can be used to perform additional cleanups such as name space
+# removal.
 m4_define([OVS_KMOD_VSWITCHD_STOP],
   [AT_CHECK([ovs-vsctl del-br br0])
-   OVS_SWITCHD_STOP([$1])
+   OVS_VSWITCHD_STOP([$1])
+   AT_CHECK([:; $2])
    AT_CHECK([modprobe -r openvswitch])
   ])
 
@@ -35,7 +41,7 @@ m4_define([OVS_KMOD_VSWITCHD_STOP],
 m4_define([DEL_NAMESPACES],
    [m4_foreach([ns], [$@],
                [ip netns del ns
-               ])
+])
    ]
 )
 #
@@ -47,6 +53,7 @@ m4_define([ADD_NAMESPACES],
    [m4_foreach([ns], [$@],
                [DEL_NAMESPACES(ns)
                 AT_CHECK([ip netns add ns])
+                ON_EXIT(DEL_NAMESPACES(ns))
                ])
    ]
 )
@@ -62,9 +69,7 @@ m4_define([ADD_NAMESPACES],
 # The existing 'port' or 'ovs-port' will be removed before new ones are added.
 #
 m4_define([ADD_VETH],
-    [ ovs-vsctl del-port $3 ovs-$1
-      ip netns exec $2 ip link del $1
-      AT_CHECK([ip link add $1 type veth peer name ovs-$1])
+    [ AT_CHECK([ip link add $1 type veth peer name ovs-$1])
       AT_CHECK([ip link set $1 netns $2])
       AT_CHECK([ovs-vsctl add-port $3 ovs-$1])
       AT_CHECK([ip link set dev ovs-$1 up])