tunnel: add cli support for encap_decap flags

Change-Id: I2bf6ba325975309183dba1e14e9519c944710752
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Type: improvement
diff --git a/src/vnet/gre/interface.c b/src/vnet/gre/interface.c
index ad0efde..5e8ad46 100644
--- a/src/vnet/gre/interface.c
+++ b/src/vnet/gre/interface.c
@@ -593,6 +593,7 @@
   u32 outer_table_id = 0;
   gre_tunnel_type_t t_type = GRE_TUNNEL_TYPE_L3;
   tunnel_mode_t t_mode = TUNNEL_MODE_P2P;
+  tunnel_encap_decap_flags_t flags = TUNNEL_ENCAP_DECAP_FLAG_NONE;
   u32 session_id = 0;
   int rv;
   u8 is_add = 1;
@@ -622,6 +623,11 @@
       else if (unformat (line_input, "erspan %d", &session_id))
 	t_type = GRE_TUNNEL_TYPE_ERSPAN;
       else
+	if (unformat
+	    (line_input, "flags %U", unformat_tunnel_encap_decap_flags,
+	     &flags))
+	;
+      else
 	{
 	  error = clib_error_return (0, "unknown input `%U'",
 				     format_unformat_error, line_input);
@@ -662,6 +668,7 @@
   a->session_id = session_id;
   a->is_ipv6 = !ip46_address_is_ip4 (&src);
   a->instance = instance;
+  a->flags = flags;
   clib_memcpy (&a->src, &src, sizeof (a->src));
   clib_memcpy (&a->dst, &dst, sizeof (a->dst));