[{"id":1753301,"web_url":"http://patchwork.ozlabs.org/comment/1753301/","msgid":"<31F2C811-12D1-4A3E-B6F3-D24658BA7024@vmware.com>","list_archive_url":null,"date":"2017-08-21T21:52:51","subject":"Re: [ovs-dev] [PATCH] datapath-windows: Move\n\tOvsCreateNewNBLsFromMultipleNBs to BuggerMgmt","submitter":{"id":69801,"url":"http://patchwork.ozlabs.org/api/people/69801/","name":"Anand Kumar","email":"kumaranand@vmware.com"},"content":"Acked-by: Anand Kumar <kumaranand@vmware.com>\n\nThanks,\nAnand Kumar\n\nOn 8/21/17, 2:45 PM, \"ovs-dev-bounces@openvswitch.org on behalf of Shashank Ram\" <ovs-dev-bounces@openvswitch.org on behalf of rams@vmware.com> wrote:\n\n    Moves function OvsCreateNewNBLsFromMultipleNBs() to BufferMgmt.c\n    to facilitate consumption from outside PacketIO.c.\n    \n    Signed-off-by: Shashank Ram <rams@vmware.com>\n    ---\n     datapath-windows/ovsext/BufferMgmt.c | 47 ++++++++++++++++++++++++++++++++++++\n     datapath-windows/ovsext/BufferMgmt.h |  4 +++\n     datapath-windows/ovsext/PacketIO.c   | 42 --------------------------------\n     3 files changed, 51 insertions(+), 42 deletions(-)\n    \n    diff --git a/datapath-windows/ovsext/BufferMgmt.c b/datapath-windows/ovsext/BufferMgmt.c\n    index 1ede4a3..5c9e562 100644\n    --- a/datapath-windows/ovsext/BufferMgmt.c\n    +++ b/datapath-windows/ovsext/BufferMgmt.c\n    @@ -1783,3 +1783,50 @@ OvsGetCtxSourcePortNo(PNET_BUFFER_LIST nbl,\n         *portNo = ctx->srcPortNo;\n         return NDIS_STATUS_SUCCESS;\n     }\n    +\n    +/*\n    + * --------------------------------------------------------------------------\n    + * OvsCreateNewNBLsFromMultipleNBs --\n    + *      Creates an NBL chain where each NBL has a single NB,\n    + *      from an NBL which has multiple NBs.\n    + *      Sets 'curNbl' and 'lastNbl' to the first and last NBL in the\n    + *      newly created NBL chain respectively, and completes the original NBL.\n    + * --------------------------------------------------------------------------\n    + */\n    +NTSTATUS\n    +OvsCreateNewNBLsFromMultipleNBs(POVS_SWITCH_CONTEXT switchContext,\n    +                                PNET_BUFFER_LIST *curNbl,\n    +                                PNET_BUFFER_LIST *lastNbl)\n    +{\n    +    NTSTATUS status = STATUS_SUCCESS;\n    +    PNET_BUFFER_LIST newNbls = NULL;\n    +    PNET_BUFFER_LIST nbl = NULL;\n    +    BOOLEAN error = TRUE;\n    +\n    +    do {\n    +        /* Create new NBLs from curNbl with multiple net buffers. */\n    +        newNbls = OvsPartialCopyToMultipleNBLs(switchContext,\n    +                                               *curNbl, 0, 0, TRUE);\n    +        if (NULL == newNbls) {\n    +            OVS_LOG_ERROR(\"Failed to allocate NBLs with single NB.\");\n    +            status = NDIS_STATUS_RESOURCES;\n    +            break;\n    +        }\n    +\n    +        nbl = newNbls;\n    +        while (nbl) {\n    +            *lastNbl = nbl;\n    +            nbl = NET_BUFFER_LIST_NEXT_NBL(nbl);\n    +        }\n    +\n    +        (*curNbl)->Next = NULL;\n    +\n    +        OvsCompleteNBL(switchContext, *curNbl, TRUE);\n    +\n    +        *curNbl = newNbls;\n    +\n    +        error = FALSE;\n    +    } while (error);\n    +\n    +    return status;\n    +}\n    diff --git a/datapath-windows/ovsext/BufferMgmt.h b/datapath-windows/ovsext/BufferMgmt.h\n    index e6cc0fe..dcf310a 100644\n    --- a/datapath-windows/ovsext/BufferMgmt.h\n    +++ b/datapath-windows/ovsext/BufferMgmt.h\n    @@ -141,4 +141,8 @@ NDIS_STATUS OvsSetCtxSourcePortNo(PNET_BUFFER_LIST nbl, UINT32 portNo);\n    \n     NDIS_STATUS OvsGetCtxSourcePortNo(PNET_BUFFER_LIST nbl, UINT32 *portNo);\n    \n    +NTSTATUS OvsCreateNewNBLsFromMultipleNBs(PVOID context,\n    +                                         PNET_BUFFER_LIST *curNbl,\n    +                                         PNET_BUFFER_LIST *lastNbl);\n    +\n     #endif /* __BUFFER_MGMT_H_ */\n    diff --git a/datapath-windows/ovsext/PacketIO.c b/datapath-windows/ovsext/PacketIO.c\n    index 81c574e..38e3e5f 100644\n    --- a/datapath-windows/ovsext/PacketIO.c\n    +++ b/datapath-windows/ovsext/PacketIO.c\n    @@ -46,10 +46,6 @@ extern NDIS_STRING ovsExtFriendlyNameUC;\n     static VOID OvsFinalizeCompletionList(OvsCompletionList *completionList);\n     static VOID OvsCompleteNBLIngress(POVS_SWITCH_CONTEXT switchContext,\n                         PNET_BUFFER_LIST netBufferLists, ULONG sendCompleteFlags);\n    -static NTSTATUS OvsCreateNewNBLsFromMultipleNBs(\n    -                    POVS_SWITCH_CONTEXT switchContext,\n    -                    PNET_BUFFER_LIST *curNbl,\n    -                    PNET_BUFFER_LIST *lastNbl);\n    \n     VOID\n     OvsInitCompletionList(OvsCompletionList *completionList,\n    @@ -500,41 +496,3 @@ OvsExtCancelSendNBL(NDIS_HANDLE filterModuleContext,\n         /* All send requests get completed synchronously, so there is no need to\n          * implement this callback. */\n     }\n    -\n    -static NTSTATUS\n    -OvsCreateNewNBLsFromMultipleNBs(POVS_SWITCH_CONTEXT switchContext,\n    -                                PNET_BUFFER_LIST *curNbl,\n    -                                PNET_BUFFER_LIST *lastNbl)\n    -{\n    -    NTSTATUS status = STATUS_SUCCESS;\n    -    PNET_BUFFER_LIST newNbls = NULL;\n    -    PNET_BUFFER_LIST nbl = NULL;\n    -    BOOLEAN error = TRUE;\n    -\n    -    do {\n    -        /* Create new NBLs from curNbl with multiple net buffers. */\n    -        newNbls = OvsPartialCopyToMultipleNBLs(switchContext,\n    -                                               *curNbl, 0, 0, TRUE);\n    -        if (NULL == newNbls) {\n    -            OVS_LOG_ERROR(\"Failed to allocate NBLs with single NB.\");\n    -            status = NDIS_STATUS_RESOURCES;\n    -            break;\n    -        }\n    -\n    -        nbl = newNbls;\n    -        while (nbl) {\n    -            *lastNbl = nbl;\n    -            nbl = NET_BUFFER_LIST_NEXT_NBL(nbl);\n    -        }\n    -\n    -        (*curNbl)->Next = NULL;\n    -\n    -        OvsCompleteNBL(switchContext, *curNbl, TRUE);\n    -\n    -        *curNbl = newNbls;\n    -\n    -        error = FALSE;\n    -    } while (error);\n    -\n    -    return status;\n    -}\n    --\n    2.9.3.windows.2\n    \n    _______________________________________________\n    dev mailing list\n    dev@openvswitch.org\n    https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.openvswitch.org_mailman_listinfo_ovs-2Ddev&d=DwICAg&c=uilaK90D4TOVoH58JNXRgQ&r=Q5z9tBe-nAOpE7LIHSPV8uy5-437agMXvkeHHMkR8Us&m=t_wDc_rR7F3izwWXzz2ggoGTVY1ef-5eg6Far3OtVxk&s=Avhf6HHWujbRuxSiVZeev9YkXpvgI3vO_Rry3lpWQTI&e=","headers":{"Return-Path":"<ovs-dev-bounces@openvswitch.org>","X-Original-To":["incoming@patchwork.ozlabs.org","dev@openvswitch.org"],"Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","ovs-dev@mail.linuxfoundation.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=openvswitch.org\n\t(client-ip=140.211.169.12; helo=mail.linuxfoundation.org;\n\tenvelope-from=ovs-dev-bounces@openvswitch.org;\n\treceiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=onevmw.onmicrosoft.com\n\theader.i=@onevmw.onmicrosoft.com header.b=\"AGIuhFk2\"; \n\tdkim-atps=neutral","spf=none (sender IP is )\n\tsmtp.mailfrom=kumaranand@vmware.com; "],"Received":["from mail.linuxfoundation.org (mail.linuxfoundation.org\n\t[140.211.169.12])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xbnVf2XP7z9t1t\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 22 Aug 2017 07:52:58 +1000 (AEST)","from mail.linux-foundation.org (localhost [127.0.0.1])\n\tby mail.linuxfoundation.org (Postfix) with ESMTP id A2A63AB7;\n\tMon, 21 Aug 2017 21:52:54 +0000 (UTC)","from smtp1.linuxfoundation.org (smtp1.linux-foundation.org\n\t[172.17.192.35])\n\tby mail.linuxfoundation.org (Postfix) with ESMTPS id A0DED955\n\tfor <dev@openvswitch.org>; Mon, 21 Aug 2017 21:52:53 +0000 (UTC)","from NAM03-CO1-obe.outbound.protection.outlook.com\n\t(mail-co1nam03on0054.outbound.protection.outlook.com [104.47.40.54])\n\tby smtp1.linuxfoundation.org (Postfix) with ESMTPS id 67E5C407\n\tfor <dev@openvswitch.org>; Mon, 21 Aug 2017 21:52:53 +0000 (UTC)","from DM2PR05MB317.namprd05.prod.outlook.com (10.141.103.151) by\n\tDM2PR05MB622.namprd05.prod.outlook.com (10.141.157.20) with Microsoft\n\tSMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id\n\t15.1.1385.4; Mon, 21 Aug 2017 21:52:51 +0000","from DM2PR05MB317.namprd05.prod.outlook.com\n\t([fe80::4469:c218:32a9:6e7e]) by\n\tDM2PR05MB317.namprd05.prod.outlook.com\n\t([fe80::4469:c218:32a9:6e7e%18]) with mapi id 15.01.1320.022;\n\tMon, 21 Aug 2017 21:52:51 +0000"],"X-Greylist":"whitelisted by SQLgrey-1.7.6","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=onevmw.onmicrosoft.com; s=selector1-vmware-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=l3ONYerAPjp3b1+V1NuAbaRWliijV3ghNL57Iyqs45o=;\n\tb=AGIuhFk2DfesARYNvxdc7/+2dtS7OnJDsPoxYZJBoy9sbaH67jj5Ivee88JQy5nFJSdDBpqS246K9KxevoTPE3WCxHVPjOOnINNysjKM0PG1h0hjyERgBoHvWuv5H5p85Gkw2QTXkE2w/ouc+H3V4eKbPXbp0dv6XOXCOlMuHzU=","From":"Anand Kumar <kumaranand@vmware.com>","To":"Shashank Ram <rams@vmware.com>,\n\t\"dev@openvswitch.org\" <dev@openvswitch.org>","Thread-Topic":"[ovs-dev] [PATCH] datapath-windows: Move\n\tOvsCreateNewNBLsFromMultipleNBs to BuggerMgmt","Thread-Index":"AQHTGsfVI9rQCOQF7keXhuzjbGzifA==","Date":"Mon, 21 Aug 2017 21:52:51 +0000","Message-ID":"<31F2C811-12D1-4A3E-B6F3-D24658BA7024@vmware.com>","References":"<20170821214523.17860-1-rams@vmware.com>","In-Reply-To":"<20170821214523.17860-1-rams@vmware.com>","Accept-Language":"en-US","Content-Language":"en-US","X-MS-Has-Attach":"","X-MS-TNEF-Correlator":"","authentication-results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=openvswitch.org\n\t(client-ip=140.211.169.12; helo=mail.linuxfoundation.org;\n\tenvelope-from=ovs-dev-bounces@openvswitch.org;\n\treceiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=onevmw.onmicrosoft.com\n\theader.i=@onevmw.onmicrosoft.com header.b=\"AGIuhFk2\"; \n\tdkim-atps=neutral","spf=none (sender IP is )\n\tsmtp.mailfrom=kumaranand@vmware.com; "],"x-originating-ip":"[208.91.1.34]","x-ms-publictraffictype":"Email","x-microsoft-exchange-diagnostics":"1; DM2PR05MB622;\n\t20:QaTOIgWJ61QxFVC54d5o6VD5nj6En5ISQxo0qqZgYzX+d0OUgKLlqfA0XRjykJUNqrxIbxqXj98l/PrIcKLIgEBrQL1TH5zQliJ9FqLpOLCSPjoDl0lEqMgaUbFreAyvt2k0amxnLsPPZ4rcZqk/E/XvCqLA53/oxzXFNyQqnZg=","x-ms-office365-filtering-correlation-id":"35bd1cfa-6a7b-4be8-1a1e-08d4e8def861","x-microsoft-antispam":"UriScan:; BCL:0; PCL:0;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(2017052603031)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:DM2PR05MB622; ","x-ms-traffictypediagnostic":"DM2PR05MB622:","x-exchange-antispam-report-test":"UriScan:(61668805478150)(10436049006162)(216315784871565); ","x-microsoft-antispam-prvs":"<DM2PR05MB622885BFD4A7D6EBC79D6B6AB870@DM2PR05MB622.namprd05.prod.outlook.com>","x-exchange-antispam-report-cfa-test":"BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(10201501046)(93006095)(93001095)(100000703101)(100105400095)(3002001)(6041248)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123562025)(20161123564025)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:DM2PR05MB622; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:DM2PR05MB622; ","x-forefront-prvs":"040655413E","x-forefront-antispam-report":"SFV:NSPM;\n\tSFS:(10009020)(6009001)(6029001)(24454002)(199003)(377454003)(189002)(86362001)(106356001)(68736007)(8676002)(6246003)(81156014)(81166006)(3846002)(6512007)(6306002)(189998001)(8936002)(6116002)(102836003)(229853002)(575784001)(53936002)(99286003)(3660700001)(2900100001)(3280700002)(33656002)(6506006)(2906002)(6436002)(6486002)(105586002)(66066001)(2950100002)(97736004)(25786009)(36756003)(50986999)(7736002)(54356999)(76176999)(5660300001)(53546010)(478600001)(305945005)(14454004)(5250100002)(2501003)(83716003)(82746002)(101416001)(966005);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR05MB622;\n\tH:DM2PR05MB317.namprd05.prod.outlook.com; FPR:; SPF:None;\n\tPTR:InfoNoRecords; A:1; MX:1; LANG:en; ","received-spf":"None (protection.outlook.com: vmware.com does not designate\n\tpermitted sender hosts)","spamdiagnosticoutput":"1:99","spamdiagnosticmetadata":"NSPM","Content-ID":"<17567B0E4A0A654B9F448C8D4B552198@namprd05.prod.outlook.com>","MIME-Version":"1.0","X-OriginatorOrg":"vmware.com","X-MS-Exchange-CrossTenant-originalarrivaltime":"21 Aug 2017 21:52:51.2485\n\t(UTC)","X-MS-Exchange-CrossTenant-fromentityheader":"Hosted","X-MS-Exchange-CrossTenant-id":"b39138ca-3cee-4b4a-a4d6-cd83d9dd62f0","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"DM2PR05MB622","Subject":"Re: [ovs-dev] [PATCH] datapath-windows: Move\n\tOvsCreateNewNBLsFromMultipleNBs to BuggerMgmt","X-BeenThere":"ovs-dev@openvswitch.org","X-Mailman-Version":"2.1.12","Precedence":"list","List-Id":"<ovs-dev.openvswitch.org>","List-Unsubscribe":"<https://mail.openvswitch.org/mailman/options/ovs-dev>,\n\t<mailto:ovs-dev-request@openvswitch.org?subject=unsubscribe>","List-Archive":"<http://mail.openvswitch.org/pipermail/ovs-dev/>","List-Post":"<mailto:ovs-dev@openvswitch.org>","List-Help":"<mailto:ovs-dev-request@openvswitch.org?subject=help>","List-Subscribe":"<https://mail.openvswitch.org/mailman/listinfo/ovs-dev>,\n\t<mailto:ovs-dev-request@openvswitch.org?subject=subscribe>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"ovs-dev-bounces@openvswitch.org","Errors-To":"ovs-dev-bounces@openvswitch.org"}},{"id":1755634,"web_url":"http://patchwork.ozlabs.org/comment/1755634/","msgid":"<002b01d31c49$c39d4290$4ad7c7b0$@ovn.org>","list_archive_url":null,"date":"2017-08-23T19:55:25","subject":"Re: [ovs-dev] [PATCH] datapath-windows: Move\n\tOvsCreateNewNBLsFromMultipleNBs to BuggerMgmt","submitter":{"id":72181,"url":"http://patchwork.ozlabs.org/api/people/72181/","name":"Alin-Gabriel Serdean","email":"aserdean@ovn.org"},"content":"Thanks Anand and Shashank!\nAcked-by: Alin Gabriel Serdean <aserdean@ovn.org>\n\nI applied this on branch-2.8 and master.\n\nThanks,\nAlin.\n\n> -----Original Message-----\n> From: ovs-dev-bounces@openvswitch.org [mailto:ovs-dev-\n> bounces@openvswitch.org] On Behalf Of Anand Kumar\n> Sent: Tuesday, August 22, 2017 12:53 AM\n> To: Shashank Ram <rams@vmware.com>; dev@openvswitch.org\n> Subject: Re: [ovs-dev] [PATCH] datapath-windows: Move\n> OvsCreateNewNBLsFromMultipleNBs to BuggerMgmt\n> \n> Acked-by: Anand Kumar <kumaranand@vmware.com>\n> \n> Thanks,\n> Anand Kumar\n> \n> On 8/21/17, 2:45 PM, \"ovs-dev-bounces@openvswitch.org on behalf of\n> Shashank Ram\" <ovs-dev-bounces@openvswitch.org on behalf of\n> rams@vmware.com> wrote:\n> \n>     Moves function OvsCreateNewNBLsFromMultipleNBs() to BufferMgmt.c\n>     to facilitate consumption from outside PacketIO.c.\n> \n>     Signed-off-by: Shashank Ram <rams@vmware.com>\n>     ---\n>      datapath-windows/ovsext/BufferMgmt.c | 47\n> ++++++++++++++++++++++++++++++++++++\n>      datapath-windows/ovsext/BufferMgmt.h |  4 +++\n>      datapath-windows/ovsext/PacketIO.c   | 42\n--------------------------------\n>      3 files changed, 51 insertions(+), 42 deletions(-)\n> \n>     diff --git a/datapath-windows/ovsext/BufferMgmt.c b/datapath-\n> windows/ovsext/BufferMgmt.c\n>     index 1ede4a3..5c9e562 100644\n>     --- a/datapath-windows/ovsext/BufferMgmt.c\n>     +++ b/datapath-windows/ovsext/BufferMgmt.c\n>     @@ -1783,3 +1783,50 @@ OvsGetCtxSourcePortNo(PNET_BUFFER_LIST\n> nbl,\n>          *portNo = ctx->srcPortNo;\n>          return NDIS_STATUS_SUCCESS;\n>      }\n>     +\n>     +/*\n>     + *\n--------------------------------------------------------------------------\n>     + * OvsCreateNewNBLsFromMultipleNBs --\n>     + *      Creates an NBL chain where each NBL has a single NB,\n>     + *      from an NBL which has multiple NBs.\n>     + *      Sets 'curNbl' and 'lastNbl' to the first and last NBL in the\n>     + *      newly created NBL chain respectively, and completes the\noriginal\n> NBL.\n>     + *\n--------------------------------------------------------------------------\n>     + */\n>     +NTSTATUS\n>     +OvsCreateNewNBLsFromMultipleNBs(POVS_SWITCH_CONTEXT\n> switchContext,\n>     +                                PNET_BUFFER_LIST *curNbl,\n>     +                                PNET_BUFFER_LIST *lastNbl)\n>     +{\n>     +    NTSTATUS status = STATUS_SUCCESS;\n>     +    PNET_BUFFER_LIST newNbls = NULL;\n>     +    PNET_BUFFER_LIST nbl = NULL;\n>     +    BOOLEAN error = TRUE;\n>     +\n>     +    do {\n>     +        /* Create new NBLs from curNbl with multiple net buffers. */\n>     +        newNbls = OvsPartialCopyToMultipleNBLs(switchContext,\n>     +                                               *curNbl, 0, 0, TRUE);\n>     +        if (NULL == newNbls) {\n>     +            OVS_LOG_ERROR(\"Failed to allocate NBLs with single NB.\");\n>     +            status = NDIS_STATUS_RESOURCES;\n>     +            break;\n>     +        }\n>     +\n>     +        nbl = newNbls;\n>     +        while (nbl) {\n>     +            *lastNbl = nbl;\n>     +            nbl = NET_BUFFER_LIST_NEXT_NBL(nbl);\n>     +        }\n>     +\n>     +        (*curNbl)->Next = NULL;\n>     +\n>     +        OvsCompleteNBL(switchContext, *curNbl, TRUE);\n>     +\n>     +        *curNbl = newNbls;\n>     +\n>     +        error = FALSE;\n>     +    } while (error);\n>     +\n>     +    return status;\n>     +}\n>     diff --git a/datapath-windows/ovsext/BufferMgmt.h b/datapath-\n> windows/ovsext/BufferMgmt.h\n>     index e6cc0fe..dcf310a 100644\n>     --- a/datapath-windows/ovsext/BufferMgmt.h\n>     +++ b/datapath-windows/ovsext/BufferMgmt.h\n>     @@ -141,4 +141,8 @@ NDIS_STATUS\n> OvsSetCtxSourcePortNo(PNET_BUFFER_LIST nbl, UINT32 portNo);\n> \n>      NDIS_STATUS OvsGetCtxSourcePortNo(PNET_BUFFER_LIST nbl, UINT32\n> *portNo);\n> \n>     +NTSTATUS OvsCreateNewNBLsFromMultipleNBs(PVOID context,\n>     +                                         PNET_BUFFER_LIST *curNbl,\n>     +                                         PNET_BUFFER_LIST *lastNbl);\n>     +\n>      #endif /* __BUFFER_MGMT_H_ */\n>     diff --git a/datapath-windows/ovsext/PacketIO.c b/datapath-\n> windows/ovsext/PacketIO.c\n>     index 81c574e..38e3e5f 100644\n>     --- a/datapath-windows/ovsext/PacketIO.c\n>     +++ b/datapath-windows/ovsext/PacketIO.c\n>     @@ -46,10 +46,6 @@ extern NDIS_STRING ovsExtFriendlyNameUC;\n>      static VOID OvsFinalizeCompletionList(OvsCompletionList\n> *completionList);\n>      static VOID OvsCompleteNBLIngress(POVS_SWITCH_CONTEXT\n> switchContext,\n>                          PNET_BUFFER_LIST netBufferLists, ULONG\nsendCompleteFlags);\n>     -static NTSTATUS OvsCreateNewNBLsFromMultipleNBs(\n>     -                    POVS_SWITCH_CONTEXT switchContext,\n>     -                    PNET_BUFFER_LIST *curNbl,\n>     -                    PNET_BUFFER_LIST *lastNbl);\n> \n>      VOID\n>      OvsInitCompletionList(OvsCompletionList *completionList,\n>     @@ -500,41 +496,3 @@ OvsExtCancelSendNBL(NDIS_HANDLE\n> filterModuleContext,\n>          /* All send requests get completed synchronously, so there is no\nneed\n> to\n>           * implement this callback. */\n>      }\n>     -\n>     -static NTSTATUS\n>     -OvsCreateNewNBLsFromMultipleNBs(POVS_SWITCH_CONTEXT\n> switchContext,\n>     -                                PNET_BUFFER_LIST *curNbl,\n>     -                                PNET_BUFFER_LIST *lastNbl)\n>     -{\n>     -    NTSTATUS status = STATUS_SUCCESS;\n>     -    PNET_BUFFER_LIST newNbls = NULL;\n>     -    PNET_BUFFER_LIST nbl = NULL;\n>     -    BOOLEAN error = TRUE;\n>     -\n>     -    do {\n>     -        /* Create new NBLs from curNbl with multiple net buffers. */\n>     -        newNbls = OvsPartialCopyToMultipleNBLs(switchContext,\n>     -                                               *curNbl, 0, 0, TRUE);\n>     -        if (NULL == newNbls) {\n>     -            OVS_LOG_ERROR(\"Failed to allocate NBLs with single NB.\");\n>     -            status = NDIS_STATUS_RESOURCES;\n>     -            break;\n>     -        }\n>     -\n>     -        nbl = newNbls;\n>     -        while (nbl) {\n>     -            *lastNbl = nbl;\n>     -            nbl = NET_BUFFER_LIST_NEXT_NBL(nbl);\n>     -        }\n>     -\n>     -        (*curNbl)->Next = NULL;\n>     -\n>     -        OvsCompleteNBL(switchContext, *curNbl, TRUE);\n>     -\n>     -        *curNbl = newNbls;\n>     -\n>     -        error = FALSE;\n>     -    } while (error);\n>     -\n>     -    return status;\n>     -}\n>     --\n>     2.9.3.windows.2\n> \n>     _______________________________________________\n>     dev mailing list\n>     dev@openvswitch.org\n>     https://urldefense.proofpoint.com/v2/url?u=https-\n> 3A__mail.openvswitch.org_mailman_listinfo_ovs-\n> 2Ddev&d=DwICAg&c=uilaK90D4TOVoH58JNXRgQ&r=Q5z9tBe-\n> nAOpE7LIHSPV8uy5-\n> 437agMXvkeHHMkR8Us&m=t_wDc_rR7F3izwWXzz2ggoGTVY1ef-\n> 5eg6Far3OtVxk&s=Avhf6HHWujbRuxSiVZeev9YkXpvgI3vO_Rry3lpWQTI&e=\n> \n> \n> \n> \n> _______________________________________________\n> dev mailing list\n> dev@openvswitch.org\n> https://mail.openvswitch.org/mailman/listinfo/ovs-dev","headers":{"Return-Path":"<ovs-dev-bounces@openvswitch.org>","X-Original-To":["incoming@patchwork.ozlabs.org","dev@openvswitch.org"],"Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","ovs-dev@mail.linuxfoundation.org"],"Authentication-Results":"ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=openvswitch.org\n\t(client-ip=140.211.169.12; helo=mail.linuxfoundation.org;\n\tenvelope-from=ovs-dev-bounces@openvswitch.org;\n\treceiver=<UNKNOWN>)","Received":["from mail.linuxfoundation.org (mail.linuxfoundation.org\n\t[140.211.169.12])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xcypH1CZ1z9s83\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 24 Aug 2017 05:55:33 +1000 (AEST)","from mail.linux-foundation.org (localhost [127.0.0.1])\n\tby mail.linuxfoundation.org (Postfix) with ESMTP id 8A939901;\n\tWed, 23 Aug 2017 19:55:29 +0000 (UTC)","from smtp1.linuxfoundation.org (smtp1.linux-foundation.org\n\t[172.17.192.35])\n\tby mail.linuxfoundation.org (Postfix) with ESMTPS id 1E18B88A\n\tfor <dev@openvswitch.org>; Wed, 23 Aug 2017 19:55:28 +0000 (UTC)","from relay3-d.mail.gandi.net (relay3-d.mail.gandi.net\n\t[217.70.183.195])\n\tby smtp1.linuxfoundation.org (Postfix) with ESMTPS id E6E8CE0\n\tfor <dev@openvswitch.org>; Wed, 23 Aug 2017 19:55:27 +0000 (UTC)","from cloudbasealin (unknown [79.114.23.207])\n\t(Authenticated sender: aserdean@ovn.org)\n\tby relay3-d.mail.gandi.net (Postfix) with ESMTPSA id CC636A80C8;\n\tWed, 23 Aug 2017 21:55:25 +0200 (CEST)"],"X-Greylist":"domain auto-whitelisted by SQLgrey-1.7.6","X-Originating-IP":"79.114.23.207","From":"<aserdean@ovn.org>","To":"\"'Anand Kumar'\" <kumaranand@vmware.com>,\n\t\"'Shashank Ram'\" <rams@vmware.com>, <dev@openvswitch.org>","References":"<20170821214523.17860-1-rams@vmware.com>\n\t<31F2C811-12D1-4A3E-B6F3-D24658BA7024@vmware.com>","In-Reply-To":"<31F2C811-12D1-4A3E-B6F3-D24658BA7024@vmware.com>","Date":"Wed, 23 Aug 2017 22:55:25 +0300","Message-ID":"<002b01d31c49$c39d4290$4ad7c7b0$@ovn.org>","MIME-Version":"1.0","X-Mailer":"Microsoft Outlook 16.0","Thread-Index":"AQHTGsffjs3IydTGcEiTJOdAYhKXMKKSXaVQ","Content-Language":"ro","Subject":"Re: [ovs-dev] [PATCH] datapath-windows: Move\n\tOvsCreateNewNBLsFromMultipleNBs to BuggerMgmt","X-BeenThere":"ovs-dev@openvswitch.org","X-Mailman-Version":"2.1.12","Precedence":"list","List-Id":"<ovs-dev.openvswitch.org>","List-Unsubscribe":"<https://mail.openvswitch.org/mailman/options/ovs-dev>,\n\t<mailto:ovs-dev-request@openvswitch.org?subject=unsubscribe>","List-Archive":"<http://mail.openvswitch.org/pipermail/ovs-dev/>","List-Post":"<mailto:ovs-dev@openvswitch.org>","List-Help":"<mailto:ovs-dev-request@openvswitch.org?subject=help>","List-Subscribe":"<https://mail.openvswitch.org/mailman/listinfo/ovs-dev>,\n\t<mailto:ovs-dev-request@openvswitch.org?subject=subscribe>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"ovs-dev-bounces@openvswitch.org","Errors-To":"ovs-dev-bounces@openvswitch.org"}}]