[ovs-dev] [PATCH v2 1/7] datapath-windows: Explicitly name vport related event to vportEvent
Yin Lin
yinlin10 at gmail.com
Tue Jul 26 03:04:31 UTC 2016
Acked-By: Yin Lin <linyi at vmware.com>
On Mon, Jul 25, 2016 at 5:04 PM, Sairam Venugopal <vsairam at vmware.com>
wrote:
> 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 <vsairam at vmware.com>
> Acked-By: Yin Lin <linyi at vmware.com>
> Acked-by: Alin Gabriel Serdean <aserdean at 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 at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
>
More information about the dev
mailing list