#include "NetProto.h"
typedef struct _OVS_VXLAN_VPORT {
- UINT32 dstPort;
- UINT64 inPkts;
- UINT64 outPkts;
- UINT64 slowInPkts;
- UINT64 slowOutPkts;
+ UINT16 dstPort;
+ UINT64 filterID;
+ UINT64 ipId;
/*
* To be filled
*/
UINT32 reserved2:8;
} VXLANHdr;
-NL_ERROR OvsInitVxlanTunnel(POVS_VPORT_ENTRY vport,
- UINT16 udpDestPort);
+NTSTATUS OvsInitVxlanTunnel(PIRP irp,
+ POVS_VPORT_ENTRY vport,
+ UINT16 udpDestPort,
+ PFNTunnelVportPendingOp callback,
+ PVOID tunnelContext);
-VOID OvsCleanupVxlanTunnel(POVS_VPORT_ENTRY vport);
+NTSTATUS OvsCleanupVxlanTunnel(PIRP irp,
+ POVS_VPORT_ENTRY vport,
+ PFNTunnelVportPendingOp callback,
+ PVOID tunnelContext);
NDIS_STATUS OvsSlowPathDecapVxlan(const PNET_BUFFER_LIST packet,
OvsIPv4TunnelKey *tunnelKey);
-NDIS_STATUS OvsEncapVxlan(PNET_BUFFER_LIST curNbl,
+NDIS_STATUS OvsEncapVxlan(POVS_VPORT_ENTRY vport,
+ PNET_BUFFER_LIST curNbl,
OvsIPv4TunnelKey *tunKey,
POVS_SWITCH_CONTEXT switchContext,
- VOID *completionList,
POVS_PACKET_HDR_INFO layers,
PNET_BUFFER_LIST *newNbl);
-NDIS_STATUS OvsDoDecapVxlan(POVS_SWITCH_CONTEXT switchContext,
- PNET_BUFFER_LIST curNbl,
- OvsIPv4TunnelKey *tunKey,
- PNET_BUFFER_LIST *newNbl);
+NDIS_STATUS OvsDecapVxlan(POVS_SWITCH_CONTEXT switchContext,
+ PNET_BUFFER_LIST curNbl,
+ OvsIPv4TunnelKey *tunKey,
+ PNET_BUFFER_LIST *newNbl);
static __inline UINT32
OvsGetVxlanTunHdrSize(VOID)