Hi Darrell,

I took another look at the series and provided a few comments inline.

Other than those the patches look good to me, but I haven't looked at
every possible corner case :-)

Thanks,

Daniele

2017-03-24 2:15 GMT-07:00 Darrell Ball <dlu...@gmail.com>:
> 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,
> with some added enhancements.
>
> Some NAT options with limited utility (persistent, random) are
> not supported yet, but will be supported in a later patch.
>
> alg and fragmentation support are not included here but are
> being worked on.
>
> 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.
>
> v6->v7: A couple patches were committed.
>
>         Three news patches were added, including new
>         orig tuple context recovery.
>
>         Cleanup residual batch sorting deprecated array.
>
>         Fix ICMP potential issue.
>
>         Add more complete ICMP related handling, originally
>         scoped for another patch series.
>
>         Splice out a few functions for easier maintenance.
>         There will be slight performance hit due to less
>         narrow context.
>
>         Use structure assignment vs memcpy in a few places.
>         Remove unneeded memset.
>         Rate limit a vlog.
>         Remove a couple hand-rolled netlink parsings.
>
> v5->v6: Add releases file NAT alert, as pointed out by Flavio.
>         Add some missing details in commit message in a couple
>         patches as mentioned by Flavio.
>         Flushed the bug queue - found a couple bugs in testing
>         over the last week.
>         a) nat_range_hash was missing the intended conn entry
>            address and port fields :-); I guess missed since the
>            corresponding nat info address and port fields were
>            there.
>         b) The netlink parsing math was off for min/max address
>            in NAT range.
>
> v4->v5: Remove packet sorting in userspace datapath conntrack.
>         Simplify conntrack state code.
>         Fix sparse error.
>         Address code review comments from Daniele.
>
> v3->v4: Fix rev_key vs key for nat_conn_keys access in a couple
>         places; this would have affected cleanup; at same time
>         rename some variables and change nat_conn_keys APIs to
>         use conn key, rather than conn.
>
>         Fix conntrack_flush() CT_CONN_TYPE_DEFAULT flag placement;
>         the intention was that it be the same as in sweep_bucket().
>
>         Fix nat_ipv6_addrs_delta() max boundary checking logic. I
>         also enhanced the conntrack - IPv6 HTTP with NAT test to
>         give it more coverage as partial penance.
>
>         Rebase
>
> 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 (9):
>   dpdk: Parse NAT netlink for userspace datapath.
>   dpdk: Remove batch sorting in userspace conntrack.
>   dpdk: Userspace Datapath: Introduce NAT Support.
>   dpdk: Add more ICMP Related NAT support.
>   dpdk: Add orig tuple context recovery.
>   System Tests: Enhance NAT tests.
>   Add some system test fixes
>   dpdk: Enable NAT tests for userspace datapath.
>   dpdk: Update feature alert documentation.
>
>  Documentation/faq/releases.rst   |    2 +-
>  NEWS                             |    2 +
>  lib/conntrack-private.h          |   25 +-
>  lib/conntrack.c                  | 1033 
> +++++++++++++++++++++++++++++++++-----
>  lib/conntrack.h                  |   76 ++-
>  lib/dpif-netdev.c                |   85 +++-
>  lib/packets.h                    |    7 +
>  tests/atlocal.in                 |    3 +
>  tests/system-traffic.at          |  113 ++++-
>  tests/system-userspace-macros.at |    7 +-
>  tests/test-conntrack.c           |    9 +-
>  11 files changed, 1198 insertions(+), 164 deletions(-)
>
> --
> 1.9.1
>
> _______________________________________________
> dev mailing list
> d...@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to