[ovs-dev] [PATCH] datapath-windows: Remove Hyper-V port name / Do not set the NDIS port state

Eitan Eliahu eliahue at vmware.com
Wed Nov 12 10:03:28 UTC 2014


[1] The NDIS port state should always reflect the port state maintained by
    NDIS so it should never be directly updated.
[2] Remove the "port name" field as we use the "friendly name" instead.

Signed-off-by: Eitan Eliahu <eliahue at vmware.com>
---
 datapath-windows/ovsext/Vport.c | 17 ++++++++---------
 datapath-windows/ovsext/Vport.h |  1 -
 2 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/datapath-windows/ovsext/Vport.c b/datapath-windows/ovsext/Vport.c
index a46d49f..85b6dac 100644
--- a/datapath-windows/ovsext/Vport.c
+++ b/datapath-windows/ovsext/Vport.c
@@ -115,10 +115,14 @@ HvTeardownPort(POVS_SWITCH_CONTEXT switchContext,
     vport = OvsFindVportByPortIdAndNicIndex(switchContext,
                                             portParam->PortId, 0);
     if (vport) {
-        /* add assertion here
-         */
-        vport->portState = NdisSwitchPortStateTeardown;
-        vport->ovsState = OVS_STATE_PORT_TEAR_DOWN;
+        vport->portState = portParam->PortState;
+        if (portParam->PortState == NdisSwitchPortStateTeardown) {
+            vport->ovsState = OVS_STATE_PORT_TEAR_DOWN;
+        }
+        else {
+            /* Expect Teardown state to be set */
+            ASSERT(portParam->PortState == NdisSwitchPortStateTeardown);
+        }
     } else {
         OVS_LOG_WARN("Vport not present.");
     }
@@ -620,8 +624,6 @@ OvsInitVportWithPortParam(POVS_VPORT_ENTRY vport,
         vport->ovsType = OVS_VPORT_TYPE_NETDEV;
         break;
     }
-    RtlCopyMemory(&vport->hvPortName, &portParam->PortName,
-                  sizeof (NDIS_SWITCH_PORT_NAME));
     /* For external and internal ports, 'portFriendlyName' is overwritten
      * later. */
     RtlCopyMemory(&vport->portFriendlyName, &portParam->PortFriendlyName,
@@ -709,9 +711,6 @@ OvsInitPhysNicVport(POVS_VPORT_ENTRY physExtVport,
     physExtVport->isBridgeInternal = FALSE;
     physExtVport->nicIndex = (NDIS_SWITCH_NIC_INDEX)physNicIndex;
 
-    RtlCopyMemory(&physExtVport->hvPortName, &virtExtVport->hvPortName,
-                  sizeof (NDIS_SWITCH_PORT_NAME));
-
     /* 'portFriendlyName' is overwritten later. */
     RtlCopyMemory(&physExtVport->portFriendlyName,
                   &virtExtVport->portFriendlyName,
diff --git a/datapath-windows/ovsext/Vport.h b/datapath-windows/ovsext/Vport.h
index b4e4fca..79b0d87 100644
--- a/datapath-windows/ovsext/Vport.h
+++ b/datapath-windows/ovsext/Vport.h
@@ -106,7 +106,6 @@ typedef struct _OVS_VPORT_ENTRY {
     UINT8                  currMacAddress[MAC_ADDRESS_LEN];
     UINT8                  vmMacAddress[MAC_ADDRESS_LEN];
 
-    NDIS_SWITCH_PORT_NAME  hvPortName;
     IF_COUNTED_STRING      portFriendlyName;
     NDIS_SWITCH_NIC_NAME   nicName;
     NDIS_VM_NAME           vmName;
-- 
1.9.4.msysgit.0




More information about the dev mailing list