diff mbox

[ovs-dev,v2,1/5] check-kernel: Add macros to check for and test 802.1ad.

Message ID 1470151239-8054-2-git-send-email-e@erig.me
State Superseded
Headers show

Commit Message

Eric Garver Aug. 2, 2016, 3:20 p.m. UTC
Add macros OVS_CHECK_8021AD(), ADD_SVLAN() and ADD_CVLAN().

Signed-off-by: Eric Garver <e@erig.me>
---
 tests/system-common-macros.at | 30 +++++++++++++++++++++++++++++-
 1 file changed, 29 insertions(+), 1 deletion(-)
diff mbox

Patch

diff --git a/tests/system-common-macros.at b/tests/system-common-macros.at
index 4ffc3822a4d3..9b17c3eb9d71 100644
--- a/tests/system-common-macros.at
+++ b/tests/system-common-macros.at
@@ -93,12 +93,34 @@  m4_define([ADD_VETH],
 # Add a VLAN device named 'port' within 'namespace'. It will be configured
 # with the ID 'vlan-id' and the address 'ip-addr'.
 m4_define([ADD_VLAN],
-    [ NS_CHECK_EXEC([$2], [ip link add link $1 name $1.$3 type vlan id $3])
+    [ NS_CHECK_EXEC([$2], [ip link add link $1 name $1.$3 type vlan proto 802.1q id $3])
       NS_CHECK_EXEC([$2], [ip link set dev $1.$3 up])
       NS_CHECK_EXEC([$2], [ip addr add dev $1.$3 $4])
     ]
 )
 
+# ADD_SVLAN([port], [namespace], [vlan-id], [ip-addr])
+#
+# Add a SVLAN device named 'port' within 'namespace'. It will be configured
+# with the ID 'vlan-id' and the address 'ip-addr'.
+m4_define([ADD_SVLAN],
+    [ NS_CHECK_EXEC([$2], [ip link add link $1 name $1.$3 type vlan proto 802.1ad id $3])
+      NS_CHECK_EXEC([$2], [ip link set dev $1.$3 up])
+      NS_CHECK_EXEC([$2], [ip addr add dev $1.$3 $4])
+    ]
+)
+
+# ADD_CVLAN([port], [namespace], [vlan-id], [ip-addr])
+#
+# Similar to ADD_VLAN(), but sets MTU. Lower MTU here instead of increase MTU
+# on bridge/SVLAN because older kernels didn't work.
+#
+m4_define([ADD_CVLAN],
+    [ ADD_VLAN([$1], [$2], [$3], [$4])
+      NS_CHECK_EXEC([$2], [ip link set $1.$3 mtu 1496])
+    ]
+)
+
 # ADD_OVS_TUNNEL([type], [bridge], [port], [remote-addr], [overlay-addr])
 #
 # Add an ovs-based tunnel device in the root namespace, with name 'port' and
@@ -175,3 +197,9 @@  m4_define([OVS_CHECK_GRE],
 # OVS_CHECK_GENEVE()
 m4_define([OVS_CHECK_GENEVE],
     [AT_SKIP_IF([! ip link add foo type geneve help 2>&1 | grep geneve >/dev/null])])
+
+# OVS_CHECK_8021AD()
+m4_define([OVS_CHECK_8021AD],
+    [AT_SKIP_IF([! grep "VLAN label stack" ovs-vswitchd.log])
+     AT_SKIP_IF([test `sed -n 's/.*VLAN label stack length probed as \(\d*\)/\1/p' ovs-vswitchd.log` -lt 2])
+	])