+ s = format (0, "SCRIPT: vxlan_add_del_tunnel ");
+
+ ip46_address_t src = to_ip46 (mp->is_ipv6, mp->src_address);
+ ip46_address_t dst = to_ip46 (mp->is_ipv6, mp->dst_address);
+
+ u8 is_grp = ip46_address_is_multicast (&dst);
+ char *dst_name = is_grp ? "group" : "dst";
+
+ s = format (s, "src %U ", format_ip46_address, &src, IP46_TYPE_ANY);
+ s = format (s, "%s %U ", dst_name, format_ip46_address,
+ &dst, IP46_TYPE_ANY);
+
+ if (is_grp)
+ s = format (s, "mcast_sw_if_index %d ", (mp->mcast_sw_if_index));
+
+ if (mp->encap_vrf_id)
+ s = format (s, "encap-vrf-id %d ", (mp->encap_vrf_id));
+
+ s = format (s, "decap-next %d ", (mp->decap_next_index));
+
+ s = format (s, "vni %d ", (mp->vni));
+
+ s = format (s, "instance %d ", (mp->instance));
+
+ if (mp->is_add == 0)
+ s = format (s, "del ");
+
+ FINISH;
+}
+
+static void *vl_api_vxlan_offload_rx_t_print
+ (vl_api_vxlan_offload_rx_t * mp, void *handle)
+{
+ u8 *s;
+ s = format (0, "SCRIPT: vxlan_offload_rx ");
+
+ s = format (s, "hw hw_if_index %d ", (mp->hw_if_index));
+ s = format (s, "rx sw_if_index %d ", (mp->sw_if_index));
+ if (!mp->enable)
+ s = format (s, "del ");
+
+ FINISH;
+}
+
+static void *vl_api_vxlan_tunnel_dump_t_print
+ (vl_api_vxlan_tunnel_dump_t * mp, void *handle)
+{
+ u8 *s;
+
+ s = format (0, "SCRIPT: vxlan_tunnel_dump ");
+
+ s = format (s, "sw_if_index %d ", (mp->sw_if_index));
+
+ FINISH;
+}
+
+static void *vl_api_vxlan_gbp_tunnel_add_del_t_print
+ (vl_api_vxlan_gbp_tunnel_add_del_t * mp, void *handle)
+{
+ u8 *s;
+ s = format (0, "SCRIPT: vxlan_gbp_tunnel_add_del ");
+
+ if (mp->is_add)
+ s = format (s, "add ");
+ else
+ s = format (s, "del ");
+
+ s = format (s, "instance %d ", (mp->tunnel.instance));
+ s = format (s, "src %U ", format_vl_api_address, &mp->tunnel.src);
+ s = format (s, "dst %U ", format_vl_api_address, &mp->tunnel.dst);
+ s = format (s, "mcast_sw_if_index %d ", (mp->tunnel.mcast_sw_if_index));
+ s = format (s, "encap_table_id %d ", (mp->tunnel.encap_table_id));
+ s = format (s, "vni %d ", (mp->tunnel.vni));
+ s = format (s, "sw_if_index %d ", (mp->tunnel.sw_if_index));
+
+ FINISH;
+}
+
+static void *vl_api_vxlan_gbp_tunnel_dump_t_print
+ (vl_api_vxlan_gbp_tunnel_dump_t * mp, void *handle)
+{
+ u8 *s;
+
+ s = format (0, "SCRIPT: vxlan_gbp_tunnel_dump ");
+
+ s = format (s, "sw_if_index %d ", (mp->sw_if_index));
+
+ FINISH;
+}
+
+static void *vl_api_sw_interface_set_vxlan_gbp_bypass_t_print
+ (vl_api_sw_interface_set_vxlan_gbp_bypass_t * mp, void *handle)
+{
+ u8 *s;
+
+ s = format (0, "SCRIPT: sw_interface_set_vxlan_gbp_bypass ");
+
+ s = format (s, "sw_if_index %d ", (mp->sw_if_index));
+ s = format (s, "%s ", (mp->is_ipv6 != 0) ? "ipv6" : "ipv4");
+ s = format (s, "%s ", (mp->enable != 0) ? "enable" : "disable");
+
+ 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 ");