summaryrefslogtreecommitdiff
path: root/tests/system-kmod-macros.at
diff options
context:
space:
mode:
authorEelco Chaudron <echaudro@redhat.com>2021-06-10 11:24:15 +0200
committerIlya Maximets <i.maximets@ovn.org>2021-07-08 21:19:14 +0200
commite6ad4d8d9c9273f226ec9a993b64fccfb50bdf4c (patch)
tree230b18e5fbc47aa8367f6b2f0bd24993e77747c0 /tests/system-kmod-macros.at
parent355fef6f2ccbcf78797b938421cb4cef9b59af13 (diff)
downloadopenvswitch-e6ad4d8d9c9273f226ec9a993b64fccfb50bdf4c.tar.gz
conntrack: Document all-zero IP SNAT behavior and add a test case.
Currently, conntrack in the kernel has an undocumented feature referred to as all-zero IP address SNAT. Basically, when a source port collision is detected during the commit, the source port will be translated to an ephemeral port. If there is no collision, no SNAT is performed. This patchset documents this behavior and adds a self-test to verify it's not changing. In addition, a datapath feature flag is added for the all-zero IP SNAT case. This will help applications on top of OVS, like OVN, to determine this feature can be used. Signed-off-by: Eelco Chaudron <echaudro@redhat.com> Acked-by: Aaron Conole <aconole@redhat.com> Acked-by: Dumitru Ceara <dceara@redhat.com> Acked-by: Alin-Gabriel Serdean <aserdean@ovn.org> Acked-by: Paolo Valerio <pvalerio@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
Diffstat (limited to 'tests/system-kmod-macros.at')
-rw-r--r--tests/system-kmod-macros.at11
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/system-kmod-macros.at b/tests/system-kmod-macros.at
index 15628a7c6..86d633ac4 100644
--- a/tests/system-kmod-macros.at
+++ b/tests/system-kmod-macros.at
@@ -99,6 +99,17 @@ m4_define([CHECK_CONNTRACK_FRAG_OVERLAP],
#
m4_define([CHECK_CONNTRACK_NAT])
+# CHECK_CONNTRACK_ZEROIP_SNAT()
+#
+# Perform requirements checks for running conntrack all-zero IP SNAT tests.
+# The kernel always supports all-zero IP SNAT, so no check is needed.
+# However, the Windows datapath using the same netlink interface does not.
+#
+m4_define([CHECK_CONNTRACK_ZEROIP_SNAT],
+[
+ AT_SKIP_IF([test "$IS_WIN32" = "yes"])
+])
+
# CHECK_CONNTRACK_TIMEOUT()
#
# Perform requirements checks for running conntrack customized timeout tests.