[ovs-dev] [PATCH v3 2/4] datapath-windows: Cleanup Conntrack definitions and introduce related entries
Alin Serdean
aserdean at cloudbasesolutions.com
Tue Dec 20 17:04:37 UTC 2016
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
> -----Original Message-----
> From: ovs-dev-bounces at openvswitch.org [mailto:ovs-dev-
> bounces at openvswitch.org] On Behalf Of Sairam Venugopal
> Sent: Saturday, December 17, 2016 12:28 AM
> To: dev at openvswitch.org
> Subject: [ovs-dev] [PATCH v3 2/4] datapath-windows: Cleanup Conntrack
> definitions and introduce related entries
>
> Consolidate the reusable structs and includes. Introduce the new
> OVS_CT_REL_ENTRY to track related connections.
>
> Signed-off-by: Sairam Venugopal <vsairam at vmware.com>
> ---
> datapath-windows/ovsext/Conntrack.c | 12 --------- datapath-
> windows/ovsext/Conntrack.h | 51 ++++++++++++++++++++++++++++++---
> ----
> 2 files changed, 42 insertions(+), 21 deletions(-)
>
> diff --git a/datapath-windows/ovsext/Conntrack.c b/datapath-
> windows/ovsext/Conntrack.c
> index 47dba9d..70c32a4 100644
> --- a/datapath-windows/ovsext/Conntrack.c
> +++ b/datapath-windows/ovsext/Conntrack.c
> @@ -14,27 +14,15 @@
> * limitations under the License.
> */
>
> -#ifdef OVS_DBG_MOD
> -#undef OVS_DBG_MOD
> -#endif
> -#define OVS_DBG_MOD OVS_DBG_CONTRK
> -
> #include "Conntrack.h"
> #include "Jhash.h"
> #include "PacketParser.h"
> -#include "Debug.h"
> #include "Event.h"
>
> #define WINDOWS_TICK 10000000
> #define SEC_TO_UNIX_EPOCH 11644473600LL #define SEC_TO_NANOSEC
> 1000000000LL
>
> -typedef struct _OVS_CT_THREAD_CTX {
> - KEVENT event;
> - PVOID threadObject;
> - UINT32 exit;
> -} OVS_CT_THREAD_CTX, *POVS_CT_THREAD_CTX;
> -
> KSTART_ROUTINE ovsConntrackEntryCleaner; static PLIST_ENTRY
> ovsConntrackTable; static OVS_CT_THREAD_CTX ctThreadCtx; diff --git
> a/datapath-windows/ovsext/Conntrack.h b/datapath-
> windows/ovsext/Conntrack.h
> index 733596d..7f1ec6f 100644
> --- a/datapath-windows/ovsext/Conntrack.h
> +++ b/datapath-windows/ovsext/Conntrack.h
> @@ -19,6 +19,13 @@
>
> #include "precomp.h"
> #include "Flow.h"
> +#include "Debug.h"
> +#include <stddef.h>
> +
> +#ifdef OVS_DBG_MOD
> +#undef OVS_DBG_MOD
> +#endif
> +#define OVS_DBG_MOD OVS_DBG_CONTRK
>
> struct ct_addr {
> union {
> @@ -80,6 +87,19 @@ typedef struct OVS_CT_ENTRY {
> struct ovs_key_ct_labels labels;
> } OVS_CT_ENTRY, *POVS_CT_ENTRY;
>
> +typedef struct OVS_CT_REL_ENTRY {
> + OVS_CT_KEY key;
> + POVS_CT_ENTRY parent;
> + UINT64 expiration;
> + LIST_ENTRY link;
> +} OVS_CT_REL_ENTRY, *POVS_CT_REL_ENTRY;
> +
> +typedef struct _OVS_CT_THREAD_CTX {
> + KEVENT event;
> + PVOID threadObject;
> + UINT32 exit;
> +} OVS_CT_THREAD_CTX, *POVS_CT_THREAD_CTX;
> +
> typedef struct OvsConntrackKeyLookupCtx {
> OVS_CT_KEY key;
> POVS_CT_ENTRY entry;
> @@ -158,13 +178,26 @@ enum CT_UPDATE_RES
> OvsConntrackUpdateOtherEntry(OVS_CT_ENTRY *conn_, enum
> CT_UPDATE_RES OvsConntrackUpdateIcmpEntry(OVS_CT_ENTRY* conn_,
> BOOLEAN reply,
> UINT64 now); -NTSTATUS -
> OvsCreateNlMsgFromCtEntry(POVS_CT_ENTRY entry,
> - PVOID outBuffer,
> - UINT32 outBufLen,
> - UINT8 eventType,
> - UINT32 nlmsgSeq,
> - UINT32 nlmsgPid,
> - UINT8 nfGenVersion,
> - UINT32 dpIfIndex);
> +NTSTATUS OvsCreateNlMsgFromCtEntry(POVS_CT_ENTRY entry,
> + PVOID outBuffer,
> + UINT32 outBufLen,
> + UINT8 eventType,
> + UINT32 nlmsgSeq,
> + UINT32 nlmsgPid,
> + UINT8 nfGenVersion,
> + UINT32 dpIfIndex);
> +
> +/* Tracking related connections */
> +NTSTATUS OvsInitCtRelated(POVS_SWITCH_CONTEXT context); VOID
> +OvsCleanupCtRelated(VOID); NDIS_STATUS
> OvsCtRelatedEntryCreate(UINT8
> +ipProto,
> + UINT16 dl_type,
> + UINT32 serverIp,
> + UINT32 clientIp,
> + UINT16 serverPort,
> + UINT16 clientPort,
> + UINT64 currentTime,
> + POVS_CT_ENTRY parent);
> +POVS_CT_ENTRY OvsCtRelatedLookup(OVS_CT_KEY key, UINT64
> currentTime);
> +
> #endif /* __OVS_CONNTRACK_H_ */
> --
> 2.9.0.windows.1
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
More information about the dev
mailing list