Skip to content

Commit

Permalink
datapath-windows: cleanup DpInternal.h
Browse files Browse the repository at this point in the history
Getting rid of unused definitions in DpInternal.h.

This is only the first round. There's scope for more cleanup.

Signed-off-by: Nithin Raju <nithin@vmware.com>
Acked-by: Sorin Vinturis <svinturis@cloudbasesolutions.com>
Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
  • Loading branch information
nithinrajub authored and shettyg committed Nov 20, 2014
1 parent 9c3d71b commit b3123b2
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 179 deletions.
171 changes: 3 additions & 168 deletions datapath-windows/ovsext/DpInternal.h
Expand Up @@ -21,119 +21,12 @@
#define IFNAMSIZ IF_NAMESIZE
#include "../ovsext/Netlink/Netlink.h"

#define OVS_DRIVER_MAJOR_VER 1
#define OVS_DRIVER_MINOR_VER 0

#define OVS_DEVICE_TYPE 45000
#define OVS_IOCTL_TYPE OVS_DEVICE_TYPE
#define OVS_DP_NUMBER ((uint32_t) 0)
#define OVSWIN_DEVICE_NAME_MAX_LENGTH 32

#define IFF_RUNNING 0x20
#define IFF_PROMISC 0x40

#define OVS_MAX_OPAQUE_NETWORK_ID_LEN 128

#define OVS_NT_DEVICE_NAME L"\\Device\\OvsIoctl"
#define OVS_DOS_DEVICE_NAME L"\\DosDevices\\OvsIoctl"
#define OVS_USER_DEVICE_PATH TEXT("\\\\.\\OvsIoctl")

#define OVS_IOCTL_DP_START 0x100
#define OVS_IOCTL_DP_DUMP \
CTL_CODE (OVS_DEVICE_TYPE, OVS_IOCTL_DP_START + 0x0, METHOD_BUFFERED, FILE_READ_ACCESS)
#define OVS_IOCTL_DP_GET \
CTL_CODE (OVS_DEVICE_TYPE, OVS_IOCTL_DP_START + 0x1, METHOD_OUT_DIRECT, FILE_READ_ACCESS)
#define OVS_IOCTL_DP_SET \
CTL_CODE (OVS_DEVICE_TYPE, OVS_IOCTL_DP_START + 0x2, METHOD_IN_DIRECT, FILE_WRITE_ACCESS)
#define OVS_IOCTL_DP_TIMESTAMP_SET \
CTL_CODE (OVS_DEVICE_TYPE, OVS_IOCTL_DP_START + 0x3, METHOD_BUFFERED, FILE_ANY_ACCESS)


#define OVS_IOCTL_VPORT_START 0x200
#define OVS_IOCTL_VPORT_DUMP \
CTL_CODE (OVS_DEVICE_TYPE, OVS_IOCTL_VPORT_START + 0x0, METHOD_OUT_DIRECT, FILE_READ_ACCESS)
#define OVS_IOCTL_VPORT_GET \
CTL_CODE (OVS_DEVICE_TYPE, OVS_IOCTL_VPORT_START + 0x1, METHOD_OUT_DIRECT, FILE_READ_ACCESS)
#define OVS_IOCTL_VPORT_SET \
CTL_CODE (OVS_DEVICE_TYPE, OVS_IOCTL_VPORT_START + 0x2, METHOD_IN_DIRECT, FILE_WRITE_ACCESS)
#define OVS_IOCTL_VPORT_ADD \
CTL_CODE (OVS_DEVICE_TYPE, OVS_IOCTL_VPORT_START + 0x3, METHOD_IN_DIRECT, FILE_WRITE_ACCESS)
#define OVS_IOCTL_VPORT_DEL \
CTL_CODE (OVS_DEVICE_TYPE, OVS_IOCTL_VPORT_START + 0x4, METHOD_IN_DIRECT, FILE_WRITE_ACCESS)
#define OVS_IOCTL_VPORT_EXT_INFO \
CTL_CODE (OVS_DEVICE_TYPE, OVS_IOCTL_VPORT_START + 0x5, METHOD_OUT_DIRECT, FILE_READ_ACCESS)

#define OVS_IOCTL_FLOW_START 0x300
#define OVS_IOCTL_FLOW_DUMP \
CTL_CODE (OVS_DEVICE_TYPE, OVS_IOCTL_FLOW_START + 0x0, METHOD_OUT_DIRECT, FILE_READ_ACCESS)
#define OVS_IOCTL_FLOW_GET \
CTL_CODE (OVS_DEVICE_TYPE, OVS_IOCTL_FLOW_START + 0x1, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)

#define OVS_IOCTL_FLOW_PUT \
CTL_CODE (OVS_DEVICE_TYPE, OVS_IOCTL_FLOW_START + 0x2, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define OVS_IOCTL_FLOW_FLUSH \
CTL_CODE (OVS_DEVICE_TYPE, OVS_IOCTL_FLOW_START + 0x3, METHOD_BUFFERED, FILE_WRITE_ACCESS)


#define OVS_IOCTL_QOS_START 0x400
#define OVS_IOCTL_QOS_QUEUE_DUMP \
CTL_CODE (OVS_DEVICE_TYPE, OVS_IOCTL_QOS_START + 0x0, METHOD_OUT_DIRECT, FILE_READ_ACCESS)
#define OVS_IOCTL_QOS_QUEUE_GET \
CTL_CODE (OVS_DEVICE_TYPE, OVS_IOCTL_QOS_START + 0x1, METHOD_OUT_DIRECT, FILE_READ_ACCESS)
#define OVS_IOCTL_QOS_QUEUE_SET \
CTL_CODE (OVS_DEVICE_TYPE, OVS_IOCTL_QOS_START + 0x2, METHOD_IN_DIRECT, FILE_WRITE_ACCESS)


#define OVS_IOCTL_DATAPATH_START 0x500
#define OVS_IOCTL_DATAPATH_SUBSCRIBE \
CTL_CODE (OVS_DEVICE_TYPE, OVS_IOCTL_DATAPATH_START + 0x0, METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define OVS_IOCTL_DATAPATH_READ \
CTL_CODE (OVS_DEVICE_TYPE, OVS_IOCTL_DATAPATH_START + 0x1, METHOD_OUT_DIRECT, FILE_READ_ACCESS)
#define OVS_IOCTL_DATAPATH_EXECUTE \
CTL_CODE (OVS_DEVICE_TYPE, OVS_IOCTL_DATAPATH_START + 0x2, METHOD_IN_DIRECT, FILE_WRITE_ACCESS)
#define OVS_IOCTL_DATAPATH_OPERATE \
CTL_CODE (OVS_DEVICE_TYPE, OVS_IOCTL_DATAPATH_START + 0x3, METHOD_IN_DIRECT, FILE_ANY_ACCESS)
#define OVS_IOCTL_DATAPATH_PURGE \
CTL_CODE (OVS_DEVICE_TYPE, OVS_IOCTL_DATAPATH_START + 0x4, METHOD_NEITHER, FILE_ANY_ACCESS)
#define OVS_IOCTL_DATAPATH_WAIT \
CTL_CODE (OVS_DEVICE_TYPE, OVS_IOCTL_DATAPATH_START + 0x5, METHOD_NEITHER, FILE_ANY_ACCESS)



#define OVS_IOCTL_EVENT_START 0x600
#define OVS_IOCTL_EVENT_SUBSCRIBE \
CTL_CODE (OVS_DEVICE_TYPE, OVS_IOCTL_EVENT_START + 0x0, METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define OVS_IOCTL_EVENT_POLL \
CTL_CODE (OVS_DEVICE_TYPE, OVS_IOCTL_EVENT_START + 0x1, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
#define OVS_IOCTL_EVENT_WAIT \
CTL_CODE (OVS_DEVICE_TYPE, OVS_IOCTL_EVENT_START + 0x2, METHOD_BUFFERED, FILE_ANY_ACCESS)


#define OVS_IOCTL_VERSION_START 0x700
#define OVS_IOCTL_VERSION_GET \
CTL_CODE(OVS_DEVICE_TYPE, OVS_IOCTL_VERSION_START + 0x0, METHOD_BUFFERED, FILE_ANY_ACCESS)

typedef __declspec(align(8)) uint64_t Ovs64AlignedU64;
typedef __declspec(align(8)) ovs_be64 Ovs64AlignedBe64;
#pragma pack(push, 1)


typedef struct _OVS_DP_INFO {
char name[128];
uint32_t dpNo;
uint32_t queue;
Ovs64AlignedU64 nHit;
Ovs64AlignedU64 nMissed;
Ovs64AlignedU64 nLost;
Ovs64AlignedU64 nFlows;
} OVS_DP_INFO, *POVS_DP_INFO;


typedef struct _OVS_VERSION {
uint8_t mjrDrvVer;
uint8_t mnrDrvVer;
} OVS_VERSION, *POVS_VERSION;

#define OVS_MAX_PORT_NAME_LENGTH IFNAMSIZ

typedef struct _OVS_VPORT_GET {
Expand All @@ -142,72 +35,15 @@ typedef struct _OVS_VPORT_GET {
char name[OVS_MAX_PORT_NAME_LENGTH];
} OVS_VPORT_GET, *POVS_VPORT_GET;

static __inline const char *
OvsVportTypeToStr(OVS_VPORT_TYPE t)
{
switch(t) {
#define STR(t) case OVS_VPORT_TYPE_##t : return "VPORT_##t";
STR(UNSPEC)
STR(NETDEV)
STR(INTERNAL)
STR(GRE)
STR(GRE64)
STR(VXLAN)
STR(GENEVE)
STR(LISP)
}
#undef STR

return "Invalid type";
}

#define MAC_ADDRESS_LEN 6

typedef struct _OVS_VPORT_INFO {
uint32_t dpNo;
uint32_t portNo;
char name[OVS_MAX_PORT_NAME_LENGTH];
uint32_t type;
uint32_t queue;

Ovs64AlignedU64 rxPackets;
Ovs64AlignedU64 txPackets;
Ovs64AlignedU64 rxBytes;
Ovs64AlignedU64 txBytes;
Ovs64AlignedU64 rxErrors;
Ovs64AlignedU64 txErrors;
Ovs64AlignedU64 rxDropped;
Ovs64AlignedU64 txDropped;

uint8_t macAddress[MAC_ADDRESS_LEN];
uint16_t pad;
} OVS_VPORT_INFO, *POVS_VPORT_INFO;

typedef struct _OVS_VPORT_ADD_REQUEST {
uint32_t dpNo;
uint32_t type;
char name[OVS_MAX_PORT_NAME_LENGTH];
uint16_t dstPort;
uint16_t pad[3];
} OVS_VPORT_ADD_REQUEST, *POVS_VPORT_ADD_REQUEST;


typedef struct _OVS_VPORT_DELETE_REQUEST {
uint32_t dpNo;
uint32_t portNo;
char name[OVS_MAX_PORT_NAME_LENGTH];
} OVS_VPORT_DELETE_REQUEST, *POVS_VPORT_DELETE_REQUEST;


#define OVS_MAX_VM_UUID_LEN 128
#define OVS_MAX_VIF_UUID_LEN 128

typedef struct _OVS_VPORT_EXT_INFO {
uint32_t dpNo;
uint32_t portNo;
uint8_t macAddress[MAC_ADDRESS_LEN];
uint8_t permMACAddress[MAC_ADDRESS_LEN];
uint8_t vmMACAddress[MAC_ADDRESS_LEN];
uint8_t macAddress[ETH_ADDR_LEN];
uint8_t permMACAddress[ETH_ADDR_LEN];
uint8_t vmMACAddress[ETH_ADDR_LEN];
uint16_t nicIndex;
uint32_t portId;
uint32_t type;
Expand All @@ -221,7 +57,6 @@ typedef struct _OVS_VPORT_EXT_INFO {

/* Flows. */
#define OVSWIN_VLAN_CFI 0x1000
#define OVSWIN_INPORT_INVALID 0xffffffff

/* Used for OvsFlowKey's dlType member for frames that have no Ethernet type,
* that is, pure 802.2 frames. */
Expand Down
10 changes: 5 additions & 5 deletions datapath-windows/ovsext/IpHelper.c
Expand Up @@ -787,7 +787,7 @@ OvsCreateIPNeighEntry(PMIB_IPNET_ROW2 ipNeigh)
KeQuerySystemTime((LARGE_INTEGER *)&timeVal);
entry->timeout = timeVal + OVS_IPNEIGH_TIMEOUT;
RtlCopyMemory(entry->macAddr, ipNeigh->PhysicalAddress,
MAC_ADDRESS_LEN);
ETH_ADDR_LEN);
InitializeListHead(&entry->fwdList);

return entry;
Expand Down Expand Up @@ -1305,9 +1305,9 @@ OvsHandleFwdRequest(POVS_IP_HELPER_REQUEST request)
*/
fwdInfo.dstIpAddr = request->fwdReq.tunnelKey.dst;
fwdInfo.srcIpAddr = srcAddr;
RtlCopyMemory(fwdInfo.dstMacAddr, ipn->macAddr, MAC_ADDRESS_LEN);
RtlCopyMemory(fwdInfo.dstMacAddr, ipn->macAddr, ETH_ADDR_LEN);
RtlCopyMemory(fwdInfo.srcMacAddr, ovsInternalRow.PhysicalAddress,
MAC_ADDRESS_LEN);
ETH_ADDR_LEN);
fwdInfo.srcPortNo = request->fwdReq.inPort;

fwdEntry = OvsCreateFwdEntry(&fwdInfo);
Expand Down Expand Up @@ -1386,7 +1386,7 @@ OvsUpdateIPNeighEntry(UINT32 ipAddr,

if (memcmp((const PVOID)ipn->macAddr,
(const PVOID)ipNeigh->PhysicalAddress,
(size_t)MAC_ADDRESS_LEN)) {
(size_t)ETH_ADDR_LEN)) {
PLIST_ENTRY link;
POVS_FWD_ENTRY fwdEntry;
NdisReleaseRWLock(ovsTableLock, &lockState);
Expand All @@ -1406,7 +1406,7 @@ OvsUpdateIPNeighEntry(UINT32 ipAddr,
LIST_FORALL(&ipn->fwdList, link) {
fwdEntry = CONTAINING_RECORD(link, OVS_FWD_ENTRY, ipnLink);
RtlCopyMemory(fwdEntry->info.dstMacAddr,
ipNeigh->PhysicalAddress, MAC_ADDRESS_LEN);
ipNeigh->PhysicalAddress, ETH_ADDR_LEN);
}
}
/*
Expand Down
6 changes: 3 additions & 3 deletions datapath-windows/ovsext/IpHelper.h
Expand Up @@ -33,7 +33,7 @@


typedef struct _OVS_IPNEIGH_ENTRY {
UINT8 macAddr[MAC_ADDRESS_LEN];
UINT8 macAddr[ETH_ADDR_LEN];
UINT16 refCount;
UINT32 ipAddr;
UINT32 pad;
Expand All @@ -55,8 +55,8 @@ typedef union _OVS_FWD_INFO {
struct {
UINT32 dstIpAddr;
UINT32 srcIpAddr;
UINT8 dstMacAddr[MAC_ADDRESS_LEN];
UINT8 srcMacAddr[MAC_ADDRESS_LEN];
UINT8 dstMacAddr[ETH_ADDR_LEN];
UINT8 srcMacAddr[ETH_ADDR_LEN];
UINT32 srcPortNo;
};
UINT64 value[3];
Expand Down
6 changes: 3 additions & 3 deletions datapath-windows/ovsext/Vport.h
Expand Up @@ -102,9 +102,9 @@ typedef struct _OVS_VPORT_ENTRY {
NDIS_SWITCH_NIC_STATE nicState;
NDIS_SWITCH_PORT_TYPE portType;

UINT8 permMacAddress[MAC_ADDRESS_LEN];
UINT8 currMacAddress[MAC_ADDRESS_LEN];
UINT8 vmMacAddress[MAC_ADDRESS_LEN];
UINT8 permMacAddress[ETH_ADDR_LEN];
UINT8 currMacAddress[ETH_ADDR_LEN];
UINT8 vmMacAddress[ETH_ADDR_LEN];

NDIS_SWITCH_PORT_NAME hvPortName;
IF_COUNTED_STRING portFriendlyName;
Expand Down

0 comments on commit b3123b2

Please sign in to comment.