Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/804186/?format=api
{ "id": 804186, "url": "http://patchwork.ozlabs.org/api/patches/804186/?format=api", "web_url": "http://patchwork.ozlabs.org/project/openvswitch/patch/20170821214523.17860-1-rams@vmware.com/", "project": { "id": 47, "url": "http://patchwork.ozlabs.org/api/projects/47/?format=api", "name": "Open vSwitch", "link_name": "openvswitch", "list_id": "ovs-dev.openvswitch.org", "list_email": "ovs-dev@openvswitch.org", "web_url": "http://openvswitch.org/", "scm_url": "git@github.com:openvswitch/ovs.git", "webscm_url": "https://github.com/openvswitch/ovs", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20170821214523.17860-1-rams@vmware.com>", "list_archive_url": null, "date": "2017-08-21T21:45:23", "name": "[ovs-dev] datapath-windows: Move OvsCreateNewNBLsFromMultipleNBs to BuggerMgmt", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "cd1a32b7e2ab5c1658ab35892df31ca8c82ee212", "submitter": { "id": 69910, "url": "http://patchwork.ozlabs.org/api/people/69910/?format=api", "name": "Shashank Ram", "email": "rams@vmware.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/openvswitch/patch/20170821214523.17860-1-rams@vmware.com/mbox/", "series": [], "comments": "http://patchwork.ozlabs.org/api/patches/804186/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/804186/checks/", "tags": {}, "related": [], "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 3xbnMN3qMBz9t1t\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 22 Aug 2017 07:46:40 +1000 (AEST)", "from mail.linux-foundation.org (localhost [127.0.0.1])\n\tby mail.linuxfoundation.org (Postfix) with ESMTP id 390B5900;\n\tMon, 21 Aug 2017 21:46:36 +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 391E68E3\n\tfor <dev@openvswitch.org>; Mon, 21 Aug 2017 21:46:35 +0000 (UTC)", "from EX13-EDG-OU-001.vmware.com (ex13-edg-ou-001.vmware.com\n\t[208.91.0.189])\n\tby smtp1.linuxfoundation.org (Postfix) with ESMTPS id 21F1B460\n\tfor <dev@openvswitch.org>; Mon, 21 Aug 2017 21:46:35 +0000 (UTC)", "from sc9-mailhost1.vmware.com (10.113.161.71) by\n\tEX13-EDG-OU-001.vmware.com (10.113.208.155) with Microsoft SMTP\n\tServer id 15.0.1156.6; Mon, 21 Aug 2017 14:45:44 -0700", "from localhost.localdomain (htb-1s-eng-dhcp79.eng.vmware.com\n\t[10.33.78.79])\n\tby sc9-mailhost1.vmware.com (Postfix) with ESMTP id 76F0718524;\n\tMon, 21 Aug 2017 14:46:34 -0700 (PDT)" ], "X-Greylist": "domain auto-whitelisted by SQLgrey-1.7.6", "From": "Shashank Ram <rams@vmware.com>", "To": "<dev@openvswitch.org>", "Date": "Mon, 21 Aug 2017 14:45:23 -0700", "Message-ID": "<20170821214523.17860-1-rams@vmware.com>", "X-Mailer": "git-send-email 2.9.3.windows.2", "MIME-Version": "1.0", "Received-SPF": "None (EX13-EDG-OU-001.vmware.com: rams@vmware.com does not\n\tdesignate permitted sender hosts)", "Subject": "[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" }, "content": "Moves function OvsCreateNewNBLsFromMultipleNBs() to BufferMgmt.c\nto facilitate consumption from outside PacketIO.c.\n\nSigned-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--\n2.9.3.windows.2", "diff": "diff --git a/datapath-windows/ovsext/BufferMgmt.c b/datapath-windows/ovsext/BufferMgmt.c\nindex 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+}\ndiff --git a/datapath-windows/ovsext/BufferMgmt.h b/datapath-windows/ovsext/BufferMgmt.h\nindex 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_ */\ndiff --git a/datapath-windows/ovsext/PacketIO.c b/datapath-windows/ovsext/PacketIO.c\nindex 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", "prefixes": [ "ovs-dev" ] }