ipip: Tunnel flags controlling copying data to/from payload/encap
[vpp.git] / src / vnet / ipip / ipip.api
index e8051fd..baf0e50 100644 (file)
  *
  */
 
-option version = "1.2.0";
+option version = "2.0.0";
+
 import "vnet/interface_types.api";
 import "vnet/ip/ip_types.api";
+import "vnet/ipip/ipip_types.api";
 
 /**
  * An IP{v4,v6} over IP{v4,v6} tunnel.
  */
 typedef ipip_tunnel
 {
-  u32 instance;                /* If non-~0, specifies a custom dev instance */
+  u32 instance; /* If non-~0, specifies a custom dev instance */
   vl_api_address_t src;
   vl_api_address_t dst;
-  u32 sw_if_index; /* ignored on create, set in details/dump */
-u32 table_id;
-  u8 tc_tos;           /* If ~0, the TOS/TC value is copied from
-                          inner packet, otherwise set to value */
+  vl_api_interface_index_t sw_if_index; /* ignored on create, set in
+                                          details/dump */
+  u32 table_id;
+  vl_api_ipip_tunnel_flags_t flags;
+  vl_api_ip_dscp_t dscp; /* DSCP value for the tunnel encap,
+                            ignored if ECNAP_COPY_DSCP flag is set */
 };
 
 /**
@@ -103,14 +107,12 @@ define ipip_6rd_add_tunnel
   u32 context;
   u32 ip6_table_id;
   u32 ip4_table_id;
-  u8 ip6_prefix[16];
-  u8 ip4_prefix[4];
-  u8 ip4_src[4];
-  u8 ip6_prefix_len;
-  u8 ip4_prefix_len;
-  u8 security_check;
-  u8 tc_tos;           /* If ~0, the TOS/TC value is copied from
-                          inner packet, otherwise set to value */
+  vl_api_ip6_prefix_t ip6_prefix;
+  vl_api_ip4_prefix_t ip4_prefix;
+  vl_api_ip4_address_t ip4_src;
+  bool security_check;
+  u8 tc_tos; /* If ~0, the TOS/TC value is copied from
+                inner packet, otherwise set to value */
 };
 
 define ipip_6rd_add_tunnel_reply
@@ -145,9 +147,3 @@ define ipip_tunnel_details
   u32 context;
   vl_api_ipip_tunnel_t tunnel;
 };
-
-/*
- * Local Variables:
- * eval: (c-set-style "gnu")
- * End:
- */