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