[ovs-dev] [PATCH v4 2/3] datapath-windows: Implement locking in conntrack NAT.

Anand Kumar kumaranand at vmware.com
Fri Jun 22 17:08:34 UTC 2018


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" <aserdean at cloudbasesolutions.com> wrote:

    > -----Mesaj original-----
    > De la: ovs-dev-bounces at openvswitch.org <ovs-dev-
    > bounces at openvswitch.org> În numele Anand Kumar
    > Trimis: Tuesday, June 19, 2018 8:33 PM
    > Către: dev at openvswitch.org
    > 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 <kumaranand at vmware.com>
    > ---
    > 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 <aserdean at ovn.org>
    



More information about the dev mailing list