[ovs-dev] [PATCH 05/10] datapath-windows: Define OVS_DPPORT_NUMBER_INVALID

Alin Serdean aserdean at cloudbasesolutions.com
Thu Oct 9 00:21:07 UTC 2014


The fields externalVport and internalVport of the OVS_SWITCH_CONTEXT
struct are currently defined as PVOID. However, all over the code they
are used as POVS_VPORT_ENTRY. In order to improve clarity and reduce the
need for useless casts to POVS_VPORT_ENTRY, this patch changes the type
from PVOID to POVS_VPORT_ENTRY.

This patch does not cleanup the code that already uses casts to
POVS_VPORT_ENTRY. This cleanup can be done later on as well.

Signed-off-by: Samuel Ghinet <sghinet at cloudbasesolutions.com>
Co-authored-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
---
 datapath-windows/ovsext/Datapath.c | 4 ++--
 datapath-windows/ovsext/Vport.c    | 2 +-
 datapath-windows/ovsext/Vport.h    | 2 ++
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/datapath-windows/ovsext/Datapath.c b/datapath-windows/ovsext/Datapath.c
index 071007a..9725571 100644
--- a/datapath-windows/ovsext/Datapath.c
+++ b/datapath-windows/ovsext/Datapath.c
@@ -1419,7 +1419,7 @@ OvsGetVportDumpNext(POVS_USER_PARAMS_CONTEXT usrParamsCtx,
     */
     ASSERT(KeGetCurrentIrql() == DISPATCH_LEVEL);
     NdisAcquireRWLockRead(gOvsSwitchContext->dispatchLock, &lockState,
-        NDIS_RWL_AT_DISPATCH_LEVEL);
+                          NDIS_RWL_AT_DISPATCH_LEVEL);
 
     if (gOvsSwitchContext->numVports > 0) {
         /* inBucket: the bucket, used for lookup */
@@ -1447,7 +1447,7 @@ OvsGetVportDumpNext(POVS_USER_PARAMS_CONTEXT usrParamsCtx,
                 if (outIndex >= inIndex) {
                     vport = CONTAINING_RECORD(link, OVS_VPORT_ENTRY, portLink);
 
-                    if (vport->portNo != 0) {
+                    if (vport->portNo != OVS_DPPORT_NUMBER_INVALID) {
                         OvsCreateMsgFromVport(vport, msgIn,
                                               usrParamsCtx->outputBuffer,
                                               usrParamsCtx->outputLength,
diff --git a/datapath-windows/ovsext/Vport.c b/datapath-windows/ovsext/Vport.c
index 95b117e..96d8b21 100644
--- a/datapath-windows/ovsext/Vport.c
+++ b/datapath-windows/ovsext/Vport.c
@@ -716,7 +716,7 @@ POVS_VPORT_ENTRY vport)
         vport->nicIndex != 0) {
         vport->portNo = OvsGetVportNo(switchContext, vport->nicIndex,
             vport->ovsType, vport->portType == NdisSwitchPortTypeExternal);
-        if (vport->portNo == 0) {
+        if (vport->portNo == OVS_DPPORT_NUMBER_INVALID) {
             return NDIS_STATUS_RESOURCES;
         }
         ASSERT(OVS_IS_VPORT_ENTRY_NULL(switchContext,
diff --git a/datapath-windows/ovsext/Vport.h b/datapath-windows/ovsext/Vport.h
index 0061b0f..2e96e95 100644
--- a/datapath-windows/ovsext/Vport.h
+++ b/datapath-windows/ovsext/Vport.h
@@ -19,6 +19,8 @@
 
 #include "Switch.h"
 
+#define OVS_DPPORT_NUMBER_INVALID 0
+
 /*
  * A Vport, or Virtual Port, is a port on the OVS. It can be one of the
  * following types. Some of the Vports are "real" ports on the hyper-v switch,
-- 
1.9.4.msysgit.1



More information about the dev mailing list