1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
AT_SETUP([traffic between namespaces using tap])
AT_KEYWORDS([http_tap])
OVS_TRAFFIC_VSWITCHD_START()
AT_SKIP_IF([test $HAVE_TUNCTL = no])
AT_CHECK([ovs-ofctl add-flow br0 "actions=normal"])
ADD_NAMESPACES(at_ns0, at_ns1)
AT_CHECK([ip tuntap add tap0 mode tap])
on_exit 'ip tuntap del tap0 mode tap'
AT_CHECK([ip tuntap add tap1 mode tap])
on_exit 'ip tuntap del tap1 mode tap'
AT_CHECK([ovs-vsctl add-port br0 tap0 -- set int tap0 type=tap])
AT_CHECK([ovs-vsctl add-port br0 tap1 -- set int tap1 type=tap])
AT_CHECK([ip link set tap0 netns at_ns0])
AT_CHECK([ip link set tap1 netns at_ns1])
AT_CHECK([ip netns exec at_ns0 ip link set dev tap0 up])
AT_CHECK([ip netns exec at_ns1 ip link set dev tap1 up])
AT_CHECK([ip netns exec at_ns0 ip addr add 10.1.1.1/24 dev tap0])
AT_CHECK([ip netns exec at_ns1 ip addr add 10.1.1.2/24 dev tap1])
NS_CHECK_EXEC([at_ns0], [ping -q -c 3 -i 0.3 -W 2 10.1.1.2 | FORMAT_PING], [0], [dnl
3 packets transmitted, 3 received, 0% packet loss, time 0ms
])
OVS_START_L7([at_ns1], [http])
NS_CHECK_EXEC([at_ns0], OVS_GET_HTTP([10.1.1.2]), [0], [ignore], [ignore])
OVS_TRAFFIC_VSWITCHD_STOP(["/.*ethtool command ETHTOOL_G.*/d"])
AT_CLEANUP
|