Hi Alin, Thanks for reviewing the patch series. I will send out a v5 to address this issue and retain the acks.
Thanks, Anand Kumar On 6/22/18, 7:18 AM, "Alin Serdean" <[email protected]> wrote: > -----Mesaj original----- > De la: [email protected] <ovs-dev- > [email protected]> În numele Anand Kumar > Trimis: Tuesday, June 19, 2018 8:33 PM > Către: [email protected] > Subiect: [ovs-dev] [PATCH v4 2/3] datapath-windows: Implement locking in > conntrack NAT. > > This patch primarily replaces existing ndis RWlock based implementaion for > NAT in conntrack with a spinlock based implementation inside NAT, module > along with some conntrack optimization. > > - The 'ovsNatTable' and 'ovsUnNatTable' tables are shared > between cleanup threads and packet processing thread. > In order to protect these two tables use a spinlock. > Also introduce counters to track number of nat entries. > - Introduce a new function OvsGetTcpHeader() to retrieve TCP header > and payload length, to optimize for TCP traffic. > - Optimize conntrack look up. > - Remove 'bucketlockRef' member from conntrack entry structure. > > Testing: > Verified loading/unloading the driver with driver verified enabled. > Ran TCP/UDP and ICMP traffic. > > Signed-off-by: Anand Kumar <[email protected]> > --- > v1->v2: Merge patch 2 and 3 so that NAT locks related changes are in a > single patch. > v2->v3: No change > v3->v4: No change > --- > datapath-windows/ovsext/Conntrack-ftp.c | 4 +- > datapath-windows/ovsext/Conntrack-nat.c | 27 +++++++- datapath- > windows/ovsext/Conntrack-tcp.c | 15 ++--- > datapath-windows/ovsext/Conntrack.c | 110 +++++++++++++-------------- > ----- > datapath-windows/ovsext/Conntrack.h | 36 +++++++---- > 5 files changed, 100 insertions(+), 92 deletions(-) > Can you please fold in the following: diff --git a/datapath-windows/ovsext/Conntrack-nat.c b/datapath-windows/ovsext/Conntrack-nat.c index 11057e6ed..559a7f689 100644 --- a/datapath-windows/ovsext/Conntrack-nat.c +++ b/datapath-windows/ovsext/Conntrack-nat.c @@ -151,7 +151,8 @@ VOID OvsNatFlush(UINT16 zone) VOID OvsNatCleanup() { if (ovsNatTable == NULL) { - return; + NdisFreeSpinLock(&ovsCtNatLock); + return; } NdisAcquireSpinLock(&ovsCtNatLock); The rest looks good. Acked-by: Alin Gabriel Serdean <[email protected]> _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
