[ovs-dev] [PATCH] datapath-windows: cleanup dump state during instance cleanup

Nithin Raju nithin at vmware.com
Thu Sep 11 01:41:29 UTC 2014


On Sep 10, 2014, at 4:15 PM, Samuel Ghinet <sghinet at cloudbasesolutions.com>
 wrote:

> 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?

Generally, the PIDs that are used for IO are not used for dump operation. See dpif_linux_port_get_pid() that maps a vport to a netlink socket to be used for I/O. This is true for packets that are passed to userspace via the 'userspace()' action. For packets that are passed to userspace because there's no flow, we could use any of the PIDs that are part of a vport - and these should be different from the ones used for dump. For dump the sockets are allocated nl_pool_alloc().

The call to FreeUserDumpState() I added is to address the case where we are in the middle of a dump operation, and the userspace process got killed. We need to cleanup the state that was associated.

Thanks,
-- Nithin




More information about the dev mailing list