diff options
author | Eelco Chaudron <echaudro@redhat.com> | 2021-06-10 11:24:15 +0200 |
---|---|---|
committer | Ilya Maximets <i.maximets@ovn.org> | 2021-07-08 21:19:14 +0200 |
commit | e6ad4d8d9c9273f226ec9a993b64fccfb50bdf4c (patch) | |
tree | 230b18e5fbc47aa8367f6b2f0bd24993e77747c0 /vswitchd | |
parent | 355fef6f2ccbcf78797b938421cb4cef9b59af13 (diff) | |
download | openvswitch-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 'vswitchd')
-rw-r--r-- | vswitchd/vswitch.xml | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml index 3522b2497..e8c0b02ef 100644 --- a/vswitchd/vswitch.xml +++ b/vswitchd/vswitch.xml @@ -6181,6 +6181,15 @@ ovs-vsctl add-port br0 p0 -- set Interface p0 type=patch options:peer=p1 \ True if the datapath supports OVS_ACTION_ATTR_DROP. If false, explicit drop action will not be sent to the datapath. </column> + <column name="capabilities" key="ct_zero_snat" + type='{"type": "boolean"}'> + True if the datapath supports all-zero SNAT. This is a special case + if the <code>src</code> IP address is configured as all 0's, i.e., + <code>nat(src=0.0.0.0)</code>. In this case, 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. + </column> </group> <group title="Common Columns"> |