HI Sam,
Please note that the cleanup callback is not called by NDIS rather called 
directed by the I/O manager for the device we created for communicating with 
the user mode process.
 This device is not part of the network stack.
Per your question: Socket for sump operation are transient (i.e. created and 
deleted specifically for the transaction). On the other hand socket which are 
used for notifications are associated (indirectly) with a queue. Each socket is 
associated with an open file handle. But, packet socket and transaction based 
sockets are always separate. Only notification sockets has an I/O pending in 
the driver. So there is no case were same socket or file handle is used for 
event notifications and for packet read.
I hope I answered your question.
Eitan

-----Original Message-----
From: dev [mailto:dev-boun...@openvswitch.org] On Behalf Of Samuel Ghinet
Sent: Wednesday, September 10, 2014 4:15 PM
To: dev@openvswitch.org; Nithin Raju
Subject: Re: [ovs-dev] [PATCH] datapath-windows: cleanup dump state during 
instance cleanup

Hey Nithin,

AFAIK OvsCleanupOpenInstance is called by OvsCleanupDevice, which is a callback 
called by NDIS when an IO is pending and the file must be closed.
FreeUserDumpState is only for dump operations.

Is it possible that an IO to be pending (packet queueing) while at the same 
time a dump operation to be in progress, for the same file?

Sam
________________________________________
Date: Wed, 10 Sep 2014 13:17:17 -0700
From: Nithin Raju <nit...@vmware.com>
To: dev@openvswitch.org
Subject: [ovs-dev] [PATCH] datapath-windows: cleanup dump state during
        instance cleanup
Message-ID: <1410380237-28794-1-git-send-email-nit...@vmware.com>

Signed-off-by: Nithin Raju <nit...@vmware.com>
---
 datapath-windows/ovsext/Datapath.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/datapath-windows/ovsext/Datapath.c 
b/datapath-windows/ovsext/Datapath.c
index c145d00..d1f4b9d 100644
--- a/datapath-windows/ovsext/Datapath.c
+++ b/datapath-windows/ovsext/Datapath.c
@@ -417,6 +417,7 @@ OvsCleanupOpenInstance(PFILE_OBJECT fileObject)
     POVS_OPEN_INSTANCE instance = (POVS_OPEN_INSTANCE)fileObject->FsContext;
     ASSERT(instance);
     ASSERT(fileObject == instance->fileObject);
+    FreeUserDumpState(instance);
     OvsCleanupEvent(instance);
     OvsCleanupPacketQueue(instance);
 }
--
1.7.4.1
_______________________________________________
dev mailing list
dev@openvswitch.org
https://urldefense.proofpoint.com/v1/url?u=http://openvswitch.org/mailman/listinfo/dev&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=yTvML8OxA42Jb6ViHe7fUXbvPVOYDPVq87w43doxtlY%3D%0A&m=8PGOpOx4Jbc2Rk0NuHKo7bm7PJJIqvvnMhULmRE9Kvk%3D%0A&s=300c6894f54d84467a05b77d22166d90cfea554f7fa5275258ccd00d493d3fd7
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to