[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