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

Paolo Valerio pvalerio at redhat.com
Mon Jun 21 10:05:42 UTC 2021

Two more patches has been introduced.

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 are untouched, so the acks are kept.

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:


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(-)

More information about the dev mailing list