[ovs-dev] [PATCH] datapath-windows: don't leak NBLs with multiple NBs

Nithin Raju nithin at vmware.com
Thu Oct 30 20:17:43 UTC 2014


Currently, if we receive an NBL with multiple NBs from NDIS, we just
ASSERT() and not do anything. The right thing to do obviously is to
process the NBL. This is a work in progress.

In the meantime, we should complete the NBL and not just leak it.

Signed-off-by: Nithin Raju <nithin at vmware.com>
---
 datapath-windows/ovsext/PacketIO.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/datapath-windows/ovsext/PacketIO.c b/datapath-windows/ovsext/PacketIO.c
index 5223125..1af391b 100644
--- a/datapath-windows/ovsext/PacketIO.c
+++ b/datapath-windows/ovsext/PacketIO.c
@@ -218,7 +218,12 @@ OvsStartNBLIngress(POVS_SWITCH_CONTEXT switchContext,
         curNb = NET_BUFFER_LIST_FIRST_NB(curNbl);
         if (curNb->Next != NULL) {
             /* XXX: This case is not handled yet. */
-            ASSERT(FALSE);
+            RtlInitUnicodeString(&filterReason,
+                L"Dropping NBLs with multiple NBs");
+            OvsStartNBLIngressError(switchContext, curNbl,
+                                    sendCompleteFlags, &filterReason,
+                                    NDIS_STATUS_RESOURCES);
+            continue;
         } else {
             POVS_BUFFER_CONTEXT ctx;
             OvsFlow *flow;
-- 
1.7.4.1




More information about the dev mailing list