Add Vxlan-Gpe over IPv6
[vpp.git] / vpp / api / custom_dump.c
index cd17328..ba4cf53 100644 (file)
@@ -26,8 +26,7 @@
 #include <vnet/l2tp/l2tp.h>
 #include <vnet/l2/l2_input.h>
 #include <vnet/sr/sr_packet.h>
-#include <vnet/nsh-gre/nsh_gre.h>
-#include <vnet/nsh-vxlan-gpe/nsh_vxlan_gpe.h>
+#include <vnet/vxlan-gpe/vxlan_gpe.h>
 #include <vlib/vlib.h>
 #include <vlib/unix/unix.h>
 #include <vlibapi/api.h>
@@ -1014,6 +1013,9 @@ static void *vl_api_sr_tunnel_add_del_t_print
 
     s = format (0, "SCRIPT: sr_tunnel_add_del ");
 
+    if (mp->name[0])
+      s = format (s, "name %s ", mp->name);
+
     s = format (s, "src %U dst %U/%d ", format_ip6_address, 
                 (ip6_address_t *) mp->src_address,
                 format_ip6_address,
@@ -1062,12 +1064,78 @@ static void *vl_api_sr_tunnel_add_del_t_print
         }
     }
 
+    if (mp->policy_name[0])
+      s = format (s, "policy_name %s ", mp->policy_name);
+
     if (mp->is_add == 0)
         s = format (s, "del ");
     
     FINISH;
 }
 
+static void *vl_api_sr_policy_add_del_t_print
+(vl_api_sr_policy_add_del_t * mp, void *handle)
+{
+  u8 * s;
+  int i;
+
+  s = format (0, "SCRIPT: sr_policy_add_del ");
+
+  if (mp->name[0])
+    s = format (s, "name %s ", mp->name);
+
+
+  if (mp->tunnel_names[0])
+    {
+    // start deserializing tunnel_names
+    int num_tunnels = mp->tunnel_names[0]; //number of tunnels
+    u8 * deser_tun_names = mp->tunnel_names;
+    deser_tun_names += 1; //moving along
+
+    u8 * tun_name = 0;
+    int tun_name_len = 0;
+
+    for (i=0; i < num_tunnels; i++)
+      {
+       tun_name_len= *deser_tun_names;
+       deser_tun_names += 1;
+       vec_resize (tun_name, tun_name_len);
+       memcpy(tun_name, deser_tun_names, tun_name_len);
+       s = format (s, "tunnel %s ", tun_name);
+       deser_tun_names += tun_name_len;
+       tun_name = 0;
+      }
+    }
+
+  if (mp->is_add == 0)
+    s = format (s, "del ");
+
+  FINISH;
+}
+
+static void *vl_api_sr_multicast_map_add_del_t_print
+(vl_api_sr_multicast_map_add_del_t * mp, void *handle)
+{
+
+  u8 * s = 0;
+  /* int i; */
+
+  s = format (0, "SCRIPT: sr_multicast_map_add_del ");
+
+  if (mp->multicast_address[0])
+    s = format (s, "address %U ", format_ip6_address, &mp->multicast_address);
+
+  if (mp->policy_name[0])
+    s = format (s, "sr-policy %s ", &mp->policy_name);
+
+
+  if (mp->is_add == 0)
+    s = format (s, "del ");
+
+  FINISH;
+}
+
+
 static void *vl_api_classify_add_del_table_t_print
 (vl_api_classify_add_del_table_t * mp, void *handle)
 {
@@ -1505,77 +1573,18 @@ static void *vl_api_show_version_t_print
     FINISH;
 }
 
-static void *vl_api_nsh_gre_add_del_tunnel_t_print
-(vl_api_nsh_gre_add_del_tunnel_t * mp, void *handle)
-{
-    u8 * s;
-    int i;
-    u32 spi_si;
-
-    s = format (0, "SCRIPT: nsh_gre_add_del_tunnel ");
-
-    s = format (s, "src %U dst %U ", format_ip4_address, &mp->src,
-                format_ip4_address, &mp->dst);
-
-    spi_si = ntohl(mp->spi_si);
-
-    s = format (s, "spi %d si %d ", (spi_si>>8), (spi_si & 0xff));
-
-    s = format (s, "decap-next %d ", ntohl(mp->decap_next_index));
-
-    if (mp->is_add == 0)
-        s = format (s, "del ");
-
-    if (mp->encap_vrf_id)
-        s = format (s, "encap-vrf-id %d ", ntohl(mp->encap_vrf_id));
-    
-    if (mp->decap_vrf_id)
-        s = format (s, "decap-vrf-id %d ", ntohl(mp->decap_vrf_id));
-
-    if (mp->ver_o_c & 0xc)
-        s = format (s, "version %d ", mp->ver_o_c>>6);
-    if (mp->ver_o_c & NSH_GRE_O_BIT)
-        s = format (s, "o-bit 1 ");
-    if (mp->ver_o_c & NSH_GRE_C_BIT)
-        s = format (s, "c-bit 1 ");
-    if (mp->md_type)
-        s = format (s, "md-type %d ", mp->md_type);
-    if (mp->next_protocol == 1)
-        s = format (s, "next-ip4 ");
-    else if (mp->next_protocol == 2)
-        s = format (s, "next-ip6 ");
-    else if (mp->next_protocol == 3)
-        s = format (s, "next-ethernet");
-    
-    s = format (s, "c1 %d ", ntohl(mp->c1));
-    s = format (s, "c2 %d ", ntohl(mp->c2));
-    s = format (s, "c3 %d ", ntohl(mp->c3));
-    s = format (s, "c4 %d ", ntohl(mp->c4));
-            
-    for (i = 0; i < mp->tlv_len_in_words; i++) {
-        s = format (s, "tlv %x ", ntohl(mp->tlvs[i]));
-    }
-        
-    FINISH;
-}
-
-static void *vl_api_nsh_vxlan_gpe_add_del_tunnel_t_print
-(vl_api_nsh_vxlan_gpe_add_del_tunnel_t * mp, void *handle)
+static void *vl_api_vxlan_gpe_add_del_tunnel_t_print
+(vl_api_vxlan_gpe_add_del_tunnel_t * mp, void *handle)
 {
     u8 * s;
-    int i;
-    u32 spi_si;
 
-    s = format (0, "SCRIPT: nsh_vxlan_gpe_add_del_tunnel ");
+    s = format (0, "SCRIPT: vxlan_gpe_add_del_tunnel ");
 
-    s = format (s, "src %U dst %U ", format_ip4_address, &mp->src,
-                format_ip4_address, &mp->dst);
+    s = format (s, "local %U ", format_ip46_address, &mp->local, mp->is_ipv6);
 
-    spi_si = ntohl(mp->spi_si);
+    s = format (s, "remote %U ", format_ip46_address, &mp->remote, mp->is_ipv6);
 
-    s = format (s, "spi %d si %d ", (spi_si>>8), (spi_si & 0xff));
-
-    s = format (s, "decap-next %d ", ntohl(mp->decap_next_index));
+    s = format (s, "protocol %d ", ntohl(mp->protocol));
 
     s = format (s, "vni %d ", ntohl(mp->vni));
 
@@ -1588,73 +1597,6 @@ static void *vl_api_nsh_vxlan_gpe_add_del_tunnel_t_print
     if (mp->decap_vrf_id)
         s = format (s, "decap-vrf-id %d ", ntohl(mp->decap_vrf_id));
 
-    if (mp->ver_o_c & 0xc)
-        s = format (s, "version %d ", mp->ver_o_c>>6);
-    if (mp->ver_o_c & NSH_GRE_O_BIT)
-        s = format (s, "o-bit 1 ");
-    if (mp->ver_o_c & NSH_GRE_C_BIT)
-        s = format (s, "c-bit 1 ");
-    if (mp->md_type)
-        s = format (s, "md-type %d ", mp->md_type);
-    if (mp->next_protocol == 1)
-        s = format (s, "next-ip4 ");
-    else if (mp->next_protocol == 2)
-        s = format (s, "next-ip6 ");
-    else if (mp->next_protocol == 3)
-        s = format (s, "next-ethernet");
-    
-    s = format (s, "c1 %d ", ntohl(mp->c1));
-    s = format (s, "c2 %d ", ntohl(mp->c2));
-    s = format (s, "c3 %d ", ntohl(mp->c3));
-    s = format (s, "c4 %d ", ntohl(mp->c4));
-            
-    for (i = 0; i < mp->tlv_len_in_words; i++) {
-        s = format (s, "tlv %x ", ntohl(mp->tlvs[i]));
-    }
-        
-    FINISH;
-}
-
-static void *vl_api_lisp_gpe_add_del_tunnel_t_print
-(vl_api_lisp_gpe_add_del_tunnel_t * mp, void *handle)
-{
-    u8 * s;
-
-    s = format (0, "SCRIPT: lisp_gpe_add_del_tunnel ");
-
-    s = format (s, "src %U dst %U ", format_ip4_address, &mp->src,
-                format_ip4_address, &mp->dst);
-
-    if (mp->encap_vrf_id)
-        s = format (s, "encap-vrf-id %d ", ntohl(mp->encap_vrf_id));
-    
-    if (mp->decap_vrf_id)
-        s = format (s, "decap-vrf-id %d ", ntohl(mp->decap_vrf_id));
-
-    s = format (s, "decap-next %d ", ntohl(mp->decap_next_index));
-
-    s = format (s, "flags %x ", (u32)(mp->flags));
-
-    if (mp->ver_res)
-        s = format (s, "ver_res %x ", (u32)(mp->ver_res));
-
-    if (mp->res)
-        s = format (s, "res %x ", (u32)(mp->res));
-
-    s = format (s, "iid %d ", ntohl (mp->iid));
-
-    if (mp->is_add == 0)
-        s = format (s, "del ");
-
-    if (mp->next_protocol == 1)
-        s = format (s, "next-ip4 ");
-    else if (mp->next_protocol == 2)
-        s = format (s, "next-ip6 ");
-    else if (mp->next_protocol == 3)
-        s = format (s, "next-ethernet ");
-    else if (mp->next_protocol == 4)
-        s = format (s, "next-nsh ");
-    
     FINISH;
 }
 
@@ -1808,6 +1750,8 @@ _(SW_INTERFACE_IP6ND_RA_CONFIG, sw_interface_ip6nd_ra_config)           \
 _(SET_ARP_NEIGHBOR_LIMIT, set_arp_neighbor_limit)                       \
 _(L2_PATCH_ADD_DEL, l2_patch_add_del)                                   \
 _(SR_TUNNEL_ADD_DEL, sr_tunnel_add_del)                                        \
+_(SR_POLICY_ADD_DEL, sr_policy_add_del)                                        \
+_(SR_MULTICAST_MAP_ADD_DEL, sr_multicast_map_add_del)                   \
 _(SW_INTERFACE_SET_L2_XCONNECT, sw_interface_set_l2_xconnect)           \
 _(L2FIB_ADD_DEL, l2fib_add_del)                                         \
 _(L2_FLAGS, l2_flags)                                                   \
@@ -1816,7 +1760,7 @@ _(CLASSIFY_ADD_DEL_TABLE, classify_add_del_table)                 \
 _(CLASSIFY_ADD_DEL_SESSION, classify_add_del_session)                  \
 _(SW_INTERFACE_SET_L2_BRIDGE, sw_interface_set_l2_bridge)              \
 _(BRIDGE_DOMAIN_ADD_DEL, bridge_domain_add_del)                         \
-_(BRIDGE_DOMAIN_DUMP, bridge_domain_dump)                            \
+_(BRIDGE_DOMAIN_DUMP, bridge_domain_dump)                               \
 _(CLASSIFY_SET_INTERFACE_IP_TABLE, classify_set_interface_ip_table)    \
 _(CLASSIFY_SET_INTERFACE_L2_TABLES, classify_set_interface_l2_tables)  \
 _(ADD_NODE_NEXT, add_node_next)                                                \
@@ -1844,10 +1788,8 @@ _(CLI_REQUEST, cli_request)                                              \
 _(MEMCLNT_CREATE, memclnt_create)                                      \
 _(SW_INTERFACE_VHOST_USER_DUMP, sw_interface_vhost_user_dump)           \
 _(SHOW_VERSION, show_version)                                           \
-_(NSH_GRE_ADD_DEL_TUNNEL, nsh_gre_add_del_tunnel)                      \
 _(L2_FIB_TABLE_DUMP, l2_fib_table_dump)                                 \
-_(NSH_VXLAN_GPE_ADD_DEL_TUNNEL, nsh_vxlan_gpe_add_del_tunnel)          \
-_(LISP_GPE_ADD_DEL_TUNNEL, lisp_gpe_add_del_tunnel)                    \
+_(VXLAN_GPE_ADD_DEL_TUNNEL, vxlan_gpe_add_del_tunnel)                  \
 _(INTERFACE_NAME_RENUMBER, interface_name_renumber)                    \
 _(WANT_IP4_ARP_EVENTS, want_ip4_arp_events)                             \
 _(INPUT_ACL_SET_INTERFACE, input_acl_set_interface)                     \