OVS_EVENT_ENTRY currently handles only Vport related events. Updating the
name of the struct to OVS_VPORT_EVENT_ENTRY. Remove OVS_EVENT_STATUS since
it's currently not in use. Update the datapath to refer to events as
vportEvents. This will aid in the introduction of other events.

v2: Squash 1/9 and 3/9 into one commit. Added Acked-by.

Signed-off-by: Sairam Venugopal <vsai...@vmware.com>
Acked-By: Yin Lin <li...@vmware.com>
Acked-by: Alin Gabriel Serdean <aserd...@cloudbasesolutions.com>
---
 datapath-windows/ovsext/Datapath.c   |  7 ++++---
 datapath-windows/ovsext/DpInternal.h | 10 ++--------
 datapath-windows/ovsext/Event.c      | 10 +++++-----
 datapath-windows/ovsext/Event.h      |  7 ++++---
 datapath-windows/ovsext/Vport.c      | 12 ++++++------
 5 files changed, 21 insertions(+), 25 deletions(-)

diff --git a/datapath-windows/ovsext/Datapath.c 
b/datapath-windows/ovsext/Datapath.c
index 4f47be5..e4d6ab1 100644
--- a/datapath-windows/ovsext/Datapath.c
+++ b/datapath-windows/ovsext/Datapath.c
@@ -1582,7 +1582,7 @@ MapIrpOutputBuffer(PIRP irp,
  */
 static NTSTATUS
 OvsPortFillInfo(POVS_USER_PARAMS_CONTEXT usrParamsCtx,
-                POVS_EVENT_ENTRY eventEntry,
+                POVS_VPORT_EVENT_ENTRY eventEntry,
                 PNL_BUFFER nlBuf)
 {
     NTSTATUS status;
@@ -1659,7 +1659,7 @@ OvsReadEventCmdHandler(POVS_USER_PARAMS_CONTEXT 
usrParamsCtx,
 #endif
     NL_BUFFER nlBuf;
     NTSTATUS status;
-    OVS_EVENT_ENTRY eventEntry;
+    OVS_VPORT_EVENT_ENTRY eventEntry;
 
     ASSERT(usrParamsCtx->devOp == OVS_READ_DEV_OP);
 
@@ -1675,7 +1675,8 @@ OvsReadEventCmdHandler(POVS_USER_PARAMS_CONTEXT 
usrParamsCtx,
     NlBufInit(&nlBuf, usrParamsCtx->outputBuffer, usrParamsCtx->outputLength);
 
     /* remove an event entry from the event queue */
-    status = OvsRemoveEventEntry(usrParamsCtx->ovsInstance, &eventEntry);
+    status = OvsRemoveVportEventEntry(usrParamsCtx->ovsInstance,
+                                      &eventEntry);
     if (status != STATUS_SUCCESS) {
         /* If there were not elements, read should return no data. */
         status = STATUS_SUCCESS;
diff --git a/datapath-windows/ovsext/DpInternal.h 
b/datapath-windows/ovsext/DpInternal.h
index 42b5ec9..8abe61d 100644
--- a/datapath-windows/ovsext/DpInternal.h
+++ b/datapath-windows/ovsext/DpInternal.h
@@ -328,19 +328,13 @@ enum {
 };
 
 
-typedef struct _OVS_EVENT_ENTRY {
+typedef struct _OVS_VPORT_EVENT_ENTRY {
     UINT32 portNo;
     OVS_VPORT_TYPE ovsType;
     UINT32 upcallPid;
     CHAR ovsName[OVS_MAX_PORT_NAME_LENGTH];
     UINT32 type;
-} OVS_EVENT_ENTRY, *POVS_EVENT_ENTRY;
-
-
-typedef struct _OVS_EVENT_STATUS {
-    uint32_t numberEntries;
-    OVS_EVENT_ENTRY eventEntries[0];
-} OVS_EVENT_STATUS, *POVS_EVENT_STATUS;
+} OVS_VPORT_EVENT_ENTRY, *POVS_VPORT_EVENT_ENTRY;
 
 #pragma pack(pop)
 
diff --git a/datapath-windows/ovsext/Event.c b/datapath-windows/ovsext/Event.c
index f9bea7f..8c7c3ec 100644
--- a/datapath-windows/ovsext/Event.c
+++ b/datapath-windows/ovsext/Event.c
@@ -109,7 +109,7 @@ OvsCleanupEvent(POVS_OPEN_INSTANCE instance)
  * --------------------------------------------------------------------------
  */
 VOID
-OvsPostEvent(POVS_EVENT_ENTRY event)
+OvsPostVportEvent(POVS_VPORT_EVENT_ENTRY event)
 {
     POVS_EVENT_QUEUE_ELEM elem;
     POVS_EVENT_QUEUE queue;
@@ -141,7 +141,7 @@ OvsPostEvent(POVS_EVENT_ENTRY event)
             return;
         }
 
-        RtlCopyMemory(&elem->event, event, sizeof elem->event);
+        RtlCopyMemory(&elem->vportEvent, event, sizeof elem->vportEvent);
         InsertTailList(&queue->elemList, &elem->link);
         queue->numElems++;
         OVS_LOG_INFO("Queue: %p, numElems: %d",
@@ -409,8 +409,8 @@ unlock:
  * --------------------------------------------------------------------------
  */
 NTSTATUS
-OvsRemoveEventEntry(POVS_OPEN_INSTANCE instance,
-                    POVS_EVENT_ENTRY entry)
+OvsRemoveVportEventEntry(POVS_OPEN_INSTANCE instance,
+                         POVS_VPORT_EVENT_ENTRY entry)
 {
     NTSTATUS status = STATUS_UNSUCCESSFUL;
     POVS_EVENT_QUEUE queue;
@@ -427,7 +427,7 @@ OvsRemoveEventEntry(POVS_OPEN_INSTANCE instance,
 
     if (queue->numElems) {
         elem = (POVS_EVENT_QUEUE_ELEM)RemoveHeadList(&queue->elemList);
-        *entry = elem->event;
+        *entry = elem->vportEvent;
         OvsFreeMemoryWithTag(elem, OVS_EVENT_POOL_TAG);
         queue->numElems--;
         status = STATUS_SUCCESS;
diff --git a/datapath-windows/ovsext/Event.h b/datapath-windows/ovsext/Event.h
index b087875..255594c 100644
--- a/datapath-windows/ovsext/Event.h
+++ b/datapath-windows/ovsext/Event.h
@@ -19,7 +19,7 @@
 
 typedef struct _OVS_EVENT_QUEUE_ELEM {
     LIST_ENTRY link;
-    OVS_EVENT_ENTRY event;
+    OVS_VPORT_EVENT_ENTRY vportEvent;
 } OVS_EVENT_QUEUE_ELEM, *POVS_EVENT_QUEUE_ELEM;
 
 typedef struct _OVS_EVENT_QUEUE {
@@ -38,7 +38,7 @@ VOID OvsCleanupEventQueue(VOID);
 struct _OVS_OPEN_INSTANCE;
 
 VOID OvsCleanupEvent(struct _OVS_OPEN_INSTANCE *instance);
-VOID OvsPostEvent(POVS_EVENT_ENTRY event);
+VOID OvsPostVportEvent(POVS_VPORT_EVENT_ENTRY event);
 NTSTATUS OvsSubscribeEventIoctl(PFILE_OBJECT fileObject, PVOID inputBuffer,
                                 UINT32 inputLength);
 NTSTATUS OvsPollEventIoctl(PFILE_OBJECT fileObject, PVOID inputBuffer,
@@ -46,6 +46,7 @@ NTSTATUS OvsPollEventIoctl(PFILE_OBJECT fileObject, PVOID 
inputBuffer,
                            UINT32 outputLength, UINT32 *replyLen);
 NTSTATUS OvsWaitEventIoctl(PIRP irp, PFILE_OBJECT fileObject,
                            PVOID inputBuffer, UINT32 inputLength);
-NTSTATUS OvsRemoveEventEntry(PVOID instance, POVS_EVENT_ENTRY entry);
+NTSTATUS OvsRemoveVportEventEntry(POVS_OPEN_INSTANCE instance,
+                                  POVS_VPORT_EVENT_ENTRY entry);
 
 #endif /* __EVENT_H_ */
diff --git a/datapath-windows/ovsext/Vport.c b/datapath-windows/ovsext/Vport.c
index 22741db..428259b 100644
--- a/datapath-windows/ovsext/Vport.c
+++ b/datapath-windows/ovsext/Vport.c
@@ -292,7 +292,7 @@ HvDeletePort(POVS_SWITCH_CONTEXT switchContext,
      * delete will delete the vport.
     */
     if (vport) {
-        OVS_EVENT_ENTRY event;
+        OVS_VPORT_EVENT_ENTRY event;
 
         event.portNo = vport->portNo;
         event.ovsType = vport->ovsType;
@@ -300,7 +300,7 @@ HvDeletePort(POVS_SWITCH_CONTEXT switchContext,
         RtlCopyMemory(&event.ovsName, &vport->ovsName, sizeof event.ovsName);
         event.type = OVS_EVENT_LINK_DOWN;
         OvsRemoveAndDeleteVport(NULL, switchContext, vport, TRUE, FALSE);
-        OvsPostEvent(&event);
+        OvsPostVportEvent(&event);
     } else {
         OVS_LOG_WARN("Vport not present.");
     }
@@ -531,14 +531,14 @@ HvUpdateNic(POVS_SWITCH_CONTEXT switchContext,
     vport->numaNodeId = nicParam->NumaNodeId;
 
     if (nameChanged) {
-        OVS_EVENT_ENTRY evt;
+        OVS_VPORT_EVENT_ENTRY evt;
         evt.portNo = vport->portNo;
         evt.ovsType = vport->ovsType;
         evt.upcallPid = vport->upcallPid;
         RtlCopyMemory(&evt.ovsName, &vport->ovsName, sizeof evt.ovsName);
         evt.type = OVS_EVENT_LINK_DOWN;
         OvsRemoveAndDeleteVport(NULL, switchContext, vport, FALSE, TRUE);
-        OvsPostEvent(&evt);
+        OvsPostVportEvent(&evt);
     }
 
     NdisReleaseRWLock(switchContext->dispatchLock, &lockState);
@@ -567,7 +567,7 @@ HvDisconnectNic(POVS_SWITCH_CONTEXT switchContext,
     POVS_VPORT_ENTRY vport;
     LOCK_STATE_EX lockState;
     BOOLEAN isInternalPort = FALSE;
-    OVS_EVENT_ENTRY event;
+    OVS_VPORT_EVENT_ENTRY event;
 
     VPORT_NIC_ENTER(nicParam);
 
@@ -609,7 +609,7 @@ HvDisconnectNic(POVS_SWITCH_CONTEXT switchContext,
      */
     if (OvsIsRealExternalVport(vport)) {
         OvsRemoveAndDeleteVport(NULL, switchContext, vport, FALSE, TRUE);
-        OvsPostEvent(&event);
+        OvsPostVportEvent(&event);
     }
     NdisReleaseRWLock(switchContext->dispatchLock, &lockState);
 
-- 
2.9.0.windows.1

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

Reply via email to