datapath-windows: Rename hyper-v switch port and nic handlers
[cascardo/ovs.git] / datapath-windows / ovsext / Vport.h
index 80bdea8..e606e1f 100644 (file)
@@ -39,10 +39,10 @@ typedef enum {
 } OVS_VPORT_STATE;
 
 typedef struct _OVS_VPORT_STATS {
-    UINT64 rxBytes;
     UINT64 rxPackets;
-    UINT64 txBytes;
     UINT64 txPackets;
+    UINT64 rxBytes;
+    UINT64 txBytes;
 } OVS_VPORT_STATS;
 
 typedef struct _OVS_VPORT_ERR_STATS {
@@ -51,6 +51,12 @@ typedef struct _OVS_VPORT_ERR_STATS {
     UINT64  rxDropped;
     UINT64  txDropped;
 } OVS_VPORT_ERR_STATS;
+
+/* used for vport netlink commands. */
+typedef struct _OVS_VPORT_FULL_STATS {
+    OVS_VPORT_STATS;
+    OVS_VPORT_ERR_STATS;
+}OVS_VPORT_FULL_STATS;
 /*
  * Each internal, external adapter or vritual adapter has
  * one vport entry. In addition, we have one vport for each
@@ -86,6 +92,8 @@ typedef struct _OVS_VPORT_ENTRY {
     NDIS_SWITCH_NIC_NAME   nicName;
     NDIS_VM_NAME           vmName;
     GUID                   netCfgInstanceId;
+    BOOLEAN                isExternal;
+    UINT32                 upcallPid; /* netlink upcall port id */
 } OVS_VPORT_ENTRY, *POVS_VPORT_ENTRY;
 
 struct _OVS_SWITCH_CONTEXT;
@@ -109,49 +117,35 @@ NDIS_STATUS OvsInitConfiguredSwitchNics(struct _OVS_SWITCH_CONTEXT *switchContex
 
 VOID OvsClearAllSwitchVports(struct _OVS_SWITCH_CONTEXT *switchContext);
 
-NTSTATUS OvsDumpVportIoctl(PVOID inputBuffer, UINT32 inputLength,
-                           PVOID outputBuffer, UINT32 outputLength,
-                           UINT32 *replyLen);
-NTSTATUS OvsGetVportIoctl(PVOID inputBuffer, UINT32 inputLength,
-                          PVOID outputBuffer, UINT32 outputLength,
-                          UINT32 *replyLen);
-NTSTATUS OvsAddVportIoctl(PVOID inputBuffer, UINT32 inputLength,
-                          PVOID outputBuffer, UINT32 outputLength,
-                          UINT32 *replyLen);
-NTSTATUS OvsDelVportIoctl(PVOID inputBuffer, UINT32 inputLength,
-                          UINT32 *replyLen);
-NTSTATUS OvsGetExtInfoIoctl(PVOID inputBuffer, UINT32 inputLength,
-                            PVOID outputBuffer, UINT32 outputLength,
-                            UINT32 *replyLen);
-NDIS_STATUS OvsCreateNic(POVS_SWITCH_CONTEXT switchContext,
-                         PNDIS_SWITCH_NIC_PARAMETERS nicParam);
-NDIS_STATUS OvsCreatePort(POVS_SWITCH_CONTEXT switchContext,
-                          PNDIS_SWITCH_PORT_PARAMETERS portParam);
-VOID OvsTeardownPort(POVS_SWITCH_CONTEXT switchContext,
-                     PNDIS_SWITCH_PORT_PARAMETERS portParam);
-VOID OvsDeletePort(POVS_SWITCH_CONTEXT switchContext,
-                   PNDIS_SWITCH_PORT_PARAMETERS portParam);
-VOID OvsConnectNic(POVS_SWITCH_CONTEXT switchContext,
-                   PNDIS_SWITCH_NIC_PARAMETERS nicParam);
-VOID OvsUpdateNic(POVS_SWITCH_CONTEXT switchContext,
-                  PNDIS_SWITCH_NIC_PARAMETERS nicParam);
-VOID OvsDeleteNic(POVS_SWITCH_CONTEXT switchContext,
+NDIS_STATUS HvCreateNic(POVS_SWITCH_CONTEXT switchContext,
+                        PNDIS_SWITCH_NIC_PARAMETERS nicParam);
+NDIS_STATUS HvCreatePort(POVS_SWITCH_CONTEXT switchContext,
+                         PNDIS_SWITCH_PORT_PARAMETERS portParam);
+VOID HvTeardownPort(POVS_SWITCH_CONTEXT switchContext,
+                    PNDIS_SWITCH_PORT_PARAMETERS portParam);
+VOID HvDeletePort(POVS_SWITCH_CONTEXT switchContext,
+                  PNDIS_SWITCH_PORT_PARAMETERS portParam);
+VOID HvConnectNic(POVS_SWITCH_CONTEXT switchContext,
                   PNDIS_SWITCH_NIC_PARAMETERS nicParam);
-VOID OvsDisconnectNic(POVS_SWITCH_CONTEXT switchContext,
-                      PNDIS_SWITCH_NIC_PARAMETERS nicParam);
+VOID HvUpdateNic(POVS_SWITCH_CONTEXT switchContext,
+                 PNDIS_SWITCH_NIC_PARAMETERS nicParam);
+VOID HvDeleteNic(POVS_SWITCH_CONTEXT switchContext,
+                 PNDIS_SWITCH_NIC_PARAMETERS nicParam);
+VOID HvDisconnectNic(POVS_SWITCH_CONTEXT switchContext,
+                     PNDIS_SWITCH_NIC_PARAMETERS nicParam);
 
 static __inline BOOLEAN
 OvsIsTunnelVportType(OVS_VPORT_TYPE ovsType)
 {
-    return ovsType == OVSWIN_VPORT_TYPE_VXLAN ||
-           ovsType == OVSWIN_VPORT_TYPE_GRE ||
-           ovsType == OVSWIN_VPORT_TYPE_GRE64;
+    return ovsType == OVS_VPORT_TYPE_VXLAN ||
+           ovsType == OVS_VPORT_TYPE_GRE ||
+           ovsType == OVS_VPORT_TYPE_GRE64;
 }
 
 static __inline BOOLEAN
 OvsIsInternalVportType(OVS_VPORT_TYPE ovsType)
 {
-    return ovsType == OVSWIN_VPORT_TYPE_INTERNAL;
+    return ovsType == OVS_VPORT_TYPE_INTERNAL;
 }
 
 static __inline BOOLEAN
@@ -173,7 +167,7 @@ OvsGetTunnelVport(OVS_VPORT_TYPE type)
 {
     ASSERT(OvsIsTunnelVportType(type));
     switch(type) {
-    case OVSWIN_VPORT_TYPE_VXLAN:
+    case OVS_VPORT_TYPE_VXLAN:
         return (POVS_VPORT_ENTRY) OvsGetVportFromIndex(OVS_VXLAN_VPORT_INDEX);
     default:
         ASSERT(! "OvsGetTunnelVport not implemented for this tunnel.");