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

Dumitru Ceara dceara at redhat.com
Fri Jul 9 12:40:54 UTC 2021


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!



More information about the dev mailing list