[qca-nss-sfe] add support for GRE tunnel handling.

Change-Id: Ie4bcdb2df8b13a7c3d63b79eac7ef8f1668ee9c5
Signed-off-by: Nitin Shetty <quic_nitinsj@quicinc.com>
diff --git a/sfe_ipv4.h b/sfe_ipv4.h
index 00b068a..016ee8f 100644
--- a/sfe_ipv4.h
+++ b/sfe_ipv4.h
@@ -70,6 +70,8 @@
 					/* Insert VLAN tag */
 #define SFE_IPV4_CONNECTION_MATCH_FLAG_SRC_INTERFACE_CHECK (1<<13)
 					/* Source interface check.*/
+#define SFE_IPV4_CONNECTION_MATCH_FLAG_PASSTHROUGH (1<<14)
+					/* passthrough flow: encap/decap to be skipped for this flow */
 
 /*
  * IPv4 connection matching structure.
@@ -94,6 +96,7 @@
 	__be16 match_dest_port;		/* Destination port/connection ident */
 
 	struct udp_sock *up;		/* Stores UDP sock information; valid only in decap path */
+	struct net_protocol *proto;	/* stores protocol handler; valid only in decap path */
 
 	/*
 	 * Control the operations of the match.
@@ -268,6 +271,11 @@
 	SFE_IPV4_EXCEPTION_EVENT_PPPOE_NOT_SET_IN_CME,
 	SFE_IPV4_EXCEPTION_EVENT_INGRESS_VLAN_TAG_MISMATCH,
 	SFE_IPV4_EXCEPTION_EVENT_INVALID_SRC_IFACE,
+	SFE_IPV4_EXCEPTION_EVENT_GRE_HEADER_INCOMPLETE,
+	SFE_IPV4_EXCEPTION_EVENT_GRE_NO_CONNECTION,
+	SFE_IPV4_EXCEPTION_EVENT_GRE_IP_OPTIONS_OR_INITIAL_FRAGMENT,
+	SFE_IPV4_EXCEPTION_EVENT_GRE_SMALL_TTL,
+	SFE_IPV4_EXCEPTION_EVENT_GRE_NEEDS_FRAGMENTATION,
 	SFE_IPV4_EXCEPTION_EVENT_LAST
 };