[ovs-dev] [PATCH 4/7] datapath-windows: OvsInitTunnelVport() and OvsInitBridgeInternalVport()
Alin Serdean
aserdean at cloudbasesolutions.com
Fri Oct 24 22:15:14 UTC 2014
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Tested-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
-----Mesaj original-----
De la: dev [mailto:dev-bounces at openvswitch.org] În numele Nithin Raju
Trimis: Friday, October 24, 2014 3:33 AM
Către: dev at openvswitch.org
Subiect: [ovs-dev] [PATCH 4/7] datapath-windows: OvsInitTunnelVport() and OvsInitBridgeInternalVport()
In this patch, we add the init functions for a Tunnel vport and a Bridge-internal vport.
Signed-off-by: Nithin Raju <nithin at vmware.com>
---
datapath-windows/ovsext/Vport.c | 51 +++++++++++++++++++++++++++++++++++++-
datapath-windows/ovsext/Vport.h | 3 ++
2 files changed, 52 insertions(+), 2 deletions(-)
diff --git a/datapath-windows/ovsext/Vport.c b/datapath-windows/ovsext/Vport.c index 3fd40f7..6fb0653 100644
--- a/datapath-windows/ovsext/Vport.c
+++ b/datapath-windows/ovsext/Vport.c
@@ -56,8 +56,6 @@ static VOID OvsInitVportWithNicParam(POVS_SWITCH_CONTEXT switchContext,
POVS_VPORT_ENTRY vport, PNDIS_SWITCH_NIC_PARAMETERS nicParam); static VOID OvsInitPhysNicVport(POVS_VPORT_ENTRY vport, POVS_VPORT_ENTRY
virtVport, UINT32 nicIndex); -static VOID OvsInitPhysNicVport(POVS_VPORT_ENTRY vport, POVS_VPORT_ENTRY
- virtVport, UINT32 nicIndex);
static __inline VOID OvsWaitActivate(POVS_SWITCH_CONTEXT switchContext,
ULONG sleepMicroSec); static NTSTATUS OvsGetExtInfoIoctl(POVS_VPORT_GET vportGet, @@ -706,6 +704,55 @@ OvsInitPhysNicVport(POVS_VPORT_ENTRY vport,
vport->ovsState = OVS_STATE_PORT_CREATED; }
+/*
+ *
+-----------------------------------------------------------------------
+---
+ * Initializes a tunnel vport.
+ *
+-----------------------------------------------------------------------
+---
+ */
+NTSTATUS
+OvsInitTunnelVport(POVS_VPORT_ENTRY vport,
+ OVS_VPORT_TYPE ovsType,
+ UINT16 dstPort)
+{
+ NTSTATUS status = STATUS_SUCCESS;
+
+ UNREFERENCED_PARAMETER(dstPort);
+
+ vport->isBridgeInternal = FALSE;
+ vport->ovsType = ovsType;
+ vport->ovsState = OVS_STATE_PORT_CREATED;
+ switch (ovsType) {
+ case OVS_VPORT_TYPE_GRE:
+ break;
+ case OVS_VPORT_TYPE_GRE64:
+ break;
+ case OVS_VPORT_TYPE_VXLAN:
+ /* Will be enabled in later. */
+ /* status = OvsInitVxlanTunnel(vport, dstPort); */
+ break;
+ default:
+ ASSERT(0);
+ }
+ return status;
+}
+
+/*
+ *
+-----------------------------------------------------------------------
+---
+ * Initializes a bridge internal vport ie. a port of type
+ * OVS_VPORT_TYPE_INTERNAL but not present on the Hyper-V switch.
+ *
+-----------------------------------------------------------------------
+---
+ */
+NTSTATUS
+OvsInitBridgeInternalVport(POVS_VPORT_ENTRY vport) {
+ vport->isBridgeInternal = TRUE;
+ vport->ovsType = OVS_VPORT_TYPE_INTERNAL;
+ /* Mark the status to be connected, since there is no other initialization
+ * for this port. */
+ vport->ovsState = OVS_STATE_CONNECTED;
+ return STATUS_SUCCESS;
+}
+
NDIS_STATUS
OvsInitVportCommon(POVS_SWITCH_CONTEXT switchContext,
POVS_VPORT_ENTRY vport) diff --git a/datapath-windows/ovsext/Vport.h b/datapath-windows/ovsext/Vport.h index 73ab80f..4757d80 100644
--- a/datapath-windows/ovsext/Vport.h
+++ b/datapath-windows/ovsext/Vport.h
@@ -205,6 +205,9 @@ VOID OvsRemoveAndDeleteVport(POVS_SWITCH_CONTEXT switchContext,
NDIS_STATUS OvsInitVportCommon(POVS_SWITCH_CONTEXT switchContext,
POVS_VPORT_ENTRY vport);
+NTSTATUS OvsInitTunnelVport(POVS_VPORT_ENTRY vport, OVS_VPORT_TYPE ovsType,
+ UINT16 dstport); NTSTATUS
+OvsInitBridgeInternalVport(POVS_VPORT_ENTRY vport);
POVS_VPORT_ENTRY OvsAllocateVport(VOID);
--
1.7.4.1
_______________________________________________
dev mailing list
dev at openvswitch.org
http://openvswitch.org/mailman/listinfo/dev
More information about the dev
mailing list