summaryrefslogtreecommitdiff
path: root/datapath-windows/ovsext/Event.h
diff options
context:
space:
mode:
authorSairam Venugopal <vsairam@vmware.com>2016-07-25 17:04:41 -0700
committerGurucharan Shetty <guru@ovn.org>2016-07-29 08:38:25 -0700
commit2df52bf68ab62ce8ffecd189f66180b26d98b428 (patch)
treeedf98b3b3d97b208b8f1139fcdb23297d080cd9d /datapath-windows/ovsext/Event.h
parent9afd6746b1afb40c8b8e04dc7d34636abe37573f (diff)
downloadopenvswitch-2df52bf68ab62ce8ffecd189f66180b26d98b428.tar.gz
datapath-windows: Add support for multiple event queue in Event.c
Update Event.c to have multiple event queues and mechanism to retrieve the associated queue. Introduce OvsPostCtEvent and OvsRemoveCtEventEntry similar to OvsPostVportEvent and OvsRemoveVportEventEntry. Signed-off-by: Sairam Venugopal <vsairam@vmware.com> Acked-by: Paul Boca <pboca@cloudbasesolutions.com> Acked-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com> Acked-By: Yin Lin <linyi@vmware.com> Acked-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com> Signed-off-by: Gurucharan Shetty <guru@ovn.org>
Diffstat (limited to 'datapath-windows/ovsext/Event.h')
-rw-r--r--datapath-windows/ovsext/Event.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/datapath-windows/ovsext/Event.h b/datapath-windows/ovsext/Event.h
index 255594cf7..b57946334 100644
--- a/datapath-windows/ovsext/Event.h
+++ b/datapath-windows/ovsext/Event.h
@@ -16,16 +16,28 @@
#ifndef __EVENT_H_
#define __EVENT_H_ 1
+#include "Conntrack.h"
+
+typedef struct _OVS_CT_EVENT_ENTRY {
+ OVS_CT_ENTRY entry;
+ UINT8 type;
+ UINT64 pad[10];
+} OVS_CT_EVENT_ENTRY, *POVS_CT_EVENT_ENTRY;
typedef struct _OVS_EVENT_QUEUE_ELEM {
LIST_ENTRY link;
- OVS_VPORT_EVENT_ENTRY vportEvent;
+ union {
+ OVS_VPORT_EVENT_ENTRY vportEvent;
+ OVS_CT_EVENT_ENTRY ctEvent;
+ };
} OVS_EVENT_QUEUE_ELEM, *POVS_EVENT_QUEUE_ELEM;
typedef struct _OVS_EVENT_QUEUE {
LIST_ENTRY queueLink;
LIST_ENTRY elemList;
UINT32 mask;
+ UINT32 mcastEventId;
+ UINT32 protocol;
UINT16 numElems;
BOOLEAN pollAll;
PIRP pendingIrp;
@@ -39,6 +51,7 @@ struct _OVS_OPEN_INSTANCE;
VOID OvsCleanupEvent(struct _OVS_OPEN_INSTANCE *instance);
VOID OvsPostVportEvent(POVS_VPORT_EVENT_ENTRY event);
+VOID OvsPostCtEvent(POVS_CT_EVENT_ENTRY ctEvent);
NTSTATUS OvsSubscribeEventIoctl(PFILE_OBJECT fileObject, PVOID inputBuffer,
UINT32 inputLength);
NTSTATUS OvsPollEventIoctl(PFILE_OBJECT fileObject, PVOID inputBuffer,
@@ -48,5 +61,7 @@ NTSTATUS OvsWaitEventIoctl(PIRP irp, PFILE_OBJECT fileObject,
PVOID inputBuffer, UINT32 inputLength);
NTSTATUS OvsRemoveVportEventEntry(POVS_OPEN_INSTANCE instance,
POVS_VPORT_EVENT_ENTRY entry);
+NTSTATUS OvsRemoveCtEventEntry(POVS_OPEN_INSTANCE instance,
+ POVS_CT_EVENT_ENTRY entry);
#endif /* __EVENT_H_ */