[ovs-dev] [PATCH v2 1/7] datapath-windows: Explicitly name vport related event to vportEvent

Guru Shetty guru at ovn.org
Fri Jul 29 15:46:46 UTC 2016


On 25 July 2016 at 17:04, 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.
>

I applied the series, thank you! Please note that you should not add
versioning information in the commit message. When you do a 'git am' of
this patch series, each commit has some versioning information. If they end
up in the eventual commit history, it does not add any useful information,
and looks wrong. You should add any of this versioning information below
the "---". You can look at some other patches in the mailing list for
examples. You can also try 'git am' ing your own patch to see the end
result.


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