This patch is ok but not related to the Vport commands.

Acked-by: Eitan Eliahu <elia...@vmware.com>


-----Original Message-----
From: Samuel Ghinet [mailto:sghi...@cloudbasesolutions.com] 
Sent: Tuesday, September 30, 2014 7:46 AM
To: dev@openvswitch.org
Cc: Alin Serdean; Nithin Raju; Eitan Eliahu; Ankur Sharma
Subject: [PATCH 03/14] datapath-windows: We don't need to keep validation ports 
in ovs

Validation ports are used internally by the hyper-v switch to validate and 
verify settings for the real hyper-v switch ports that will be connected to the 
VNic. The validation ports are of no use to us - we must skip handling them, 
and return STATUS_SUCCESS as the OID result.

Signed-off-by: Samuel Ghinet <sghi...@cloudbasesolutions.com>
---
 datapath-windows/ovsext/Oid.c   | 4 ++++
 datapath-windows/ovsext/Vport.c | 8 +++++---  datapath-windows/ovsext/Vport.h 
| 1 -
 3 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/datapath-windows/ovsext/Oid.c b/datapath-windows/ovsext/Oid.c 
index 39e47c2..f67bf11 100644
--- a/datapath-windows/ovsext/Oid.c
+++ b/datapath-windows/ovsext/Oid.c
@@ -159,6 +159,10 @@ OvsProcessSetOidPort(POVS_SWITCH_CONTEXT switchObject,
         goto done;
     }
 
+    if (portParam->IsValidationPort) {
+        return NDIS_STATUS_SUCCESS;
+    }
+
     switch(setInfo->Oid) {
     case OID_SWITCH_PORT_CREATE:
         status = HvOnCreatePort(switchObject, portParam); diff --git 
a/datapath-windows/ovsext/Vport.c b/datapath-windows/ovsext/Vport.c index 
198acdf..b480e69 100644
--- a/datapath-windows/ovsext/Vport.c
+++ b/datapath-windows/ovsext/Vport.c
@@ -601,7 +601,6 @@ static VOID
 OvsInitVportWithPortParam(POVS_VPORT_ENTRY vport,
                           PNDIS_SWITCH_PORT_PARAMETERS portParam)  {
-    vport->isValidationPort = portParam->IsValidationPort;
     vport->portType = portParam->PortType;
     vport->portState = portParam->PortState;
     vport->portId = portParam->PortId;
@@ -690,7 +689,6 @@ OvsInitPhysNicVport(POVS_VPORT_ENTRY vport,
                     POVS_VPORT_ENTRY virtVport,
                     UINT32 nicIndex)
 {
-    vport->isValidationPort = virtVport->isValidationPort;
     vport->portType = virtVport->portType;
     vport->portState = virtVport->portState;
     vport->portId = virtVport->portId;
@@ -830,6 +828,11 @@ OvsAddConfiguredSwitchPorts(POVS_SWITCH_CONTEXT 
switchContext)
 
     for (arrIndex = 0; arrIndex < portArray->NumElements; arrIndex++) {
          portParam = NDIS_SWITCH_PORT_AT_ARRAY_INDEX(portArray, arrIndex);
+
+         if (portParam->IsValidationPort) {
+             continue;
+         }
+
          vport = (POVS_VPORT_ENTRY)OvsAllocateVport();
          if (vport == NULL) {
              status = NDIS_STATUS_RESOURCES; @@ -946,7 +949,6 @@ 
OvsInitTunnelVport(POVS_VPORT_ENTRY vport,
     size_t len;
     NTSTATUS status = STATUS_SUCCESS;
 
-    vport->isValidationPort = FALSE;
     vport->ovsType = addReq->type;
     vport->ovsState = OVS_STATE_PORT_CREATED;
     RtlCopyMemory(vport->ovsName, addReq->name, OVS_MAX_PORT_NAME_LENGTH); 
diff --git a/datapath-windows/ovsext/Vport.h b/datapath-windows/ovsext/Vport.h 
index b65b4ed..1e5346f 100644
--- a/datapath-windows/ovsext/Vport.h
+++ b/datapath-windows/ovsext/Vport.h
@@ -82,7 +82,6 @@ typedef struct _OVS_VPORT_ENTRY {
     NDIS_SWITCH_PORT_STATE portState;
     NDIS_SWITCH_NIC_STATE  nicState;
     NDIS_SWITCH_PORT_TYPE  portType;
-    BOOLEAN                isValidationPort;
 
     UINT8                  permMacAddress[MAC_ADDRESS_LEN];
     UINT8                  currMacAddress[MAC_ADDRESS_LEN];
--
1.8.3.msysgit.0

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

Reply via email to