Signed-off-by: Darrell Ball <dlu...@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 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev