[ovs-dev] [PATCH v8 0/4] conntrack: add all-zero SNAT

Ilya Maximets i.maximets at ovn.org
Fri Jul 9 15:01:41 UTC 2021


On 7/9/21 2:40 PM, Dumitru Ceara wrote:
> On 7/9/21 1:25 PM, Ilya Maximets wrote:
>> On 7/6/21 3:02 PM, Paolo Valerio wrote:
>>> 1/4 is a prereq for the series because it fixes an issue that prevents
>>> OVN to use all-zero snat due to the way it builds the pipeline.
>>> The patch 2/4 has been introduced in v6 as a prereq of 3/4.
>>> All the versions up to v6 were about patch 3/4.
>>>
>>> {2,3,4}/4 are untouched, so the acks are kept.
>>>
>>> v8: Fixed indentation.
>>>     Added coverage counter specifying that it can be an indication of
>>>     an error condition, but it could also count valid scenarios.
>>>     Removed unneeded local variable from initial_conn_lookup().
>>>     Rebased the series on top of master and [1].
>>> v7: fixed the multiple ct(commit,[dst|src]) issue spotted by Dumitru
>>>     and adds the ct_get_features callback for userspace datapath
>>>     advertising the availability of all-zero snat.
>>> v6: moved CURSOR_JOIN from cmap.h to util.h and renamed it as OVS_JOIN
>>>     reworked a little FOR_EACH_PORT_IN_RANGE() so that two arguments have
>>>     been removed (one has been masked and the macro uses patch 1/2 to
>>>     generate a unique index name based on __COUNTER__).
>>>     INIT_ATT() has become N_PORT_ATTEMPTS().
>>>     Moved all macros from conntrack.h to conntrack-private.h
>>>     Changed ovs-actions.xml and system-userspace-macros.at according to the
>>>     new version of [1].
>>> v5: added an entry to NEWS, updated ovs-actions.xml removing
>>>     the kernel only exception, improved the range handling in
>>>     case the packet source port is out of the ephemeral range
>>>     (for SNAT without port range and DNAT actions), expanded
>>>     some comment.
>>> v4: no code changes, just restored some removed new line.
>>> v3: replaced NULL with all-zero in the commit message.
>>> v2: enabled NULL SNAT self-test also for userspace.
>>>
>>> Note for the maintainers:
>>> {3,4}/4 depend on [1]
>>>
>>> [1] https://patchwork.ozlabs.org/project/openvswitch/patch/162331699885.2208579.16546865084041166731.stgit@ebuild/
>>>
>>> Paolo Valerio (4):
>>>       conntrack: handle already natted packets
>>>       util.h: add token concatenation macro with argument expansion
>>>       conntrack: handle SNAT with all-zero IP address
>>>       dpif-netdev: add all-zero SNAT to the advertised features of ct
>>>
>>>
>>>  NEWS                             |   3 +
>>>  lib/cmap.h                       |   5 +-
>>>  lib/conntrack-private.h          |  33 +++
>>>  lib/conntrack.c                  | 335 +++++++++++++++++++------------
>>>  lib/dpif-netdev.c                |  12 +-
>>>  lib/ovs-actions.xml              |   3 +-
>>>  lib/util.h                       |   7 +
>>>  tests/system-userspace-macros.at |   8 +-
>>>  8 files changed, 270 insertions(+), 136 deletions(-)
>>>
>>
>> Thanks, everyone!
>>
>> I fixed a few style issues and applied.
>>
>> The first patch seems to be a bug fix.  Do we need to backport it?
>>
> 
> That would be great, thanks!
> 

OK.  I backported the first patch with a bug fix down to 2.13.

Best regards, Ilya Maximets.


More information about the dev mailing list