[ovs-dev] [patch v1 9/9] tests: Enable v4 fragmentation tests for userspace datapath.
Darrell Ball
dlu998 at gmail.com
Wed Jan 24 19:22:35 UTC 2018
Enable v4 fragmentation tests for the userspace datapath.
Signed-off-by: Darrell Ball <dlu998 at gmail.com>
---
tests/system-kmod-macros.at | 14 +++++++++++---
tests/system-traffic.at | 27 +++++++++++++++++----------
tests/system-userspace-macros.at | 36 ++++++++++++++++++++++++++++++++----
3 files changed, 60 insertions(+), 17 deletions(-)
diff --git a/tests/system-kmod-macros.at b/tests/system-kmod-macros.at
index 12b0adf..75f3c46 100644
--- a/tests/system-kmod-macros.at
+++ b/tests/system-kmod-macros.at
@@ -76,11 +76,11 @@ m4_define([CHECK_CONNTRACK],
#
m4_define([CHECK_CONNTRACK_ALG])
-# CHECK_CONNTRACK_FRAG()
+# CHECK_CONNTRACK_FRAG_V6()
#
-# Perform requirements checks for running conntrack fragmentations tests.
+# Perform requirements checks for running V6 conntrack fragmentations tests.
# The kernel always supports fragmentation, so no check is needed.
-m4_define([CHECK_CONNTRACK_FRAG])
+m4_define([CHECK_CONNTRACK_FRAG_V6])
# CHECK_CONNTRACK_LOCAL_STACK()
#
@@ -123,3 +123,11 @@ m4_define([CHECK_CT_DPIF_GET_NCONNS],
[
AT_SKIP_IF([:])
])
+
+# DPCTL_ENABLE_FRAGMENTATION()
+#
+# The kernel does not support this command.
+m4_define([DPCTL_ENABLE_FRAGMENTATION],
+[
+
+])
diff --git a/tests/system-traffic.at b/tests/system-traffic.at
index aee7391..11bea11 100644
--- a/tests/system-traffic.at
+++ b/tests/system-traffic.at
@@ -1759,7 +1759,6 @@ AT_CLEANUP
AT_SETUP([conntrack - IPv4 fragmentation])
CHECK_CONNTRACK()
-CHECK_CONNTRACK_FRAG()
OVS_TRAFFIC_VSWITCHD_START()
ADD_NAMESPACES(at_ns0, at_ns1)
@@ -1778,6 +1777,9 @@ priority=100,in_port=2,ct_state=+trk+est-new,icmp,action=1
AT_CHECK([ovs-ofctl --bundle add-flows br0 flows.txt])
+dnl Enable userspace conntrack fragmentation handling.
+DPCTL_ENABLE_FRAGMENTATION()
+
dnl Ipv4 fragmentation connectivity check.
NS_CHECK_EXEC([at_ns0], [ping -s 1600 -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
@@ -1793,7 +1795,6 @@ AT_CLEANUP
AT_SETUP([conntrack - IPv4 fragmentation expiry])
CHECK_CONNTRACK()
-CHECK_CONNTRACK_FRAG()
OVS_TRAFFIC_VSWITCHD_START()
ADD_NAMESPACES(at_ns0, at_ns1)
@@ -1814,6 +1815,9 @@ priority=100,in_port=2,ct_state=+trk+est-new,icmp,action=1
AT_CHECK([ovs-ofctl --bundle add-flows br0 flows.txt])
+dnl Enable userspace conntrack fragmentation handling.
+DPCTL_ENABLE_FRAGMENTATION()
+
dnl Ipv4 fragmentation connectivity check.
NS_CHECK_EXEC([at_ns0], [ping -s 1600 -q -c 1 -i 0.3 -w 2 10.1.1.2 | FORMAT_PING], [0], [dnl
7 packets transmitted, 0 received, 100% packet loss, time 0ms
@@ -1824,7 +1828,6 @@ AT_CLEANUP
AT_SETUP([conntrack - IPv4 fragmentation + vlan])
CHECK_CONNTRACK()
-CHECK_CONNTRACK_FRAG()
OVS_TRAFFIC_VSWITCHD_START()
ADD_NAMESPACES(at_ns0, at_ns1)
@@ -1845,6 +1848,9 @@ priority=100,in_port=2,ct_state=+trk+est-new,icmp,action=1
AT_CHECK([ovs-ofctl --bundle add-flows br0 flows.txt])
+dnl Enable userspace conntrack fragmentation handling.
+DPCTL_ENABLE_FRAGMENTATION()
+
dnl Ipv4 fragmentation connectivity check.
NS_CHECK_EXEC([at_ns0], [ping -s 1600 -q -c 3 -i 0.3 -w 2 10.2.2.2 | FORMAT_PING], [0], [dnl
3 packets transmitted, 3 received, 0% packet loss, time 0ms
@@ -1860,7 +1866,6 @@ AT_CLEANUP
AT_SETUP([conntrack - IPv4 fragmentation + cvlan])
CHECK_CONNTRACK()
-CHECK_CONNTRACK_FRAG()
OVS_TRAFFIC_VSWITCHD_START([set Open_vSwitch . other_config:vlan-limit=0])
OVS_CHECK_8021AD()
@@ -1888,6 +1893,9 @@ AT_CHECK([ovs-ofctl --bundle add-flows br0 flows.txt])
OVS_WAIT_UNTIL([ip netns exec at_ns0 ping -c 1 10.2.2.2])
+dnl Enable userspace conntrack fragmentation handling.
+DPCTL_ENABLE_FRAGMENTATION()
+
dnl Ipv4 fragmentation connectivity check.
NS_CHECK_EXEC([at_ns0], [ping -s 1600 -q -c 3 -i 0.3 -w 2 10.2.2.2 | FORMAT_PING], [0], [dnl
3 packets transmitted, 3 received, 0% packet loss, time 0ms
@@ -1913,7 +1921,7 @@ AT_CLEANUP
AT_SETUP([conntrack - IPv6 fragmentation])
CHECK_CONNTRACK()
-CHECK_CONNTRACK_FRAG()
+CHECK_CONNTRACK_FRAG_V6()
OVS_TRAFFIC_VSWITCHD_START()
ADD_NAMESPACES(at_ns0, at_ns1)
@@ -1953,7 +1961,7 @@ AT_CLEANUP
AT_SETUP([conntrack - IPv6 fragmentation expiry])
CHECK_CONNTRACK()
-CHECK_CONNTRACK_FRAG()
+CHECK_CONNTRACK_FRAG_V6()
OVS_TRAFFIC_VSWITCHD_START()
ADD_NAMESPACES(at_ns0, at_ns1)
@@ -1994,7 +2002,7 @@ AT_CLEANUP
AT_SETUP([conntrack - IPv6 fragmentation + vlan])
CHECK_CONNTRACK()
-CHECK_CONNTRACK_FRAG()
+CHECK_CONNTRACK_FRAG_V6()
OVS_TRAFFIC_VSWITCHD_START()
ADD_NAMESPACES(at_ns0, at_ns1)
@@ -2037,7 +2045,7 @@ AT_CLEANUP
AT_SETUP([conntrack - IPv6 fragmentation + cvlan])
CHECK_CONNTRACK()
-CHECK_CONNTRACK_FRAG()
+CHECK_CONNTRACK_FRAG_V6()
OVS_TRAFFIC_VSWITCHD_START([set Open_vSwitch . other_config:vlan-limit=0])
OVS_CHECK_8021AD()
@@ -2092,7 +2100,6 @@ AT_CLEANUP
AT_SETUP([conntrack - Fragmentation over vxlan])
OVS_CHECK_VXLAN()
CHECK_CONNTRACK()
-CHECK_CONNTRACK_FRAG()
CHECK_CONNTRACK_LOCAL_STACK()
OVS_TRAFFIC_VSWITCHD_START()
@@ -2145,7 +2152,7 @@ AT_CLEANUP
AT_SETUP([conntrack - IPv6 Fragmentation over vxlan])
OVS_CHECK_VXLAN()
CHECK_CONNTRACK()
-CHECK_CONNTRACK_FRAG()
+CHECK_CONNTRACK_FRAG_V6()
OVS_TRAFFIC_VSWITCHD_START()
ADD_BR([br-underlay])
diff --git a/tests/system-userspace-macros.at b/tests/system-userspace-macros.at
index 20a8635..a934d13 100644
--- a/tests/system-userspace-macros.at
+++ b/tests/system-userspace-macros.at
@@ -73,11 +73,11 @@ m4_define([CHECK_CONNTRACK],
#
m4_define([CHECK_CONNTRACK_ALG])
-# CHECK_CONNTRACK_FRAG()
+# CHECK_CONNTRACK_FRAG_V6()
#
-# Perform requirements checks for running conntrack fragmentations tests.
-# The userspace doesn't support fragmentation yet, so skip the tests.
-m4_define([CHECK_CONNTRACK_FRAG],
+# Perform requirements checks for running V6 conntrack fragmentations tests.
+# The userspace doesn't support V6 fragmentation yet, so skip the tests.
+m4_define([CHECK_CONNTRACK_FRAG_V6],
[
AT_SKIP_IF([:])
])
@@ -121,3 +121,31 @@ m4_define([CHECK_CT_DPIF_SET_GET_MAXCONNS])
# Perform requirements checks for running ovs-dpctl ct-get-nconns. The
# userspace datapath does support this feature.
m4_define([CHECK_CT_DPIF_GET_NCONNS])
+
+# DPCTL_ENABLE_FRAGMENTATION()
+#
+# The userspace datapath supports this command and needs it to enable
+# fragmentation handling.
+m4_define([DPCTL_ENABLE_FRAGMENTATION],
+[
+AT_CHECK([ovs-appctl dpctl/ipf-set-enabled 1], [], [dnl
+changing fragmentation enabled successful
+])
+AT_CHECK([ovs-appctl dpctl/ipf-set-minfragment 1111], [], [dnl
+setting minimum fragment size successful
+])
+AT_CHECK([ovs-appctl dpctl/ipf-set-maxfrags 500], [], [dnl
+setting maximum fragments successful
+])
+AT_CHECK([ovs-appctl dpctl/ipf-get-status], [], [dnl
+ enabled: 1
+ min frag size: 1111
+ max num frags: 500
+ num frag: 0
+ frags accepted: 0
+ frags completed: 0
+ frags expired: 0
+ frags too small: 0
+ frags overlapped: 0
+])
+])
--
1.9.1
More information about the dev
mailing list