#
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
# 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])
])
m4_define([DEL_NAMESPACES],
[m4_foreach([ns], [$@],
[ip netns del ns
- ])
+])
]
)
#
[m4_foreach([ns], [$@],
[DEL_NAMESPACES(ns)
AT_CHECK([ip netns add ns])
+ ON_EXIT(DEL_NAMESPACES(ns))
])
]
)
# 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])