[ovs-dev] [PATCH 1/4 v2] datapath-windows: event read should not fail when no events

Alin Serdean aserdean at cloudbasesolutions.com
Mon Oct 20 21:59:05 UTC 2014


Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>



-----Mesaj original-----
De la: dev [mailto:dev-bounces at openvswitch.org] În numele Nithin Raju
Trimis: Saturday, October 18, 2014 9:40 PM
Către: dev at openvswitch.org
Subiect: [ovs-dev] [PATCH 1/4 v2] datapath-windows: event read should not fail when no events

The semantics are read operation are generally to return 0 bytes and STATUS_SUCCESS when there are no events.

Also, added a fix to assign the PID to the synthetic OVS_MESSAGE formed for the command validation.

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

diff --git a/datapath-windows/ovsext/Datapath.c b/datapath-windows/ovsext/Datapath.c
index 6cb9398..0d87a6d 100644
--- a/datapath-windows/ovsext/Datapath.c
+++ b/datapath-windows/ovsext/Datapath.c
@@ -728,6 +728,7 @@ OvsDeviceControl(PDEVICE_OBJECT deviceObject,
 
         ovsMsg = &ovsMsgReadOp;
         ovsMsg->nlMsg.nlmsgType = OVS_WIN_NL_CTRL_FAMILY_ID;
+        ovsMsg->nlMsg.nlmsgPid = instance->pid;
         /* An "artificial" command so we can use NL family function table*/
         ovsMsg->genlMsg.cmd = (code == OVS_IOCTL_READ_EVENT) ?
                               OVS_CTRL_CMD_EVENT_NOTIFY :
@@ -2289,6 +2290,9 @@ OvsReadEventCmdHandler(POVS_USER_PARAMS_CONTEXT usrParamsCtx,
     /* remove an event entry from the event queue */
     status = OvsRemoveEventEntry(usrParamsCtx->ovsInstance, &eventEntry);
     if (status != STATUS_SUCCESS) {
+        /* If there were not elements, read should return no data. */
+        status = STATUS_SUCCESS;
+        *replyLen = 0;
         goto cleanup;
     }
 
--
1.7.4.1

_______________________________________________
dev mailing list
dev at openvswitch.org
http://openvswitch.org/mailman/listinfo/dev



More information about the dev mailing list