Merge "[qca-nss-drv] Add GRE Tunnel Inner Exception"
diff --git a/exports/nss_dynamic_interface.h b/exports/nss_dynamic_interface.h
index fa07797..68d04ad 100644
--- a/exports/nss_dynamic_interface.h
+++ b/exports/nss_dynamic_interface.h
@@ -72,6 +72,7 @@
 	NSS_DYNAMIC_INTERFACE_TYPE_TUN6RD_OUTER,
 	NSS_DYNAMIC_INTERFACE_TYPE_GRE_REDIR_LAG_US,
 	NSS_DYNAMIC_INTERFACE_TYPE_GRE_REDIR_LAG_DS,
+	NSS_DYNAMIC_INTERFACE_TYPE_GRE_TUNNEL_INNER_EXCEPTION,
 	NSS_DYNAMIC_INTERFACE_TYPE_MAX
 };
 
diff --git a/nss_gre_tunnel.c b/nss_gre_tunnel.c
index 17f906c..b2ea700 100644
--- a/nss_gre_tunnel.c
+++ b/nss_gre_tunnel.c
@@ -40,16 +40,14 @@
 
 	switch (type) {
 	case NSS_DYNAMIC_INTERFACE_TYPE_GRE_TUNNEL_INNER:
-		return true;
 	case NSS_DYNAMIC_INTERFACE_TYPE_GRE_TUNNEL_INLINE_INNER:
-		return true;
 	case NSS_DYNAMIC_INTERFACE_TYPE_GRE_TUNNEL_OUTER:
-		return true;
 	case NSS_DYNAMIC_INTERFACE_TYPE_GRE_TUNNEL_INLINE_OUTER:
+	case NSS_DYNAMIC_INTERFACE_TYPE_GRE_TUNNEL_INNER_EXCEPTION:
 		return true;
+	default:
+		return false;
 	}
-
-	return false;
 }
 
 /*
diff --git a/nss_hal/nss_hal.c b/nss_hal/nss_hal.c
index 9bc3d3e..82e34b5 100644
--- a/nss_hal/nss_hal.c
+++ b/nss_hal/nss_hal.c
@@ -588,6 +588,7 @@
 		nss_top->dynamic_interface_table[NSS_DYNAMIC_INTERFACE_TYPE_GRE_TUNNEL_OUTER] = nss_dev->id;
 		nss_top->dynamic_interface_table[NSS_DYNAMIC_INTERFACE_TYPE_GRE_TUNNEL_INLINE_INNER] = nss_dev->id;
 		nss_top->dynamic_interface_table[NSS_DYNAMIC_INTERFACE_TYPE_GRE_TUNNEL_INLINE_OUTER] = nss_dev->id;
+		nss_top->dynamic_interface_table[NSS_DYNAMIC_INTERFACE_TYPE_GRE_TUNNEL_INNER_EXCEPTION] = nss_dev->id;
 	}
 
 	if (npd->portid_enabled == NSS_FEATURE_ENABLED) {