#include <vnet/l2/l2_input.h>
#include <vnet/srv6/sr.h>
#include <vnet/vxlan-gpe/vxlan_gpe.h>
+#include <vnet/geneve/geneve.h>
#include <vnet/classify/policer_classify.h>
#include <vnet/policer/xlate.h>
#include <vnet/policer/policer.h>
FINISH;
}
+static void *vl_api_sw_interface_set_geneve_bypass_t_print
+ (vl_api_sw_interface_set_geneve_bypass_t * mp, void *handle)
+{
+ u8 *s;
+
+ s = format (0, "SCRIPT: sw_interface_set_geneve_bypass ");
+
+ s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
+
+ if (mp->is_ipv6)
+ s = format (s, "ip6 ");
+
+ if (mp->enable)
+ s = format (s, "enable ");
+ else
+ s = format (s, "disable ");
+
+ FINISH;
+}
+
static void *vl_api_sw_interface_set_l2_xconnect_t_print
(vl_api_sw_interface_set_l2_xconnect_t * mp, void *handle)
{
FINISH;
}
+static void *vl_api_geneve_add_del_tunnel_t_print
+ (vl_api_geneve_add_del_tunnel_t * mp, void *handle)
+{
+ u8 *s;
+ s = format (0, "SCRIPT: geneve_add_del_tunnel ");
+
+ ip46_address_t local = to_ip46 (mp->is_ipv6, mp->local_address);
+ ip46_address_t remote = to_ip46 (mp->is_ipv6, mp->remote_address);
+
+ u8 is_grp = ip46_address_is_multicast (&remote);
+ char *remote_name = is_grp ? "group" : "dst";
+
+ s = format (s, "src %U ", format_ip46_address, &local, IP46_TYPE_ANY);
+ s = format (s, "%s %U ", remote_name, format_ip46_address,
+ &remote, IP46_TYPE_ANY);
+
+ if (is_grp)
+ s = format (s, "mcast_sw_if_index %d ", ntohl (mp->mcast_sw_if_index));
+
+ if (mp->encap_vrf_id)
+ s = format (s, "encap-vrf-id %d ", ntohl (mp->encap_vrf_id));
+
+ s = format (s, "decap-next %d ", ntohl (mp->decap_next_index));
+
+ s = format (s, "vni %d ", ntohl (mp->vni));
+
+ if (mp->is_add == 0)
+ s = format (s, "del ");
+
+ FINISH;
+}
+
+static void *vl_api_geneve_tunnel_dump_t_print
+ (vl_api_geneve_tunnel_dump_t * mp, void *handle)
+{
+ u8 *s;
+
+ s = format (0, "SCRIPT: geneve_tunnel_dump ");
+
+ s = format (s, "sw_if_index %d ", ntohl (mp->sw_if_index));
+
+ FINISH;
+}
+
static void *vl_api_gre_add_del_tunnel_t_print
(vl_api_gre_add_del_tunnel_t * mp, void *handle)
{
FINISH;
}
+static void *vl_api_app_namespace_add_del_t_print
+ (vl_api_app_namespace_add_del_t * mp, void *handle)
+{
+ u8 *s, *ns_id = 0;
+ u8 len = clib_min (mp->namespace_id_len,
+ ARRAY_LEN (mp->namespace_id) - 1);
+ mp->namespace_id[len] = 0;
+ s = format (0, "SCRIPT: app_namespace_add_del ");
+ s = format (s, "ns-id %s secret %lu sw_if_index %d ipv4_fib_id %d "
+ "ipv6_fib_id %d", (char *) mp->namespace_id, mp->secret,
+ clib_net_to_host_u32 (mp->sw_if_index),
+ clib_net_to_host_u32 (mp->ip4_fib_id),
+ clib_net_to_host_u32 (mp->ip6_fib_id));
+ FINISH;
+}
+
#define foreach_custom_print_no_arg_function \
_(lisp_eid_table_vni_dump) \
_(lisp_map_resolver_dump) \
_(SW_INTERFACE_SET_MPLS_ENABLE, sw_interface_set_mpls_enable) \
_(SW_INTERFACE_SET_VPATH, sw_interface_set_vpath) \
_(SW_INTERFACE_SET_VXLAN_BYPASS, sw_interface_set_vxlan_bypass) \
+_(SW_INTERFACE_SET_GENEVE_BYPASS, sw_interface_set_geneve_bypass) \
_(TAP_CONNECT, tap_connect) \
_(TAP_MODIFY, tap_modify) \
_(TAP_DELETE, tap_delete) \
_(SW_IF_L2TPV3_TUNNEL_DUMP, sw_if_l2tpv3_tunnel_dump) \
_(VXLAN_ADD_DEL_TUNNEL, vxlan_add_del_tunnel) \
_(VXLAN_TUNNEL_DUMP, vxlan_tunnel_dump) \
+_(GENEVE_ADD_DEL_TUNNEL, geneve_add_del_tunnel) \
+_(GENEVE_TUNNEL_DUMP, geneve_tunnel_dump) \
_(GRE_ADD_DEL_TUNNEL, gre_add_del_tunnel) \
_(GRE_TUNNEL_DUMP, gre_tunnel_dump) \
_(L2_FIB_CLEAR_TABLE, l2_fib_clear_table) \
_(SW_INTERFACE_SET_MTU, sw_interface_set_mtu) \
_(P2P_ETHERNET_ADD, p2p_ethernet_add) \
_(P2P_ETHERNET_DEL, p2p_ethernet_del) \
-_(TCP_CONFIGURE_SRC_ADDRESSES, tcp_configure_src_addresses)
+_(TCP_CONFIGURE_SRC_ADDRESSES, tcp_configure_src_addresses) \
+_(APP_NAMESPACE_ADD_DEL, app_namespace_add_del)
void
vl_msg_api_custom_dump_configure (api_main_t * am)
{