FD.io VPP  v16.06
Vector Packet Processing
custom_dump.c
Go to the documentation of this file.
1 /*
2  *------------------------------------------------------------------
3  * custom_dump.c - pretty-print API messages for replay
4  *
5  * Copyright (c) 2014 Cisco and/or its affiliates.
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at:
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *------------------------------------------------------------------
18  */
19 
20 #include <vnet/vnet.h>
21 #include <vnet/ip/ip.h>
22 #include <vnet/unix/tuntap.h>
23 #include <vnet/mpls-gre/mpls.h>
24 #include <vnet/dhcp/proxy.h>
25 #include <vnet/dhcpv6/proxy.h>
26 #include <vnet/l2tp/l2tp.h>
27 #include <vnet/l2/l2_input.h>
28 #include <vnet/sr/sr_packet.h>
30 #include <vlib/vlib.h>
31 #include <vlib/unix/unix.h>
32 #include <vlibapi/api.h>
33 #include <vlibmemory/api.h>
34 
35 #include <stats/stats.h>
36 #include <oam/oam.h>
37 
38 #include <vnet/ethernet/ethernet.h>
39 #include <vnet/l2/l2_vtr.h>
40 
41 #include <api/vpe_msg_enum.h>
42 
43 #define vl_typedefs /* define message structures */
44 #include <api/vpe_all_api_h.h>
45 #undef vl_typedefs
46 
47 #define vl_endianfun /* define message structures */
48 #include <api/vpe_all_api_h.h>
49 #undef vl_endianfun
50 
51 #define vl_print(handle, ...) vlib_cli_output (handle, __VA_ARGS__)
52 
53 #define FINISH \
54  vec_add1 (s, 0); \
55  vl_print (handle, (char *)s); \
56  vec_free (s); \
57  return handle;
58 
59 
61 (vl_api_create_loopback_t *mp, void *handle)
62 {
63  u8 * s;
64 
65  s = format (0, "SCRIPT: create_loopback ");
66  s = format (s, "mac %U ", format_ethernet_address, &mp->mac_address);
67 
68  FINISH;
69 }
70 
72 (vl_api_delete_loopback_t *mp, void *handle)
73 {
74  u8 * s;
75 
76  s = format (0, "SCRIPT: delete_loopback ");
77  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
78 
79  FINISH;
80 }
81 
83 (vl_api_sw_interface_set_flags_t * mp, void *handle)
84 {
85  u8 * s;
86  s = format (0, "SCRIPT: sw_interface_set_flags ");
87 
88  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
89 
90  if (mp->admin_up_down)
91  s = format (s, "admin-up ");
92  else
93  s = format (s, "admin-down ");
94 
95  if (mp->link_up_down)
96  s = format (s, "link-up");
97  else
98  s = format (s, "link-down");
99 
100  FINISH;
101 }
102 
105 {
106  u8 * s;
107 
108  s = format (0, "SCRIPT: sw_interface_add_del_address ");
109 
110  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
111 
112  if (mp->is_ipv6)
113  s = format (s, "%U/%d ", format_ip6_address,
114  (ip6_address_t *) mp->address, mp->address_length);
115  else
116  s = format (s, "%U/%d ", format_ip4_address,
117  (ip4_address_t *) mp->address, mp->address_length);
118 
119  if (mp->is_add == 0)
120  s = format (s, "del ");
121  if (mp->del_all)
122  s = format (s, "del-all ");
123 
124  FINISH;
125 }
126 
128 (vl_api_sw_interface_set_table_t * mp, void * handle)
129 {
130  u8 * s;
131 
132  s = format (0, "SCRIPT: sw_interface_set_table ");
133 
134  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
135 
136  if (mp->vrf_id)
137  s = format (s, "vrf %d ", ntohl(mp->vrf_id));
138 
139  if (mp->is_ipv6)
140  s = format (s, "ipv6 ");
141 
142  FINISH;
143 }
144 
146 (vl_api_sw_interface_set_vpath_t * mp, void * handle)
147 {
148  u8 * s;
149 
150  s = format (0, "SCRIPT: sw_interface_set_vpath ");
151 
152  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
153 
154  if (mp->enable)
155  s = format (s, "vPath enable ");
156  else
157  s = format (s, "vPath disable ");
158 
159  FINISH;
160 }
161 
164 {
165  u8 * s;
166 
167  s = format (0, "SCRIPT: sw_interface_set_l2_xconnect ");
168 
169  s = format (s, "sw_if_index %d ", ntohl(mp->rx_sw_if_index));
170 
171  if (mp->enable) {
172  s = format (s, "tx_sw_if_index %d ", ntohl(mp->tx_sw_if_index));
173  } else s = format (s, "delete ");
174 
175  FINISH;
176 }
177 
180 {
181  u8 * s;
182 
183  s = format (0, "SCRIPT: sw_interface_set_l2_bridge ");
184 
185  s = format (s, "sw_if_index %d ", ntohl(mp->rx_sw_if_index));
186 
187  if (mp->enable) {
188  s = format (s, "bd_id %d shg %d %senable ", ntohl(mp->bd_id),
189  mp->shg, ((mp->bvi)?"bvi ":" "));
190  } else s = format (s, "disable ");
191 
192  FINISH;
193 }
194 
196 (vl_api_bridge_domain_add_del_t * mp, void *handle)
197 {
198  u8 * s;
199 
200  s = format (0, "SCRIPT: bridge_domain_add_del ");
201 
202  s = format (s, "bd_id %d ", ntohl(mp->bd_id));
203 
204  if (mp->is_add) {
205  s = format (s, "flood %d uu-flood %d forward %d learn %d arp-term %d",
206  mp->flood, mp->uu_flood, mp->forward, mp->learn,
207  mp->arp_term);
208  } else s = format (s, "del ");
209 
210  FINISH;
211 }
212 
214 (vl_api_bridge_domain_dump_t * mp, void *handle)
215 {
216  u8 * s;
217  u32 bd_id = ntohl (mp->bd_id);
218 
219  s = format (0, "SCRIPT: bridge_domain_dump ");
220 
221  if (bd_id != ~0)
222  s = format (s, "bd_id %d ", bd_id);
223 
224  FINISH;
225 }
226 
227 static void *vl_api_l2fib_add_del_t_print
228 (vl_api_l2fib_add_del_t * mp, void *handle)
229 {
230  u8 * s;
231 
232  s = format (0, "SCRIPT: l2fib_add_del ");
233 
234  s = format (s, "mac %U ", format_ethernet_address, &mp->mac);
235 
236  s = format (s, "bd_id %d ", ntohl(mp->bd_id));
237 
238 
239  if (mp->is_add) {
240  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
241  if (mp->static_mac) s = format (s, "%s", "static ");
242  if (mp->filter_mac) s = format (s, "%s", "filter ");
243  } else {
244  s = format (s, "del ");
245  }
246 
247  FINISH;
248 }
249 
250 static void *vl_api_l2_flags_t_print
251 (vl_api_l2_flags_t * mp, void *handle)
252 {
253  u8 * s;
254  u32 flags = ntohl(mp->feature_bitmap);
255 
256  s = format (0, "SCRIPT: l2_flags ");
257 
258  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
259 
260 #define _(a,b) \
261  if (flags & L2INPUT_FEAT_ ## a) s = format (s, #a " ");
263 #undef _
264 
265  FINISH;
266 }
267 
268 static void *vl_api_bridge_flags_t_print
269 (vl_api_bridge_flags_t * mp, void *handle)
270 {
271  u8 * s;
272  u32 flags = ntohl(mp->feature_bitmap);
273 
274  s = format (0, "SCRIPT: bridge_flags ");
275 
276  s = format (s, "bd_id %d ", ntohl(mp->bd_id));
277 
278  if (flags & L2_LEARN) s = format (s, "learn ");
279  if (flags & L2_FWD) s = format (s, "forward ");
280  if (flags & L2_FLOOD) s = format (s, "flood ");
281  if (flags & L2_UU_FLOOD) s = format (s, "uu-flood ");
282  if (flags & L2_ARP_TERM) s = format (s, "arp-term ");
283 
284  if (mp->is_set == 0) s = format (s, "clear ");
285 
286  FINISH;
287 }
288 
290 (vl_api_bd_ip_mac_add_del_t * mp, void *handle)
291 {
292  u8 * s;
293 
294  s = format (0, "SCRIPT: bd_ip_mac_add_del ");
295  s = format (s, "bd_id %d ", ntohl(mp->bd_id));
296 
297  if (mp->is_ipv6)
298  s = format (s, "%U ", format_ip6_address,
299  (ip6_address_t *) mp->ip_address);
300  else s = format (s, "%U ", format_ip4_address,
301  (ip4_address_t *) mp->ip_address);
302 
303  s = format (s, "%U ", format_ethernet_address, mp->mac_address);
304  if (mp->is_add == 0) s = format (s, "del ");
305 
306  FINISH;
307 }
308 
309 static void *vl_api_tap_connect_t_print
310 (vl_api_tap_connect_t * mp, void *handle)
311 {
312  u8 * s;
313  u8 null_mac[6];
314 
315  memset(null_mac, 0, sizeof (null_mac));
316 
317  s = format (0, "SCRIPT: tap_connect ");
318  s = format (s, "tapname %s ", mp->tap_name);
319  if (mp->use_random_mac)
320  s = format (s, "random-mac ");
321 
322  if (memcmp (mp->mac_address, null_mac, 6))
323  s = format (s, "mac %U ", format_ethernet_address, mp->mac_address);
324 
325  FINISH;
326 }
327 
328 static void *vl_api_tap_modify_t_print
329 (vl_api_tap_modify_t * mp, void *handle)
330 {
331  u8 * s;
332  u8 null_mac[6];
333 
334  memset(null_mac, 0, sizeof (null_mac));
335 
336  s = format (0, "SCRIPT: tap_modify ");
337  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
338  s = format (s, "tapname %s ", mp->tap_name);
339  if (mp->use_random_mac)
340  s = format (s, "random-mac ");
341 
342  if (memcmp (mp->mac_address, null_mac, 6))
343  s = format (s, "mac %U ", format_ethernet_address, mp->mac_address);
344 
345  FINISH;
346 }
347 
348 static void *vl_api_tap_delete_t_print
349 (vl_api_tap_delete_t * mp, void *handle)
350 {
351  u8 * s;
352 
353  s = format (0, "SCRIPT: tap_delete ");
354  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
355 
356  FINISH;
357 }
358 
360 (vl_api_sw_interface_tap_dump_t * mp, void *handle)
361 {
362  u8 * s;
363 
364  s = format (0, "SCRIPT: sw_interface_tap_dump ");
365 
366  FINISH;
367 }
368 
369 
371 (vl_api_ip_add_del_route_t * mp, void *handle)
372 {
373  u8 * s;
374 
375  s = format (0, "SCRIPT: ip_add_del_route ");
376  if (mp->is_add == 0)
377  s = format (s, "del ");
378 
379  if (mp->next_hop_sw_if_index)
380  s = format (s, "sw_if_index %d ", ntohl(mp->next_hop_sw_if_index));
381 
382  if (mp->is_ipv6)
383  s = format (s, "%U/%d ", format_ip6_address, mp->dst_address,
384  mp->dst_address_length);
385  else
386  s = format (s, "%U/%d ", format_ip4_address, mp->dst_address,
387  mp->dst_address_length);
388  if (mp->is_local)
389  s = format (s, "local ");
390  else if (mp->is_drop)
391  s = format (s, "drop ");
392  else if (mp->is_classify)
393  s = format (s, "classify %d", ntohl (mp->classify_table_index));
394  else {
395  if (mp->is_ipv6)
396  s = format (s, "via %U ", format_ip6_address,
397  mp->next_hop_address);
398  else
399  s = format (s, "via %U ", format_ip4_address,
400  mp->next_hop_address);
401  }
402 
403  if (mp->vrf_id != 0)
404  s = format (s, "vrf %d ", ntohl(mp->vrf_id));
405 
406  if (mp->create_vrf_if_needed)
407  s = format (s, "create-vrf ");
408 
409  if (mp->resolve_attempts != 0)
410  s = format (s, "resolve-attempts %d ", ntohl(mp->resolve_attempts));
411 
412  if (mp->next_hop_weight != 1)
413  s = format (s, "weight %d ", mp->next_hop_weight);
414 
415  if (mp->not_last)
416  s = format (s, "not-last ");
417 
418  if (mp->is_multipath)
419  s = format (s, "multipath ");
420 
421  if (mp->is_multipath)
422  s = format (s, "multipath ");
423 
424  if (mp->lookup_in_vrf)
425  s = format (s, "lookup-in-vrf %d ", ntohl (mp->lookup_in_vrf));
426 
427  FINISH;
428 }
429 
431 (vl_api_proxy_arp_add_del_t * mp, void * handle)
432 {
433  u8 * s;
434 
435  s = format (0, "SCRIPT: proxy_arp_add_del ");
436 
437  s = format (s, "%U - %U ", format_ip4_address, mp->low_address,
439 
440  if (mp->vrf_id)
441  s = format (s, "vrf %d ", ntohl(mp->vrf_id));
442 
443  if (mp->is_add == 0)
444  s = format (s, "del ");
445 
446  FINISH;
447 }
448 
451 {
452  u8 * s;
453 
454  s = format (0, "SCRIPT: proxy_arp_intfc_enable_disable ");
455 
456  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
457 
458  s = format (s, "enable %d ", mp->enable_disable);
459 
460  FINISH;
461 }
462 
464 (vl_api_mpls_add_del_decap_t * mp, void * handle)
465 {
466  u8 * s;
467 
468  s = format (0, "SCRIPT: mpls_add_del_decap ");
469 
470  s = format (s, "rx_vrf_id %d ", ntohl(mp->rx_vrf_id));
471 
472  s = format (s, "tx_vrf_id %d ", ntohl(mp->tx_vrf_id));
473 
474  s = format (s, "label %d ", ntohl(mp->label));
475 
476  s = format (s, "next-index %d ", ntohl(mp->next_index));
477 
478  if (mp->s_bit == 0)
479  s = format (s, "s-bit-clear ");
480 
481  if (mp->is_add == 0)
482  s = format (s, "del ");
483 
484  FINISH;
485 }
486 
488 (vl_api_mpls_add_del_encap_t * mp, void * handle)
489 {
490  u8 * s;
491  int i;
492 
493  s = format (0, "SCRIPT: mpls_add_del_encap ");
494 
495  s = format (s, "vrf_id %d ", ntohl(mp->vrf_id));
496 
497  s = format (s, "dst %U ", format_ip4_address, mp->dst_address);
498 
499  for (i = 0; i < mp->nlabels; i++)
500  s = format (s, "label %d ", ntohl(mp->labels[i]));
501 
502  if (mp->is_add == 0)
503  s = format (s, "del ");
504 
505  FINISH;
506 }
507 
509 (vl_api_mpls_gre_add_del_tunnel_t * mp, void * handle)
510 {
511  u8 * s;
512 
513  s = format (0, "SCRIPT: mpls_gre_add_del_tunnel ");
514 
515  s = format (s, "src %U ", format_ip4_address, mp->src_address);
516 
517  s = format (s, "dst %U ", format_ip4_address, mp->dst_address);
518 
519  s = format (s, "adj %U/%d ", format_ip4_address,
521 
522  s = format (s, "inner-vrf_id %d ", ntohl(mp->inner_vrf_id));
523 
524  s = format (s, "outer-vrf_id %d ", ntohl(mp->outer_vrf_id));
525 
526  if (mp->is_add == 0)
527  s = format (s, "del ");
528 
529  if (mp->l2_only)
530  s = format (s, "l2-only ");
531 
532  FINISH;
533 }
534 
537 {
538  u8 * s;
539 
540  s = format (0, "SCRIPT: mpls_ethernet_add_del_tunnel ");
541 
542  s = format (s, "tx_sw_if_index %d ", ntohl(mp->tx_sw_if_index));
543 
544  s = format (s, "dst %U", format_ethernet_address, mp->dst_mac_address);
545 
546  s = format (s, "adj %U/%d ", format_ip4_address,
548 
549  s = format (s, "vrf_id %d ", ntohl(mp->vrf_id));
550 
551  if (mp->l2_only)
552  s = format (s, "l2-only ");
553 
554  if (mp->is_add == 0)
555  s = format (s, "del ");
556 
557  FINISH;
558 }
559 
562 {
563  u8 * s;
564 
565  s = format (0, "SCRIPT: mpls_ethernet_add_del_tunnel_2 ");
566 
567  s = format (s, "adj %U/%d ", format_ip4_address,
569 
570  s = format (s, "next-hop %U ", format_ip4_address,
572 
573  s = format (s, "inner_vrf_id %d ", ntohl(mp->inner_vrf_id));
574 
575  s = format (s, "outer_vrf_id %d ", ntohl(mp->outer_vrf_id));
576 
577  s = format (s, "resolve-if-needed %d ", mp->resolve_if_needed);
578 
579  s = format (s, "resolve-attempts %d ", ntohl(mp->resolve_attempts));
580 
581  if (mp->l2_only)
582  s = format (s, "l2-only ");
583 
584  if (mp->is_add == 0)
585  s = format (s, "del ");
586 
587  FINISH;
588 }
589 
592 {
593  u8 * s;
594 
595  s = format (0, "SCRIPT: sw_interface_set_unnumbered ");
596 
597  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
598 
599  s = format (s, "unnum_if_index %d ", ntohl(mp->unnumbered_sw_if_index));
600 
601  if (mp->is_add == 0)
602  s = format (s, "del ");
603 
604  FINISH;
605 }
606 
608 (vl_api_ip_neighbor_add_del_t * mp, void *handle)
609 {
610  u8 * s;
611  u8 null_mac[6];
612 
613  memset(null_mac, 0, sizeof (null_mac));
614 
615  s = format (0, "SCRIPT: ip_neighbor_add_del ");
616 
617  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
618 
619  if (mp->is_static)
620  s = format (s, "is_static ");
621 
622  s = format (s, "vrf_id %d ", ntohl(mp->vrf_id));
623 
624  if (memcmp (mp->mac_address, null_mac, 6))
625  s = format (s, "mac %U ", format_ethernet_address, mp->mac_address);
626 
627  if (mp->is_ipv6)
628  s = format (s, "dst %U ", format_ip6_address, (ip6_address_t *) mp->dst_address);
629  else
630  s = format (s, "dst %U ", format_ip4_address, (ip4_address_t *) mp->dst_address);
631 
632  if (mp->is_add == 0)
633  s = format (s, "del ");
634 
635  FINISH;
636 }
637 
638 static void *vl_api_reset_vrf_t_print
639 (vl_api_reset_vrf_t * mp, void * handle)
640 {
641  u8 * s;
642 
643  s = format (0, "SCRIPT: reset_vrf ");
644 
645  if (mp->vrf_id)
646  s = format (s, "vrf %d ", ntohl(mp->vrf_id));
647 
648  if (mp->is_ipv6 != 0)
649  s = format (s, "ipv6 ");
650 
651  FINISH;
652 }
653 
655 (vl_api_create_vlan_subif_t * mp, void * handle)
656 {
657  u8 * s;
658 
659  s = format (0, "SCRIPT: create_vlan_subif ");
660 
661  if (mp->sw_if_index)
662  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
663 
664  if (mp->vlan_id)
665  s = format (s, "vlan_id %d ", ntohl(mp->vlan_id));
666 
667  FINISH;
668 }
669 
670 #define foreach_create_subif_bit \
671 _(no_tags) \
672 _(one_tag) \
673 _(two_tags) \
674 _(dot1ad) \
675 _(exact_match) \
676 _(default_sub) \
677 _(outer_vlan_id_any) \
678 _(inner_vlan_id_any)
679 
680 static void *vl_api_create_subif_t_print
681 (vl_api_create_subif_t * mp, void * handle)
682 {
683  u8 * s;
684 
685  s = format (0, "SCRIPT: create_subif ");
686 
687  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
688 
689  s = format (s, "sub_id %d ", ntohl(mp->sub_id));
690 
691  if (mp->outer_vlan_id)
692  s = format (s, "outer_vlan_id %d ", ntohs (mp->outer_vlan_id));
693 
694  if (mp->outer_vlan_id)
695  s = format (s, "inner_vlan_id %d ", ntohs (mp->inner_vlan_id));
696 
697 #define _(a) if (mp->a) s = format (s, "%s ", #a);
699 #undef _
700 
701 
702  FINISH;
703 }
704 
705 static void *vl_api_oam_add_del_t_print
706 (vl_api_oam_add_del_t * mp, void * handle)
707 {
708  u8 * s;
709 
710  s = format (0, "SCRIPT: oam_add_del ");
711 
712  if (mp->vrf_id)
713  s = format (s, "vrf %d ", ntohl(mp->vrf_id));
714 
715  s = format (s, "src %U ", format_ip4_address, mp->src_address);
716 
717  s = format (s, "dst %U ", format_ip4_address, mp->dst_address);
718 
719  if (mp->is_add == 0)
720  s = format (s, "del ");
721 
722  FINISH;
723 }
724 
725 static void *vl_api_reset_fib_t_print
726 (vl_api_reset_fib_t * mp, void * handle)
727 {
728  u8 * s;
729 
730  s = format (0, "SCRIPT: reset_fib ");
731 
732  if (mp->vrf_id)
733  s = format (s, "vrf %d ", ntohl(mp->vrf_id));
734 
735  if (mp->is_ipv6 != 0)
736  s = format (s, "ipv6 ");
737 
738  FINISH;
739 }
740 
742 (vl_api_dhcp_proxy_config_t * mp, void *handle)
743 {
744  u8 * s;
745 
746  s = format (0, "SCRIPT: dhcp_proxy_config ");
747 
748  s = format (s, "vrf_id %d ", ntohl(mp->vrf_id));
749 
750  if (mp->is_ipv6) {
751  s = format (s, "svr %U ", format_ip6_address,
752  (ip6_address_t *) mp->dhcp_server);
753  s = format (s, "src %U ", format_ip6_address,
755  } else {
756  s = format (s, "svr %U ", format_ip4_address,
757  (ip4_address_t *) mp->dhcp_server);
758  s = format (s, "src %U ", format_ip4_address,
760  }
761  if (mp->is_add == 0)
762  s = format (s, "del ");
763 
764  s = format (s, "insert-cid %d ", mp->insert_circuit_id);
765 
766  FINISH;
767 }
768 
770 (vl_api_dhcp_proxy_config_2_t * mp, void *handle)
771 {
772  u8 * s;
773 
774  s = format (0, "SCRIPT: dhcp_proxy_config_2 ");
775 
776  s = format (s, "rx_vrf_id %d ", ntohl(mp->rx_vrf_id));
777  s = format (s, "server_vrf_id %d ", ntohl(mp->server_vrf_id));
778 
779  if (mp->is_ipv6) {
780  s = format (s, "svr %U ", format_ip6_address,
781  (ip6_address_t *) mp->dhcp_server);
782  s = format (s, "src %U ", format_ip6_address,
784  } else {
785  s = format (s, "svr %U ", format_ip4_address,
786  (ip4_address_t *) mp->dhcp_server);
787  s = format (s, "src %U ", format_ip4_address,
789  }
790  if (mp->is_add == 0)
791  s = format (s, "del ");
792 
793  s = format (s, "insert-cid %d ", mp->insert_circuit_id);
794 
795  FINISH;
796 }
797 
799 (vl_api_dhcp_proxy_set_vss_t * mp, void * handle)
800 {
801  u8 * s;
802 
803  s = format (0, "SCRIPT: dhcp_proxy_set_vss ");
804 
805  s = format (s, "tbl_id %d ", ntohl(mp->tbl_id));
806 
807  s = format (s, "fib_id %d ", ntohl(mp->fib_id));
808 
809  s = format (s, "oui %d ", ntohl(mp->oui));
810 
811  if (mp->is_ipv6 != 0)
812  s = format (s, "ipv6 ");
813 
814  if (mp->is_add == 0)
815  s = format (s, "del ");
816 
817  FINISH;
818 }
819 
821 (vl_api_dhcp_client_config_t * mp, void *handle)
822 {
823  u8 * s;
824 
825  s = format (0, "SCRIPT: dhcp_client_config ");
826 
827  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
828 
829  s = format (s, "hostname %s ", mp->hostname);
830 
831  s = format (s, "want_dhcp_event %d ", mp->want_dhcp_event);
832 
833  s = format (s, "pid %d ", mp->pid);
834 
835  if (mp->is_add == 0)
836  s = format (s, "del ");
837 
838  FINISH;
839 }
840 
841 
843 (vl_api_set_ip_flow_hash_t * mp, void * handle)
844 {
845  u8 * s;
846 
847  s = format (0, "SCRIPT: set_ip_flow_hash ");
848 
849  s = format (s, "vrf_id %d ", ntohl(mp->vrf_id));
850 
851  if (mp->src)
852  s = format (s, "src ");
853 
854  if (mp->dst)
855  s = format (s, "dst ");
856 
857  if (mp->sport)
858  s = format (s, "sport ");
859 
860  if (mp->dport)
861  s = format (s, "dport ");
862 
863  if (mp->proto)
864  s = format (s, "proto ");
865 
866  if (mp->reverse)
867  s = format (s, "reverse ");
868 
869  if (mp->is_ipv6 != 0)
870  s = format (s, "ipv6 ");
871 
872  FINISH;
873 }
874 
877 {
878  u8 * s;
879 
880  s = format (0, "SCRIPT: sw_interface_ip6_set_link_local_address ");
881 
882  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
883 
884  s = format (s, "%U/%d ", format_ip6_address, mp->address,
885  mp->address_length);
886 
887  FINISH;
888 }
889 
892 {
893  u8 * s;
894 
895  s = format (0, "SCRIPT: sw_interface_ip6nd_ra_prefix ");
896 
897  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
898 
899  s = format (s, "%U/%d ", format_ip6_address, mp->address,
900  mp->address_length);
901 
902  s = format (s, "val_life %d ", ntohl(mp->val_lifetime));
903 
904  s = format (s, "pref_life %d ", ntohl(mp->pref_lifetime));
905 
906  if (mp->use_default)
907  s = format (s, "def ");
908 
909  if (mp->no_advertise)
910  s = format (s, "noadv ");
911 
912  if (mp->off_link)
913  s = format (s, "offl ");
914 
915  if (mp->no_autoconfig)
916  s = format (s, "noauto ");
917 
918  if (mp->no_onlink)
919  s = format (s, "nolink ");
920 
921  if (mp->is_no)
922  s = format (s, "isno ");
923 
924  FINISH;
925 }
926 
929 {
930  u8 * s;
931 
932  s = format (0, "SCRIPT: sw_interface_ip6nd_ra_config ");
933 
934  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
935 
936  s = format (s, "maxint %d ", ntohl(mp->max_interval));
937 
938  s = format (s, "minint %d ", ntohl(mp->min_interval));
939 
940  s = format (s, "life %d ", ntohl(mp->lifetime));
941 
942  s = format (s, "count %d ", ntohl(mp->initial_count));
943 
944  s = format (s, "interval %d ", ntohl(mp->initial_interval));
945 
946  if (mp->surpress)
947  s = format (s, "surpress ");
948 
949  if (mp->managed)
950  s = format (s, "managed ");
951 
952  if (mp->other)
953  s = format (s, "other ");
954 
955  if (mp->ll_option)
956  s = format (s, "ll ");
957 
958  if (mp->send_unicast)
959  s = format (s, "send ");
960 
961  if (mp->cease)
962  s = format (s, "cease ");
963 
964  if (mp->is_no)
965  s = format (s, "isno ");
966 
967  if (mp->default_router)
968  s = format (s, "def ");
969 
970  FINISH;
971 }
972 
974 (vl_api_set_arp_neighbor_limit_t * mp, void * handle)
975 {
976  u8 * s;
977 
978  s = format (0, "SCRIPT: set_arp_neighbor_limit ");
979 
980  s = format (s, "arp_nbr_limit %d ", ntohl(mp->arp_neighbor_limit));
981 
982  if (mp->is_ipv6 != 0)
983  s = format (s, "ipv6 ");
984 
985  FINISH;
986 }
987 
989 (vl_api_l2_patch_add_del_t * mp, void *handle)
990 {
991  u8 * s;
992 
993  s = format (0, "SCRIPT: l2_patch_add_del ");
994 
995  s = format (s, "rx_sw_if_index %d ", ntohl(mp->rx_sw_if_index));
996 
997  s = format (s, "tx_sw_if_index %d ", ntohl(mp->tx_sw_if_index));
998 
999  if (mp->is_add == 0)
1000  s = format (s, "del ");
1001 
1002  FINISH;
1003 }
1004 
1006 (vl_api_sr_tunnel_add_del_t * mp, void *handle)
1007 {
1008  u8 * s;
1009  ip6_address_t * this_address;
1010  int i;
1011  u16 flags_host_byte_order;
1012  u8 pl_flag;
1013 
1014  s = format (0, "SCRIPT: sr_tunnel_add_del ");
1015 
1016  if (mp->name[0])
1017  s = format (s, "name %s ", mp->name);
1018 
1019  s = format (s, "src %U dst %U/%d ", format_ip6_address,
1020  (ip6_address_t *) mp->src_address,
1023 
1024  this_address = (ip6_address_t *)mp->segs_and_tags;
1025  for (i = 0; i < mp->n_segments; i++) {
1026  s = format (s, "next %U ", format_ip6_address, this_address);
1027  this_address++;
1028  }
1029  for (i = 0; i < mp->n_tags; i++) {
1030  s = format (s, "tag %U ", format_ip6_address, this_address);
1031  this_address++;
1032  }
1033 
1034  flags_host_byte_order = clib_net_to_host_u16 (mp->flags_net_byte_order);
1035 
1036  if (flags_host_byte_order & IP6_SR_HEADER_FLAG_CLEANUP)
1037  s = format (s, " clean ");
1038 
1039  if (flags_host_byte_order & IP6_SR_HEADER_FLAG_PROTECTED)
1040  s = format (s, "protected ");
1041 
1042  for (i = 1; i <= 4; i++) {
1043  pl_flag = ip6_sr_policy_list_flags (flags_host_byte_order, i);
1044 
1045  switch (pl_flag) {
1047  continue;
1048 
1050  s = format (s, "InPE %d ", i);
1051  break;
1052 
1054  s = format (s, "EgPE %d ", i);
1055  break;
1056 
1058  s = format (s, "OrgSrc %d ", i);
1059  break;
1060 
1061  default:
1062  clib_warning ("BUG: pl elt %d value %d", i, pl_flag);
1063  break;
1064  }
1065  }
1066 
1067  if (mp->policy_name[0])
1068  s = format (s, "policy_name %s ", mp->policy_name);
1069 
1070  if (mp->is_add == 0)
1071  s = format (s, "del ");
1072 
1073  FINISH;
1074 }
1075 
1077 (vl_api_sr_policy_add_del_t * mp, void *handle)
1078 {
1079  u8 * s;
1080  int i;
1081 
1082  s = format (0, "SCRIPT: sr_policy_add_del ");
1083 
1084  if (mp->name[0])
1085  s = format (s, "name %s ", mp->name);
1086 
1087 
1088  if (mp->tunnel_names[0])
1089  {
1090  // start deserializing tunnel_names
1091  int num_tunnels = mp->tunnel_names[0]; //number of tunnels
1092  u8 * deser_tun_names = mp->tunnel_names;
1093  deser_tun_names += 1; //moving along
1094 
1095  u8 * tun_name = 0;
1096  int tun_name_len = 0;
1097 
1098  for (i=0; i < num_tunnels; i++)
1099  {
1100  tun_name_len= *deser_tun_names;
1101  deser_tun_names += 1;
1102  vec_resize (tun_name, tun_name_len);
1103  memcpy(tun_name, deser_tun_names, tun_name_len);
1104  s = format (s, "tunnel %s ", tun_name);
1105  deser_tun_names += tun_name_len;
1106  tun_name = 0;
1107  }
1108  }
1109 
1110  if (mp->is_add == 0)
1111  s = format (s, "del ");
1112 
1113  FINISH;
1114 }
1115 
1118 {
1119 
1120  u8 * s = 0;
1121  /* int i; */
1122 
1123  s = format (0, "SCRIPT: sr_multicast_map_add_del ");
1124 
1125  if (mp->multicast_address[0])
1126  s = format (s, "address %U ", format_ip6_address, &mp->multicast_address);
1127 
1128  if (mp->policy_name[0])
1129  s = format (s, "sr-policy %s ", &mp->policy_name);
1130 
1131 
1132  if (mp->is_add == 0)
1133  s = format (s, "del ");
1134 
1135  FINISH;
1136 }
1137 
1138 
1141 {
1142  u8 * s;
1143  int i;
1144 
1145  s = format (0, "SCRIPT: classify_add_del_table ");
1146 
1147  if (mp->is_add == 0) {
1148  s = format (s, "table %d ", ntohl(mp->table_index));
1149  s = format (s, "del ");
1150  } else {
1151  s = format (s, "nbuckets %d ", ntohl(mp->nbuckets));
1152  s = format (s, "memory_size %d ", ntohl(mp->memory_size));
1153  s = format (s, "skip %d ", ntohl(mp->skip_n_vectors));
1154  s = format (s, "match %d ", ntohl(mp->match_n_vectors));
1155  s = format (s, "next-table %d ", ntohl(mp->next_table_index));
1156  s = format (s, "miss-next %d ", ntohl(mp->miss_next_index));
1157  s = format (s, "mask hex ");
1158  for (i = 0; i < ntohl(mp->match_n_vectors) * sizeof (u32x4); i++)
1159  s = format (s, "%02x", mp->mask[i]);
1160  vec_add1 (s, ' ');
1161  }
1162 
1163  FINISH;
1164 }
1165 
1168 {
1169  u8 * s;
1170  int i, limit=0;
1171 
1172  s = format (0, "SCRIPT: classify_add_del_session ");
1173 
1174  s = format (s, "table_index %d ", ntohl (mp->table_index));
1175  s = format (s, "hit_next_index %d ", ntohl (mp->hit_next_index));
1176  s = format (s, "opaque_index %d ", ntohl (mp->opaque_index));
1177  s = format (s, "advance %d ", ntohl (mp->advance));
1178  if (mp->is_add == 0)
1179  s = format (s, "del ");
1180 
1181  s = format (s, "match hex ");
1182  for (i = 5 * sizeof(u32x4)-1; i > 0; i--) {
1183  if (mp->match[i] != 0) {
1184  limit = i + 1;
1185  break;
1186  }
1187  }
1188 
1189  for (i = 0; i < limit; i++)
1190  s = format (s, "%02x", mp->match[i]);
1191 
1192  FINISH;
1193 }
1194 
1197 {
1198  u8 * s;
1199 
1200  s = format (0, "SCRIPT: classify_set_interface_ip_table ");
1201 
1202  if (mp->is_ipv6)
1203  s = format (s, "ipv6 ");
1204 
1205  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
1206  s = format (s, "table %d ", ntohl(mp->table_index));
1207 
1208  FINISH;
1209 }
1210 
1213 {
1214  u8 * s;
1215 
1216  s = format (0, "SCRIPT: classify_set_interface_l2_tables ");
1217 
1218  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
1219  s = format (s, "ip4-table %d ", ntohl(mp->ip4_table_index));
1220  s = format (s, "ip6-table %d ", ntohl(mp->ip6_table_index));
1221  s = format (s, "other-table %d ", ntohl(mp->other_table_index));
1222 
1223  FINISH;
1224 }
1225 
1226 static void *vl_api_add_node_next_t_print
1227 (vl_api_add_node_next_t * mp, void *handle)
1228 {
1229  u8 * s;
1230 
1231  s = format (0, "SCRIPT: add_node_next ");
1232 
1233  s = format (0, "node %s next %s ", mp->node_name, mp->next_name);
1234 
1235  FINISH;
1236 }
1237 
1239 (vl_api_l2tpv3_create_tunnel_t * mp, void *handle)
1240 {
1241  u8 * s;
1242 
1243  s = format (0, "SCRIPT: l2tpv3_create_tunnel ");
1244 
1245  s = format (s, "client_address %U our_address %U ",
1248  s = format (s, "local_session_id %d ", ntohl(mp->local_session_id));
1249  s = format (s, "remote_session_id %d ", ntohl(mp->remote_session_id));
1250  s = format (s, "local_cookie %lld ",
1251  clib_net_to_host_u64 (mp->local_cookie));
1252  s = format (s, "remote_cookie %lld ",
1253  clib_net_to_host_u64 (mp->remote_cookie));
1254  if (mp->l2_sublayer_present)
1255  s = format (s, "l2-sublayer-present ");
1256 
1257  FINISH;
1258 }
1259 
1262 {
1263  u8 * s;
1264 
1265  s = format (0, "SCRIPT: l2tpv3_set_tunnel_cookies ");
1266 
1267  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
1268 
1269  s = format (s, "new_local_cookie %llu ",
1270  clib_net_to_host_u64 (mp->new_local_cookie));
1271 
1272  s = format (s, "new_remote_cookie %llu ",
1273  clib_net_to_host_u64 (mp->new_remote_cookie));
1274 
1275  FINISH;
1276 }
1277 
1280 {
1281  u8 * s;
1282 
1283  s = format (0, "SCRIPT: l2tpv3_interface_enable_disable ");
1284 
1285  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
1286 
1287  if (mp->enable_disable == 0)
1288  s = format (s, "del ");
1289 
1290  FINISH;
1291 }
1292 
1295 {
1296  u8 * s;
1297  char * str = "unknown";
1298 
1299  s = format (0, "SCRIPT: l2tpv3_set_lookup_key ");
1300 
1301  switch (mp->key) {
1303  str = "lookup_v6_src";
1304  break;
1306  str = "lookup_v6_dst";
1307  break;
1308  case L2T_LOOKUP_SESSION_ID:
1309  str = "lookup_session_id";
1310  break;
1311  default:
1312  break;
1313  }
1314 
1315  s = format (s, "%s ", str);
1316 
1317  FINISH;
1318 }
1319 
1322 {
1323  u8 * s;
1324 
1325  s = format (0, "SCRIPT: sw_if_l2tpv3_tunnel_dump ");
1326 
1327  FINISH;
1328 }
1329 
1331 (vl_api_vxlan_add_del_tunnel_t * mp, void *handle)
1332 {
1333  u8 * s;
1334 
1335  s = format (0, "SCRIPT: vxlan_add_del_tunnel ");
1336 
1337  s = format (s, "dst %U ", format_ip46_address,
1338  (ip46_address_t *)&(mp->dst_address));
1339 
1340  s = format (s, "src %U ", format_ip46_address,
1341  (ip46_address_t *)&(mp->src_address));
1342 
1343  if (mp->encap_vrf_id)
1344  s = format (s, "encap-vrf-id %d ", ntohl(mp->encap_vrf_id));
1345 
1346  s = format (s, "decap-next %d ", ntohl(mp->decap_next_index));
1347 
1348  s = format (s, "vni %d ", ntohl(mp->vni));
1349 
1350  if (mp->is_add == 0)
1351  s = format (s, "del ");
1352 
1353  FINISH;
1354 }
1355 
1357 (vl_api_vxlan_tunnel_dump_t * mp, void *handle)
1358 {
1359  u8 * s;
1360 
1361  s = format (0, "SCRIPT: vxlan_tunnel_dump ");
1362 
1363  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
1364 
1365  FINISH;
1366 }
1367 
1369 (vl_api_gre_add_del_tunnel_t * mp, void *handle)
1370 {
1371  u8 * s;
1372 
1373  s = format (0, "SCRIPT: gre_add_del_tunnel ");
1374 
1375  s = format (s, "dst %U ", format_ip4_address,
1376  (ip4_address_t *)&(mp->dst_address));
1377 
1378  s = format (s, "src %U ", format_ip4_address,
1379  (ip4_address_t *)&(mp->src_address));
1380 
1381  if (mp->outer_table_id)
1382  s = format (s, "outer-fib-id %d ", ntohl(mp->outer_table_id));
1383 
1384  if (mp->is_add == 0)
1385  s = format (s, "del ");
1386 
1387  FINISH;
1388 }
1389 
1390 static void * vl_api_gre_tunnel_dump_t_print
1391 (vl_api_gre_tunnel_dump_t * mp, void *handle)
1392 {
1393  u8 * s;
1394 
1395  s = format (0, "SCRIPT: gre_tunnel_dump ");
1396 
1397  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
1398 
1399  FINISH;
1400 }
1401 
1403 (vl_api_l2_fib_clear_table_t * mp, void *handle)
1404 {
1405  u8 * s;
1406 
1407  s = format (0, "SCRIPT: l2_fib_clear_table ");
1408 
1409  FINISH;
1410 }
1411 
1414 {
1415  u8 * s;
1416 
1417  s = format (0, "SCRIPT: l2_interface_efp_filter ");
1418 
1419  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
1420  if (mp->enable_disable)
1421  s = format (s, "enable ");
1422  else
1423  s = format (s, "disable ");
1424 
1425  FINISH;
1426 }
1427 
1430 {
1431  u8 * s;
1432 
1433  s = format (0, "SCRIPT: l2_interface_vlan_tag_rewrite ");
1434 
1435  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
1436  s = format (s, "vtr_op %d ", ntohl(mp->vtr_op));
1437  s = format (s, "push_dot1q %d ", ntohl(mp->push_dot1q));
1438  s = format (s, "tag1 %d ", ntohl(mp->tag1));
1439  s = format (s, "tag2 %d ", ntohl(mp->tag2));
1440 
1441  FINISH;
1442 }
1443 
1445 (vl_api_create_vhost_user_if_t * mp, void *handle)
1446 {
1447  u8 * s;
1448 
1449  s = format (0, "SCRIPT: create_vhost_user_if ");
1450 
1451  s = format (s, "socket %s ", mp->sock_filename);
1452  if (mp->is_server)
1453  s = format (s, "server ");
1454  if (mp->renumber)
1455  s = format (s, "renumber %d ", ntohl(mp->custom_dev_instance));
1456 
1457  FINISH;
1458 }
1459 
1461 (vl_api_modify_vhost_user_if_t * mp, void *handle)
1462 {
1463  u8 * s;
1464 
1465  s = format (0, "SCRIPT: modify_vhost_user_if ");
1466 
1467  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
1468  s = format (s, "socket %s ", mp->sock_filename);
1469  if (mp->is_server)
1470  s = format (s, "server ");
1471  if (mp->renumber)
1472  s = format (s, "renumber %d ", ntohl(mp->custom_dev_instance));
1473 
1474  FINISH;
1475 }
1476 
1478 (vl_api_delete_vhost_user_if_t * mp, void *handle)
1479 {
1480  u8 * s;
1481 
1482  s = format (0, "SCRIPT: delete_vhost_user_if ");
1483  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
1484 
1485  FINISH;
1486 }
1487 
1490 {
1491  u8 * s;
1492 
1493  s = format (0, "SCRIPT: sw_interface_vhost_user_dump ");
1494 
1495  FINISH;
1496 }
1497 
1499 (vl_api_sw_interface_dump_t * mp, void *handle)
1500 {
1501  u8 * s;
1502 
1503  s = format (0, "SCRIPT: sw_interface_dump ");
1504 
1505  if (mp->name_filter_valid)
1506  s = format (s, "name_filter %s ", mp->name_filter);
1507  else
1508  s = format (s, "all ");
1509 
1510  FINISH;
1511 }
1512 
1514 (vl_api_l2_fib_table_dump_t * mp, void *handle)
1515 {
1516  u8 * s;
1517 
1518  s = format (0, "SCRIPT: l2_fib_table_dump ");
1519 
1520  s = format (s, "bd_id %d ", ntohl(mp->bd_id));
1521 
1522  FINISH;
1523 }
1524 
1525 static void *vl_api_control_ping_t_print
1526 (vl_api_control_ping_t * mp, void *handle)
1527 {
1528  u8 * s;
1529 
1530  s = format (0, "SCRIPT: control_ping ");
1531 
1532  FINISH;
1533 }
1534 
1537 {
1538  u8 * s;
1539 
1540  s = format (0, "SCRIPT: want_interface_events pid %d enable %d ",
1541  ntohl(mp->pid), ntohl(mp->enable_disable));
1542 
1543  FINISH;
1544 }
1545 
1546 static void *vl_api_cli_request_t_print
1547 (vl_api_cli_request_t * mp, void *handle)
1548 {
1549  u8 * s;
1550 
1551  s = format (0, "SCRIPT: cli_request ");
1552 
1553  FINISH;
1554 }
1555 
1556 static void *vl_api_memclnt_create_t_print
1557 (vl_api_memclnt_create_t * mp, void *handle)
1558 {
1559  u8 * s;
1560 
1561  s = format (0, "SCRIPT: memclnt_create name %s ", mp->name);
1562 
1563  FINISH;
1564 }
1565 
1566 static void *vl_api_show_version_t_print
1567 (vl_api_show_version_t * mp, void *handle)
1568 {
1569  u8 * s;
1570 
1571  s = format (0, "SCRIPT: show_version ");
1572 
1573  FINISH;
1574 }
1575 
1578 {
1579  u8 * s;
1580 
1581  s = format (0, "SCRIPT: vxlan_gpe_add_del_tunnel ");
1582 
1583  s = format (s, "local %U remote %U ", format_ip4_address, &mp->local,
1584  format_ip4_address, &mp->remote);
1585 
1586  s = format (s, "protocol %d ", ntohl(mp->protocol));
1587 
1588  s = format (s, "vni %d ", ntohl(mp->vni));
1589 
1590  if (mp->is_add == 0)
1591  s = format (s, "del ");
1592 
1593  if (mp->encap_vrf_id)
1594  s = format (s, "encap-vrf-id %d ", ntohl(mp->encap_vrf_id));
1595 
1596  if (mp->decap_vrf_id)
1597  s = format (s, "decap-vrf-id %d ", ntohl(mp->decap_vrf_id));
1598 
1599  FINISH;
1600 }
1601 
1604 {
1605  u8 * s;
1606 
1607  s = format (0, "SCRIPT: interface_renumber ");
1608 
1609  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
1610 
1611  s = format (s, "new_show_dev_instance %d ",
1612  ntohl(mp->new_show_dev_instance));
1613 
1614  FINISH;
1615 }
1616 
1618 (vl_api_want_ip4_arp_events_t * mp, void * handle)
1619 {
1620  u8 * s;
1621 
1622  s = format (0, "SCRIPT: want_ip4_arp_events ");
1623  s = format (s, "pid %d address %U ", mp->pid,
1624  format_ip4_address, &mp->address);
1625  if (mp->enable_disable == 0)
1626  s = format (s, "del ");
1627 
1628  FINISH;
1629 }
1630 
1633 {
1634  u8 * s;
1635 
1636  s = format (0, "SCRIPT: input_acl_set_interface ");
1637 
1638  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
1639  s = format (s, "ip4-table %d ", ntohl(mp->ip4_table_index));
1640  s = format (s, "ip6-table %d ", ntohl(mp->ip6_table_index));
1641  s = format (s, "l2-table %d ", ntohl(mp->l2_table_index));
1642 
1643  if (mp->is_add == 0)
1644  s = format (s, "del ");
1645 
1646  FINISH;
1647 }
1648 
1649 static void * vl_api_ip_address_dump_t_print
1650 (vl_api_ip_address_dump_t * mp, void *handle)
1651 {
1652  u8 * s;
1653 
1654  s = format (0, "SCRIPT: ip6_address_dump ");
1655  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
1656  s = format (s, "is_ipv6 %d ", mp->is_ipv6 != 0);
1657 
1658  FINISH;
1659 }
1660 
1661 static void * vl_api_ip_dump_t_print
1662 (vl_api_ip_dump_t * mp, void *handle)
1663 {
1664  u8 * s;
1665 
1666  s = format (0, "SCRIPT: ip_dump ");
1667  s = format (s, "is_ipv6 %d ", mp->is_ipv6 != 0);
1668 
1669  FINISH;
1670 }
1671 
1674 {
1675  u8 * s;
1676 
1677  s = format (0, "SCRIPT: cop_interface_enable_disable ");
1678  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
1679  if (mp->enable_disable)
1680  s = format (s, "enable ");
1681  else
1682  s = format (s, "disable ");
1683 
1684  FINISH;
1685 }
1686 
1689 {
1690  u8 * s;
1691 
1692  s = format (0, "SCRIPT: cop_whitelist_enable_disable ");
1693  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
1694  s = format (s, "fib-id %d ", ntohl(mp->fib_id));
1695  if (mp->ip4)
1696  s = format (s, "ip4 ");
1697  if (mp->ip6)
1698  s = format (s, "ip6 ");
1699  if (mp->default_cop)
1700  s = format (s, "default ");
1701 
1702  FINISH;
1703 }
1704 
1707 {
1708  u8 * s;
1709 
1710  s = format (0, "SCRIPT: sw_interface_clear_stats ");
1711  if (mp->sw_if_index != ~0)
1712  s = format (s, "sw_if_index %d ", ntohl(mp->sw_if_index));
1713 
1714  FINISH;
1715 }
1716 
1717 #define foreach_custom_print_function \
1718 _(CREATE_LOOPBACK, create_loopback) \
1719 _(SW_INTERFACE_SET_FLAGS, sw_interface_set_flags) \
1720 _(SW_INTERFACE_ADD_DEL_ADDRESS, sw_interface_add_del_address) \
1721 _(SW_INTERFACE_SET_TABLE, sw_interface_set_table) \
1722 _(SW_INTERFACE_SET_VPATH, sw_interface_set_vpath) \
1723 _(TAP_CONNECT, tap_connect) \
1724 _(TAP_MODIFY, tap_modify) \
1725 _(TAP_DELETE, tap_delete) \
1726 _(SW_INTERFACE_TAP_DUMP, sw_interface_tap_dump) \
1727 _(IP_ADD_DEL_ROUTE, ip_add_del_route) \
1728 _(PROXY_ARP_ADD_DEL, proxy_arp_add_del) \
1729 _(PROXY_ARP_INTFC_ENABLE_DISABLE, proxy_arp_intfc_enable_disable) \
1730 _(MPLS_ADD_DEL_DECAP, mpls_add_del_decap) \
1731 _(MPLS_ADD_DEL_ENCAP, mpls_add_del_encap) \
1732 _(MPLS_GRE_ADD_DEL_TUNNEL, mpls_gre_add_del_tunnel) \
1733 _(MPLS_ETHERNET_ADD_DEL_TUNNEL, mpls_ethernet_add_del_tunnel) \
1734 _(MPLS_ETHERNET_ADD_DEL_TUNNEL_2, mpls_ethernet_add_del_tunnel_2) \
1735 _(SW_INTERFACE_SET_UNNUMBERED, sw_interface_set_unnumbered) \
1736 _(IP_NEIGHBOR_ADD_DEL, ip_neighbor_add_del) \
1737 _(RESET_VRF, reset_vrf) \
1738 _(CREATE_VLAN_SUBIF, create_vlan_subif) \
1739 _(CREATE_SUBIF, create_subif) \
1740 _(OAM_ADD_DEL, oam_add_del) \
1741 _(RESET_FIB, reset_fib) \
1742 _(DHCP_PROXY_CONFIG, dhcp_proxy_config) \
1743 _(DHCP_PROXY_SET_VSS, dhcp_proxy_set_vss) \
1744 _(SET_IP_FLOW_HASH, set_ip_flow_hash) \
1745 _(SW_INTERFACE_IP6_SET_LINK_LOCAL_ADDRESS, \
1746  sw_interface_ip6_set_link_local_address) \
1747 _(SW_INTERFACE_IP6ND_RA_PREFIX, sw_interface_ip6nd_ra_prefix) \
1748 _(SW_INTERFACE_IP6ND_RA_CONFIG, sw_interface_ip6nd_ra_config) \
1749 _(SET_ARP_NEIGHBOR_LIMIT, set_arp_neighbor_limit) \
1750 _(L2_PATCH_ADD_DEL, l2_patch_add_del) \
1751 _(SR_TUNNEL_ADD_DEL, sr_tunnel_add_del) \
1752 _(SR_POLICY_ADD_DEL, sr_policy_add_del) \
1753 _(SR_MULTICAST_MAP_ADD_DEL, sr_multicast_map_add_del) \
1754 _(SW_INTERFACE_SET_L2_XCONNECT, sw_interface_set_l2_xconnect) \
1755 _(L2FIB_ADD_DEL, l2fib_add_del) \
1756 _(L2_FLAGS, l2_flags) \
1757 _(BRIDGE_FLAGS, bridge_flags) \
1758 _(CLASSIFY_ADD_DEL_TABLE, classify_add_del_table) \
1759 _(CLASSIFY_ADD_DEL_SESSION, classify_add_del_session) \
1760 _(SW_INTERFACE_SET_L2_BRIDGE, sw_interface_set_l2_bridge) \
1761 _(BRIDGE_DOMAIN_ADD_DEL, bridge_domain_add_del) \
1762 _(BRIDGE_DOMAIN_DUMP, bridge_domain_dump) \
1763 _(CLASSIFY_SET_INTERFACE_IP_TABLE, classify_set_interface_ip_table) \
1764 _(CLASSIFY_SET_INTERFACE_L2_TABLES, classify_set_interface_l2_tables) \
1765 _(ADD_NODE_NEXT, add_node_next) \
1766 _(DHCP_PROXY_CONFIG_2, dhcp_proxy_config_2) \
1767 _(DHCP_CLIENT_CONFIG, dhcp_client_config) \
1768 _(L2TPV3_CREATE_TUNNEL, l2tpv3_create_tunnel) \
1769 _(L2TPV3_SET_TUNNEL_COOKIES, l2tpv3_set_tunnel_cookies) \
1770 _(L2TPV3_INTERFACE_ENABLE_DISABLE, l2tpv3_interface_enable_disable) \
1771 _(L2TPV3_SET_LOOKUP_KEY, l2tpv3_set_lookup_key) \
1772 _(SW_IF_L2TPV3_TUNNEL_DUMP, sw_if_l2tpv3_tunnel_dump) \
1773 _(VXLAN_ADD_DEL_TUNNEL, vxlan_add_del_tunnel) \
1774 _(VXLAN_TUNNEL_DUMP, vxlan_tunnel_dump) \
1775 _(GRE_ADD_DEL_TUNNEL, gre_add_del_tunnel) \
1776 _(GRE_TUNNEL_DUMP, gre_tunnel_dump) \
1777 _(L2_FIB_CLEAR_TABLE, l2_fib_clear_table) \
1778 _(L2_INTERFACE_EFP_FILTER, l2_interface_efp_filter) \
1779 _(L2_INTERFACE_VLAN_TAG_REWRITE, l2_interface_vlan_tag_rewrite) \
1780 _(CREATE_VHOST_USER_IF, create_vhost_user_if) \
1781 _(MODIFY_VHOST_USER_IF, modify_vhost_user_if) \
1782 _(DELETE_VHOST_USER_IF, delete_vhost_user_if) \
1783 _(SW_INTERFACE_DUMP, sw_interface_dump) \
1784 _(CONTROL_PING, control_ping) \
1785 _(WANT_INTERFACE_EVENTS, want_interface_events) \
1786 _(CLI_REQUEST, cli_request) \
1787 _(MEMCLNT_CREATE, memclnt_create) \
1788 _(SW_INTERFACE_VHOST_USER_DUMP, sw_interface_vhost_user_dump) \
1789 _(SHOW_VERSION, show_version) \
1790 _(L2_FIB_TABLE_DUMP, l2_fib_table_dump) \
1791 _(VXLAN_GPE_ADD_DEL_TUNNEL, vxlan_gpe_add_del_tunnel) \
1792 _(INTERFACE_NAME_RENUMBER, interface_name_renumber) \
1793 _(WANT_IP4_ARP_EVENTS, want_ip4_arp_events) \
1794 _(INPUT_ACL_SET_INTERFACE, input_acl_set_interface) \
1795 _(IP_ADDRESS_DUMP, ip_address_dump) \
1796 _(IP_DUMP, ip_dump) \
1797 _(DELETE_LOOPBACK, delete_loopback) \
1798 _(BD_IP_MAC_ADD_DEL, bd_ip_mac_add_del) \
1799 _(COP_INTERFACE_ENABLE_DISABLE, cop_interface_enable_disable) \
1800 _(COP_WHITELIST_ENABLE_DISABLE, cop_whitelist_enable_disable) \
1801 _(SW_INTERFACE_CLEAR_STATS, sw_interface_clear_stats)
1802 
1804 {
1805 #define _(n,f) am->msg_print_handlers[VL_API_##n] \
1806  = (void *) vl_api_##f##_t_print;
1808 #undef _
1809 }
format_function_t format_ip46_address
Definition: format.h:54
static void * vl_api_sw_interface_set_flags_t_print(vl_api_sw_interface_set_flags_t *mp, void *handle)
Definition: custom_dump.c:83
static void * vl_api_create_vhost_user_if_t_print(vl_api_create_vhost_user_if_t *mp, void *handle)
Definition: custom_dump.c:1445
static void * vl_api_bridge_domain_add_del_t_print(vl_api_bridge_domain_add_del_t *mp, void *handle)
Definition: custom_dump.c:196
static void * vl_api_classify_set_interface_l2_tables_t_print(vl_api_classify_set_interface_l2_tables_t *mp, void *handle)
Definition: custom_dump.c:1212
DHCP Proxy set / unset vss request.
Definition: vpe.api:804
Proxy ARP add / del request.
Definition: vpe.api:484
Reset VRF (remove all routes etc) request.
Definition: vpe.api:564
L2 FIB add entry request.
Definition: vpe.api:1386
cop: enable/disable whitelist filtration features on an interface Note: the supplied fib_id must matc...
Definition: vpe.api:3235
static void * vl_api_sr_tunnel_add_del_t_print(vl_api_sr_tunnel_add_del_t *mp, void *handle)
Definition: custom_dump.c:1006
static void * vl_api_l2tpv3_set_tunnel_cookies_t_print(vl_api_l2tpv3_set_tunnel_cookies_t *mp, void *handle)
Definition: custom_dump.c:1261
static void * vl_api_sw_if_l2tpv3_tunnel_dump_t_print(vl_api_sw_if_l2tpv3_tunnel_dump_t *mp, void *handle)
Definition: custom_dump.c:1321
sll srl srl sll sra u16x4 i
Definition: vector_sse2.h:267
static void * vl_api_l2_patch_add_del_t_print(vl_api_l2_patch_add_del_t *mp, void *handle)
Definition: custom_dump.c:989
static void * vl_api_delete_loopback_t_print(vl_api_delete_loopback_t *mp, void *handle)
Definition: custom_dump.c:72
static void * vl_api_reset_vrf_t_print(vl_api_reset_vrf_t *mp, void *handle)
Definition: custom_dump.c:639
Reset fib table request.
Definition: vpe.api:749
#define IP6_SR_HEADER_FLAG_PL_ELT_EGRESS_PE
Definition: sr_packet.h:200
#define foreach_create_subif_bit
Definition: custom_dump.c:670
static void * vl_api_sw_interface_ip6_set_link_local_address_t_print(vl_api_sw_interface_ip6_set_link_local_address_t *mp, void *handle)
Definition: custom_dump.c:876
static void * vl_api_reset_fib_t_print(vl_api_reset_fib_t *mp, void *handle)
Definition: custom_dump.c:726
format_function_t format_ip6_address
Definition: format.h:87
#define IP6_SR_HEADER_FLAG_PROTECTED
Definition: sr_packet.h:195
Set flags on the interface.
Definition: vpe.api:127
Control ping from client to api server request.
Definition: vpe.api:1058
static void * vl_api_interface_name_renumber_t_print(vl_api_interface_name_renumber_t *mp, void *handle)
Definition: custom_dump.c:1603
static void * vl_api_sr_multicast_map_add_del_t_print(vl_api_sr_multicast_map_add_del_t *mp, void *handle)
Definition: custom_dump.c:1117
static void * vl_api_add_node_next_t_print(vl_api_add_node_next_t *mp, void *handle)
Definition: custom_dump.c:1227
static void * vl_api_l2_fib_clear_table_t_print(vl_api_l2_fib_clear_table_t *mp, void *handle)
Definition: custom_dump.c:1403
#define L2_FLOOD
Definition: l2_bd.h:97
Set max allowed ARP or ip6 neighbor entries request.
Definition: vpe.api:1104
static void * vl_api_tap_modify_t_print(vl_api_tap_modify_t *mp, void *handle)
Definition: custom_dump.c:329
static void * vl_api_input_acl_set_interface_t_print(vl_api_input_acl_set_interface_t *mp, void *handle)
Definition: custom_dump.c:1632
#define L2_FWD
Definition: l2_bd.h:96
static void * vl_api_control_ping_t_print(vl_api_control_ping_t *mp, void *handle)
Definition: custom_dump.c:1526
static void * vl_api_ip_add_del_route_t_print(vl_api_ip_add_del_route_t *mp, void *handle)
Definition: custom_dump.c:371
Add / del gre tunnel request.
Definition: vpe.api:394
u8 tap_name[64]
Definition: vpe.api:249
Classify add / del session request.
Definition: vpe.api:1537
#define vec_add1(V, E)
Add 1 element to end of vector (unspecified alignment).
Definition: vec.h:480
static void * vl_api_bridge_domain_dump_t_print(vl_api_bridge_domain_dump_t *mp, void *handle)
Definition: custom_dump.c:214
static void * vl_api_l2_interface_vlan_tag_rewrite_t_print(vl_api_l2_interface_vlan_tag_rewrite_t *mp, void *handle)
Definition: custom_dump.c:1429
Dump tap interfaces request.
Definition: vpe.api:287
static void * vl_api_want_interface_events_t_print(vl_api_want_interface_events_t *mp, void *handle)
Definition: custom_dump.c:1536
static void * vl_api_sw_interface_clear_stats_t_print(vl_api_sw_interface_clear_stats_t *mp, void *handle)
Definition: custom_dump.c:1706
static void * vl_api_gre_add_del_tunnel_t_print(vl_api_gre_add_del_tunnel_t *mp, void *handle)
Definition: custom_dump.c:1369
Add/Delete classification table request.
Definition: vpe.api:1498
IPv6 router advertisement config request.
Definition: vpe.api:874
L2 bridge domain request operational state details.
Definition: vpe.api:2571
static void * vl_api_tap_delete_t_print(vl_api_tap_delete_t *mp, void *handle)
Definition: custom_dump.c:349
static void * vl_api_classify_add_del_table_t_print(vl_api_classify_add_del_table_t *mp, void *handle)
Definition: custom_dump.c:1140
static void * vl_api_dhcp_proxy_set_vss_t_print(vl_api_dhcp_proxy_set_vss_t *mp, void *handle)
Definition: custom_dump.c:799
vhost-user interface create request
Definition: vpe.api:1919
static void * vl_api_mpls_ethernet_add_del_tunnel_t_print(vl_api_mpls_ethernet_add_del_tunnel_t *mp, void *handle)
Definition: custom_dump.c:536
format_function_t format_ip4_address
Definition: format.h:71
static void * vl_api_vxlan_gpe_add_del_tunnel_t_print(vl_api_vxlan_gpe_add_del_tunnel_t *mp, void *handle)
Definition: custom_dump.c:1577
static void * vl_api_bridge_flags_t_print(vl_api_bridge_flags_t *mp, void *handle)
Definition: custom_dump.c:269
static void * vl_api_l2tpv3_interface_enable_disable_t_print(vl_api_l2tpv3_interface_enable_disable_t *mp, void *handle)
Definition: custom_dump.c:1279
static void * vl_api_proxy_arp_intfc_enable_disable_t_print(vl_api_proxy_arp_intfc_enable_disable_t *mp, void *handle)
Definition: custom_dump.c:450
static void * vl_api_sw_interface_set_l2_xconnect_t_print(vl_api_sw_interface_set_l2_xconnect_t *mp, void *handle)
Definition: custom_dump.c:163
static void * vl_api_proxy_arp_add_del_t_print(vl_api_proxy_arp_add_del_t *mp, void *handle)
Definition: custom_dump.c:431
static void * vl_api_ip_dump_t_print(vl_api_ip_dump_t *mp, void *handle)
Definition: custom_dump.c:1662
static void * vl_api_l2fib_add_del_t_print(vl_api_l2fib_add_del_t *mp, void *handle)
Definition: custom_dump.c:228
static void * vl_api_l2_flags_t_print(vl_api_l2_flags_t *mp, void *handle)
Definition: custom_dump.c:251
static void * vl_api_create_vlan_subif_t_print(vl_api_create_vlan_subif_t *mp, void *handle)
Definition: custom_dump.c:655
static void * vl_api_oam_add_del_t_print(vl_api_oam_add_del_t *mp, void *handle)
Definition: custom_dump.c:706
u8 mac_address[6]
Definition: vpe.api:250
u8 * format_ethernet_address(u8 *s, va_list *args)
Definition: format.c:43
Proxy ARP add / del request.
Definition: vpe.api:508
Clear interface statistics.
Definition: vpe.api:3286
static void * vl_api_memclnt_create_t_print(vl_api_memclnt_create_t *mp, void *handle)
Definition: custom_dump.c:1557
static void * vl_api_l2tpv3_set_lookup_key_t_print(vl_api_l2tpv3_set_lookup_key_t *mp, void *handle)
Definition: custom_dump.c:1294
static void * vl_api_dhcp_proxy_config_t_print(vl_api_dhcp_proxy_config_t *mp, void *handle)
Definition: custom_dump.c:742
DHCP Proxy config 2 add / del request.
Definition: vpe.api:1665
u32 feature_bitmap
Definition: vpe.api:1418
static void * vl_api_ip_address_dump_t_print(vl_api_ip_address_dump_t *mp, void *handle)
Definition: custom_dump.c:1650
#define L2_UU_FLOOD
Definition: l2_bd.h:98
#define clib_warning(format, args...)
Definition: error.h:59
Set/unset input ACL interface.
Definition: vpe.api:2650
#define vec_resize(V, N)
Resize a vector (no header, unspecified alignment) Add N elements to end of given vector V...
Definition: vec.h:199
static void * vl_api_sw_interface_set_table_t_print(vl_api_sw_interface_set_table_t *mp, void *handle)
Definition: custom_dump.c:128
Initialize a new tap interface with the given paramters.
Definition: vpe.api:215
static void * vl_api_sw_interface_set_unnumbered_t_print(vl_api_sw_interface_set_unnumbered_t *mp, void *handle)
Definition: custom_dump.c:591
#define IP6_SR_HEADER_FLAG_CLEANUP
Definition: sr_packet.h:194
Dump l2 fib (aka bridge domain) table.
Definition: vpe.api:2107
Delete tap interface.
Definition: vpe.api:271
Set L2 flags request !!! TODO - need more info, feature bits in l2_input.h.
Definition: vpe.api:1413
L2 fib clear table request, clear all mac entries in the l2 fib.
Definition: vpe.api:1760
static void * vl_api_sw_interface_set_vpath_t_print(vl_api_sw_interface_set_vpath_t *mp, void *handle)
Definition: custom_dump.c:146
IPv6 segment routing tunnel add / del request.
Definition: vpe.api:1160
IPv6 segment routing multicast map to policy add / del request.
Definition: vpe.api:1217
Set/unset l2 classification tables for an interface request.
Definition: vpe.api:1589
Set bridge domain ip to mac entry request.
Definition: vpe.api:1467
static void * vl_api_gre_tunnel_dump_t_print(vl_api_gre_tunnel_dump_t *mp, void *handle)
Definition: custom_dump.c:1391
static void * vl_api_classify_add_del_session_t_print(vl_api_classify_add_del_session_t *mp, void *handle)
Definition: custom_dump.c:1167
static void * vl_api_ip_neighbor_add_del_t_print(vl_api_ip_neighbor_add_del_t *mp, void *handle)
Definition: custom_dump.c:608
static void * vl_api_cop_whitelist_enable_disable_t_print(vl_api_cop_whitelist_enable_disable_t *mp, void *handle)
Definition: custom_dump.c:1688
MPLS Ethernet add/ del tunnel 2.
Definition: vpe.api:1300
Set or delete one or all ip addresses on a specified interface.
Definition: vpe.api:164
static void * vl_api_modify_vhost_user_if_t_print(vl_api_modify_vhost_user_if_t *mp, void *handle)
Definition: custom_dump.c:1461
static void * vl_api_show_version_t_print(vl_api_show_version_t *mp, void *handle)
Definition: custom_dump.c:1567
static void * vl_api_set_ip_flow_hash_t_print(vl_api_set_ip_flow_hash_t *mp, void *handle)
Definition: custom_dump.c:843
Set the ip flow hash config for a fib request.
Definition: vpe.api:835
static void * vl_api_create_loopback_t_print(vl_api_create_loopback_t *mp, void *handle)
Definition: custom_dump.c:61
static void * vl_api_mpls_add_del_encap_t_print(vl_api_mpls_add_del_encap_t *mp, void *handle)
Definition: custom_dump.c:488
static void * vl_api_dhcp_proxy_config_2_t_print(vl_api_dhcp_proxy_config_2_t *mp, void *handle)
Definition: custom_dump.c:770
cop: enable/disable junk filtration features on an interface
Definition: vpe.api:3206
static void * vl_api_cop_interface_enable_disable_t_print(vl_api_cop_interface_enable_disable_t *mp, void *handle)
Definition: custom_dump.c:1673
Set/unset the classification table for an interface request.
Definition: vpe.api:1564
#define FINISH
Definition: custom_dump.c:53
#define IP6_SR_HEADER_FLAG_PL_ELT_ORIG_SRC_ADDR
Definition: sr_packet.h:201
#define IP6_SR_HEADER_FLAG_PL_ELT_NOT_PRESENT
Definition: sr_packet.h:198
void vl_msg_api_custom_dump_configure(api_main_t *am)
Definition: custom_dump.c:1803
Delete loopback interface request.
Definition: vpe.api:1039
vhost-user interface modify request
Definition: vpe.api:1946
Register for interface events.
Definition: vpe.api:30
Set L2 XConnect between two interfaces request.
Definition: vpe.api:1331
IP neighbor add / del request.
Definition: vpe.api:536
static void * vl_api_create_subif_t_print(vl_api_create_subif_t *mp, void *handle)
Definition: custom_dump.c:681
unsigned int u32
Definition: types.h:88
static void * vl_api_dhcp_client_config_t_print(vl_api_dhcp_client_config_t *mp, void *handle)
Definition: custom_dump.c:821
static void * vl_api_vxlan_add_del_tunnel_t_print(vl_api_vxlan_add_del_tunnel_t *mp, void *handle)
Definition: custom_dump.c:1331
u8 * format(u8 *s, char *fmt,...)
Definition: format.c:405
IPv6 router advertisement prefix config request.
Definition: vpe.api:917
Set the next node for a given node request.
Definition: vpe.api:1636
show version
Definition: vpe.api:2012
#define foreach_custom_print_function
Definition: custom_dump.c:1717
OAM add / del target request.
Definition: vpe.api:725
static void * vl_api_sw_interface_add_del_address_t_print(vl_api_sw_interface_add_del_address_t *mp, void *handle)
Definition: custom_dump.c:104
#define IP6_SR_HEADER_FLAG_PL_ELT_INGRESS_PE
Definition: sr_packet.h:199
static void * vl_api_set_arp_neighbor_limit_t_print(vl_api_set_arp_neighbor_limit_t *mp, void *handle)
Definition: custom_dump.c:974
static void * vl_api_want_ip4_arp_events_t_print(vl_api_want_ip4_arp_events_t *mp, void *handle)
Definition: custom_dump.c:1618
static void * vl_api_mpls_add_del_decap_t_print(vl_api_mpls_add_del_decap_t *mp, void *handle)
Definition: custom_dump.c:464
static void * vl_api_tap_connect_t_print(vl_api_tap_connect_t *mp, void *handle)
Definition: custom_dump.c:310
Add / del route request.
Definition: vpe.api:348
static void * vl_api_classify_set_interface_ip_table_t_print(vl_api_classify_set_interface_ip_table_t *mp, void *handle)
Definition: custom_dump.c:1196
Interface bridge mode request.
Definition: vpe.api:1357
unsigned short u16
Definition: types.h:57
static void * vl_api_l2_interface_efp_filter_t_print(vl_api_l2_interface_efp_filter_t *mp, void *handle)
Definition: custom_dump.c:1413
static void * vl_api_bd_ip_mac_add_del_t_print(vl_api_bd_ip_mac_add_del_t *mp, void *handle)
Definition: custom_dump.c:290
static void * vl_api_sr_policy_add_del_t_print(vl_api_sr_policy_add_del_t *mp, void *handle)
Definition: custom_dump.c:1077
static void * vl_api_mpls_gre_add_del_tunnel_t_print(vl_api_mpls_gre_add_del_tunnel_t *mp, void *handle)
Definition: custom_dump.c:509
unsigned char u8
Definition: types.h:56
static void * vl_api_delete_vhost_user_if_t_print(vl_api_delete_vhost_user_if_t *mp, void *handle)
Definition: custom_dump.c:1478
#define L2_ARP_TERM
Definition: l2_bd.h:99
Process a vpe parser cli string request.
Definition: vpe.api:1081
L2 interface ethernet flow point filtering enable/disable request.
Definition: vpe.api:1780
static void * vl_api_sw_interface_set_l2_bridge_t_print(vl_api_sw_interface_set_l2_bridge_t *mp, void *handle)
Definition: custom_dump.c:179
static void * vl_api_mpls_ethernet_add_del_tunnel_2_t_print(vl_api_mpls_ethernet_add_del_tunnel_2_t *mp, void *handle)
Definition: custom_dump.c:561
Create loopback interface request.
Definition: vpe.api:1017
Set unnumbered interface add / del request.
Definition: vpe.api:995
L2 interface vlan tag rewrite configure request.
Definition: vpe.api:1893
Add / del MPLS decapsulation request.
Definition: vpe.api:456
Create a new subinterface with the given vlan id.
Definition: vpe.api:308
L2 interface patch add / del request.
Definition: vpe.api:1127
Interface set vpath request.
Definition: vpe.api:1240
static void * vl_api_sw_interface_tap_dump_t_print(vl_api_sw_interface_tap_dump_t *mp, void *handle)
Definition: custom_dump.c:360
Modify a tap interface with the given paramters.
Definition: vpe.api:244
static void * vl_api_l2_fib_table_dump_t_print(vl_api_l2_fib_table_dump_t *mp, void *handle)
Definition: custom_dump.c:1514
static void * vl_api_cli_request_t_print(vl_api_cli_request_t *mp, void *handle)
Definition: custom_dump.c:1547
Register for ip4 arp resolution events.
Definition: vpe.api:2500
static void * vl_api_sw_interface_dump_t_print(vl_api_sw_interface_dump_t *mp, void *handle)
Definition: custom_dump.c:1499
Set bridge flags (such as L2_LEARN, L2_FWD, L2_FLOOD, L2_UU_FLOOD, or L2_ARP_TERM) request...
Definition: vpe.api:1439
vhost-user interface delete request
Definition: vpe.api:1968
static void * vl_api_sw_interface_ip6nd_ra_config_t_print(vl_api_sw_interface_ip6nd_ra_config_t *mp, void *handle)
Definition: custom_dump.c:928
u32 flags
Definition: vhost-user.h:73
static void * vl_api_l2tpv3_create_tunnel_t_print(vl_api_l2tpv3_create_tunnel_t *mp, void *handle)
Definition: custom_dump.c:1239
MPLS Ethernet add / del tunnel request.
Definition: vpe.api:1266
l2tpv3 tunnel interface create request
Definition: vpe.api:1697
#define L2_LEARN
Definition: l2_bd.h:95
Associate the specified interface with a fib table.
Definition: vpe.api:191
Add / del MPLS encapsulation request.
Definition: vpe.api:426
DHCP Client config add / del request.
Definition: vpe.api:2620
static void * vl_api_sw_interface_ip6nd_ra_prefix_t_print(vl_api_sw_interface_ip6nd_ra_prefix_t *mp, void *handle)
Definition: custom_dump.c:891
static void * vl_api_vxlan_tunnel_dump_t_print(vl_api_vxlan_tunnel_dump_t *mp, void *handle)
Definition: custom_dump.c:1357
static int ip6_sr_policy_list_flags(u16 flags_host_byte_order, int pl_index)
Definition: sr_packet.h:218
DHCP Proxy config add / del request.
Definition: vpe.api:775
static void * vl_api_sw_interface_vhost_user_dump_t_print(vl_api_sw_interface_vhost_user_dump_t *mp, void *handle)
Definition: custom_dump.c:1489
L2 bridge domain add or delete request.
Definition: vpe.api:2545
IPv6 segment routing policy add / del request.
Definition: vpe.api:1193