summaryrefslogtreecommitdiff
path: root/datapath-windows/ovsext/User.h
diff options
context:
space:
mode:
authorEitan Eliahu <eliahue@vmware.com>2014-10-16 23:45:42 -0700
committerBen Pfaff <blp@nicira.com>2014-10-17 13:57:17 -0700
commitae1fd3860e26a42aafa621ecdca8d2e55ff4cc00 (patch)
tree31583caaab1241205a97522d6189dc1d3ae281a9 /datapath-windows/ovsext/User.h
parentcfa57405bb7f22ad587b33a030bf1e8c10fbda8d (diff)
downloadopenvswitch-ae1fd3860e26a42aafa621ecdca8d2e55ff4cc00.tar.gz
datapath-windows: Packet subscribe handler
This change includes the following: [1] Handler for subscribe/unsubscribe to a packet queue associated with a socket pid. [2] Allocation of per socket packet queue on a packet subscription. [3] Removal of static allocated queues. [4] Freeing the packet queue (on user mode process termination). Signed-off-by: Eitan Eliahu <eliahue@vmware.com> Acked-by: Ankur Sharma <ankursharma@vmware.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'datapath-windows/ovsext/User.h')
-rw-r--r--datapath-windows/ovsext/User.h20
1 files changed, 8 insertions, 12 deletions
diff --git a/datapath-windows/ovsext/User.h b/datapath-windows/ovsext/User.h
index 550915a18..0c18e2f72 100644
--- a/datapath-windows/ovsext/User.h
+++ b/datapath-windows/ovsext/User.h
@@ -21,6 +21,7 @@
#ifndef __USER_H_
#define __USER_H_ 1
+
#include "Datapath.h"
/*
@@ -28,7 +29,6 @@
* more than 32 queues for processing packets to
* userspace
*/
-#define OVS_MAX_NUM_PACKET_QUEUES 32
#define OVS_DEFAULT_PACKET_QUEUE 1
#define OVS_MAX_PACKET_QUEUE_LEN 4096
@@ -40,7 +40,7 @@
#define OVS_MAX_PACKETS_PER_TUNNEL 1024
typedef struct _OVS_USER_PACKET_QUEUE {
- UINT32 queueId;
+ UINT32 pid;
UINT32 numPackets;
LIST_ENTRY packetList;
PVOID instance;
@@ -67,10 +67,6 @@ typedef struct _OVS_USER_STATS {
UINT32 l4Csum;
} OVS_USER_STATS, *POVS_USER_STATS;
-
-NTSTATUS OvsUserInit();
-VOID OvsUserCleanup();
-
VOID OvsCleanupPacketQueue(struct _OVS_OPEN_INSTANCE *instance);
POVS_PACKET_QUEUE_ELEM OvsCreateQueueNlPacket(PVOID userData,
@@ -96,14 +92,14 @@ NTSTATUS OvsCreateAndAddPackets(PVOID userData,
LIST_ENTRY *list,
UINT32 *num);
-NTSTATUS OvsSubscribeDpIoctl(PFILE_OBJECT fileObject,
- PVOID inputBuffer,
- UINT32 inputLength);
+NTSTATUS OvsSubscribeDpIoctl(PVOID instanceP,
+ UINT32 pid,
+ UINT8 join);
NTSTATUS OvsReadDpIoctl(PFILE_OBJECT fileObject,
- PVOID outputBuffer,
- UINT32 outputLength,
- UINT32 *replyLen);
+ PVOID outputBuffer,
+ UINT32 outputLength,
+ UINT32 *replyLen);
NTSTATUS OvsExecuteDpIoctl(OvsPacketExecute *execute);
NTSTATUS OvsPurgeDpIoctl(PFILE_OBJECT fileObject);