summaryrefslogtreecommitdiff
path: root/datapath-windows/ovsext/Vport.h
diff options
context:
space:
mode:
authorSamuel Ghinet <sghinet@cloudbasesolutions.com>2014-09-25 21:20:25 +0000
committerBen Pfaff <blp@nicira.com>2014-09-26 10:21:34 -0700
commite00afcf6427ab3b99c6ad0867c2a22bfe9ead180 (patch)
tree7bdcc7d23a609976e6faf73944a0b9cef79f8afa /datapath-windows/ovsext/Vport.h
parent260f76b7e3cf6bd52a2a80d5186f2a68b0123017 (diff)
downloadopenvswitch-e00afcf6427ab3b99c6ad0867c2a22bfe9ead180.tar.gz
datapath-windows: fix OVS_VPORT_TYPE
The windows ovs kernel uses an OVS_VPORT_TYPE enum that is incompatible with the userspace counterpart (enum ovs_vport_type from openvswitch.h). We must use the same enum type for the netlink communication to work properly. This patch makes the fix: "typedef enum ovs_vport_type OVS_VPORT_TYPE" and changes the afferent kernel driver code: o) vport types synthetic and emulated turn to: netdev o) vport type internal turns to: internal o) vport type external truns to: netdev (plus, we hold a field in vport, "isExternal" Signed-off-by: Samuel Ghinet <sghinet@cloudbasesolutions.com> Acked-by: Nithin Raju <nithin@vmware.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'datapath-windows/ovsext/Vport.h')
-rw-r--r--datapath-windows/ovsext/Vport.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/datapath-windows/ovsext/Vport.h b/datapath-windows/ovsext/Vport.h
index 80bdea8ea..fe48d1e61 100644
--- a/datapath-windows/ovsext/Vport.h
+++ b/datapath-windows/ovsext/Vport.h
@@ -86,6 +86,7 @@ typedef struct _OVS_VPORT_ENTRY {
NDIS_SWITCH_NIC_NAME nicName;
NDIS_VM_NAME vmName;
GUID netCfgInstanceId;
+ BOOLEAN isExternal;
} OVS_VPORT_ENTRY, *POVS_VPORT_ENTRY;
struct _OVS_SWITCH_CONTEXT;
@@ -143,15 +144,15 @@ VOID OvsDisconnectNic(POVS_SWITCH_CONTEXT switchContext,
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 +174,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.");