[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