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 <[email protected]>
---
 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

_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev

Reply via email to