[ovs-dev] [patch_v3 0/5] Userspace Datapath: introduce NAT support.

Darrell Ball dlu998 at gmail.com
Tue Jan 24 18:50:33 UTC 2017


This patch series introduces NAT support for the userspace datapath.

The per packet scope of lookups for NAT and un_NAT is at
the bucket level rather than global. One hash table is 
introduced to support create/delete handling. The create/delete
events may be further optimized, if the need becomes clear.

The existing NAT tests are enabled for the dpdk datapath,
although additional tests will be done.

Some NAT options with limited utility (persistent, random) are
not supported yet, but will be supported in a later patch.

One V6 api is exported to facilitate selective editing the V6
header - packet_set_ipv6_addr().

alg and fragmentation support are not included here but are
being worked on.

NEWS is not updated in this series yet, until confirmation of
release.

I realize patch 3 is big. It may be clearer and easier to keep
as a single patch, so I have done that after some discussion.

v2->v3: Fix a theoretical resend for closed connection restart.
        Parse out a function to help and also limit
        conn_state_update() to one.

        I decided to cap V6 address range delta at 4 billion using
        internal adjustment (user visibility not required).

        Some cleanup of deprecated code path.

        Parse out some more changes as separate patches.
         
v1->v2: Updates/fixes that were missed in v1 patches.

Darrell Ball (5):
  Export packet_set_ipv6_addr() fordpdkdatapath.
  Parse NAT netlink for userspace datapath.
  Userspace Datapath Conntrack: Introduce NAT support.
  unset CS_NEW for established connections
  Enable NAT tests for userspace datapath.

 lib/conntrack-private.h          |  25 +-
 lib/conntrack.c                  | 742 ++++++++++++++++++++++++++++++++++-----
 lib/conntrack.h                  |  73 +++-
 lib/dpif-netdev.c                |  85 ++++-
 lib/packets.c                    |   2 +-
 lib/packets.h                    |   4 +
 tests/system-userspace-macros.at |   7 +-
 tests/test-conntrack.c           |   8 +-
 8 files changed, 839 insertions(+), 107 deletions(-)

-- 
1.9.1



More information about the dev mailing list