netdev-dpdk: fix mbuf leaks
[cascardo/ovs.git] / datapath-windows / include / OvsDpInterfaceExt.h
index 953c8ba..e235376 100644 (file)
 
 #define OVS_IOCTL_DEVICE_TYPE 45000
 
-/* We used Direct I/O (zero copy) for the buffers. */
 #define OVS_IOCTL_START   0x100
+/* We used Direct I/O (zero copy) for the buffers. */
+/* Non-Netlink-based IOCTLs. */
+#define OVS_IOCTL_GET_PID \
+    CTL_CODE (OVS_IOCTL_DEVICE_TYPE, OVS_IOCTL_START + 0x0, METHOD_BUFFERED,\
+              FILE_WRITE_ACCESS)
+/* Netlink-based IOCTLs. */
 #define OVS_IOCTL_READ \
-    CTL_CODE (OVS_IOCTL_DEVICE_TYPE, OVS_IOCTL_START + 0x0, METHOD_OUT_DIRECT,\
+    CTL_CODE (OVS_IOCTL_DEVICE_TYPE, OVS_IOCTL_START + 0x1, METHOD_OUT_DIRECT,\
               FILE_READ_ACCESS)
 #define OVS_IOCTL_READ_EVENT \
-    CTL_CODE (OVS_IOCTL_DEVICE_TYPE, OVS_IOCTL_START + 0x1, METHOD_OUT_DIRECT, \
+    CTL_CODE (OVS_IOCTL_DEVICE_TYPE, OVS_IOCTL_START + 0x2, METHOD_OUT_DIRECT, \
               FILE_READ_ACCESS)
 #define OVS_IOCTL_READ_PACKET \
-    CTL_CODE (OVS_IOCTL_DEVICE_TYPE, OVS_IOCTL_START + 0x2, METHOD_OUT_DIRECT, \
+    CTL_CODE (OVS_IOCTL_DEVICE_TYPE, OVS_IOCTL_START + 0x3, METHOD_OUT_DIRECT, \
               FILE_READ_ACCESS)
 #define OVS_IOCTL_WRITE \
-    CTL_CODE (OVS_IOCTL_DEVICE_TYPE, OVS_IOCTL_START + 0x3, METHOD_IN_DIRECT,\
+    CTL_CODE (OVS_IOCTL_DEVICE_TYPE, OVS_IOCTL_START + 0x4, METHOD_IN_DIRECT,\
               FILE_READ_ACCESS)
 #define OVS_IOCTL_TRANSACT \
-    CTL_CODE (OVS_IOCTL_DEVICE_TYPE, OVS_IOCTL_START + 0x4, METHOD_OUT_DIRECT,\
+    CTL_CODE (OVS_IOCTL_DEVICE_TYPE, OVS_IOCTL_START + 0x5, METHOD_OUT_DIRECT,\
               FILE_WRITE_ACCESS)
 
 /*
@@ -75,8 +80,8 @@
 
 /* Commands available under the OVS_WIN_CONTROL_FAMILY. */
 enum ovs_win_control_cmd {
-    OVS_CTRL_CMD_WIN_GET_PID,
     OVS_CTRL_CMD_WIN_PEND_REQ,
+    OVS_CTRL_CMD_WIN_PEND_PACKET_REQ,
     OVS_CTRL_CMD_MC_SUBSCRIBE_REQ,
     OVS_CTRL_CMD_PACKET_SUBSCRIBE_REQ,
 
@@ -107,8 +112,6 @@ enum ovs_win_netdev_cmd {
     OVS_WIN_NETDEV_CMD_GET,     /* information about the netdev. */
 };
 
-#define OVS_WIN_NETDEV_ATTR_MAX (__OVS_WIN_NETDEV_ATTR_MAX - 1)
-
 /**
  * For every vport on the datapath, there is a corresponding netdev.  General
  * network device attributes of a vport that are not specific to OVS, such as
@@ -145,12 +148,11 @@ enum ovs_win_netdev_attr {
     OVS_WIN_NETDEV_ATTR_IF_FLAGS,    /* Interface flags o the vport. */
     __OVS_WIN_NETDEV_ATTR_MAX
 };
+#define OVS_WIN_NETDEV_ATTR_MAX (__OVS_WIN_NETDEV_ATTR_MAX - 1)
 
 #define OVS_WIN_NETDEV_IFF_UP                   (1 << 0)
 #define OVS_WIN_NETDEV_IFF_PROMISC              (1 << 1)
 
-#define OVS_WIN_NETDEV_ATTR_MAX (__OVS_WIN_NETDEV_ATTR_MAX - 1)
-
 typedef struct ovs_dp_stats OVS_DP_STATS;
 typedef enum ovs_vport_type OVS_VPORT_TYPE;