[qca-nss-ecm] Handle DSCP based action type.

If the DSCP to priority/action mapping table has a
not accel type for a particular dscp value, do not
process these packets, so that they are not offloaded
in NSS firmware.

Change-Id: Ie9f5d694cceec9d516d21e412885ae7c59d3c084
Signed-off-by: Murat Sezgin <msezgin@codeaurora.org>
diff --git a/ecm_tracker.h b/ecm_tracker.h
index 49cec58..9293d6e 100644
--- a/ecm_tracker.h
+++ b/ecm_tracker.h
@@ -24,6 +24,13 @@
 #define ECM_TRACKER_CONNECTION_TRACKING_LIMIT_DEFAULT (1024 * 1024)
 #define ECM_TRACKER_CONNECTION_TRACKING_LIMIT_MAX ECM_TRACKER_GLOBAL_DATA_LIMIT_DEFAULT
 
+/*
+ * Definitions for IPv6 version-class-flow_label field.
+ */
+#define ECM_TRACKER_IPV6_FLOW_LBL_PRIORITY_MASK 0xC0
+#define ECM_TRACKER_IPV6_FLOW_LBL_PRIORITY_SHIFT 6
+#define ECM_TRACKER_IPV6_PRIORITY_SHIFT 2
+
 enum ecm_tracker_sender_types {
 	ECM_TRACKER_SENDER_TYPE_SRC = 0,		/* Sender of tracked data is the source of the connection (who established the connection) */
 	ECM_TRACKER_SENDER_TYPE_DEST = 1,	/* Sender of tracked data is the destination of the connection (to whom connection was established) */
@@ -142,6 +149,7 @@
 	ip_addr_t dest_addr;		/* ECM ip address equivalent */
 	int protocol;			/* The upper layer transport protocol */
 	bool fragmented;		/* True when fragmented */
+	uint8_t dscp;			/* DSCP field from the packet */
 	uint8_t ds;			/* DS field from packet */
 	uint8_t ttl;			/* v4 TTL or v6 hop limit */
 	uint32_t ip_header_length;	/* Length of the IP header plus any variable sized intrinsically attached options */