FD.io VPP  v21.06-1-gbb7418cf9
Vector Packet Processing
ip.api
Go to the documentation of this file.
1 /* Hey Emacs use -*- mode: C -*- */
2 /*
3  * Copyright (c) 2018 Cisco and/or its affiliates.
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at:
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 /** \file
18 
19  This file defines vpp IP control-plane API messages which are generally
20  called through a shared memory interface.
21 */
22 
23 option version = "3.1.0";
24 
25 import "vnet/interface_types.api";
26 import "vnet/fib/fib_types.api";
27 import "vnet/ethernet/ethernet_types.api";
28 import "vnet/mfib/mfib_types.api";
29 import "vnet/interface_types.api";
30 
31 /** \brief An IP table
32  @param is_ipv6 - V4 or V6 table
33  @param table_id - table ID associated with the route
34  This table ID will apply to both the unicast
35  and multicast FIBs
36  @param name - A client provided name/tag for the table. If this is
37  not set by the client, then VPP will generate something
38  meaningful.
39 */
40 typedef ip_table
41 {
42  u32 table_id;
43  bool is_ip6;
44  string name[64];
45 };
46 
47 /** \brief Add / del table request
48  A table can be added multiple times, but need be deleted only once.
49  @param client_index - opaque cookie to identify the sender
50  @param context - sender context, to match reply w/ request
51 */
52 autoreply define ip_table_add_del
53 {
56  bool is_add [default=true];
57  vl_api_ip_table_t table;
58 };
59 
60 /** \brief Dump IP all fib tables
61  @param client_index - opaque cookie to identify the sender
62  @param context - sender context, to match reply w/ request
63 */
64 define ip_table_dump
65 {
68 };
69 
70 /** \brief IP table replace being
71 
72  The use-case is that, for some unspecified reason, the control plane
73  has a very different set of entries it wants in the table than VPP
74  currently has. The CP would thus like to 'replace' VPP's current table
75  only by specifying what the new set of entries shall be, i.e. it is not
76  going to delete anything that already exists.
77  the CP declares the start of this procedure with this begin_replace
78  API Call, and when it has populated all the entries it wants, it calls
79  the below end_replace API. From this point on it is of course free
80  to add and delete entries as usual.
81  The underlying mechanism by which VPP implements this replace is
82  purposefully left unspecified.
83 
84  @param client_index - opaque cookie to identify the sender
85  @param context - sender context, to match reply w/ request
86  @param table - The table to resync
87 */
88 autoreply define ip_table_replace_begin
89 {
92  vl_api_ip_table_t table;
93 };
94 
95 /** \brief IP table replace end
96 
97  see replace start/
98 
99  @param client_index - opaque cookie to identify the sender
100  @param context - sender context, to match reply w/ request
101  @param table - The table that has converged
102 */
103 autoreply define ip_table_replace_end
104 {
107  vl_api_ip_table_t table;
108 };
109 
110 /** \brief IP table flush
111  Flush a table of all routes
112  @param client_index - opaque cookie to identify the sender
113  @param context - sender context, to match reply w/ request
114  @param table - The table to flush
115 */
116 autoreply define ip_table_flush
117 {
120  vl_api_ip_table_t table;
121 };
122 
123 /** \brief IP FIB table response
124  @param context - sender context
125  @param table - description of the table
126 */
127 define ip_table_details
128 {
130  vl_api_ip_table_t table;
131 };
132 
133 /** \brief An IP route
134  @param table_id The IP table the route is in
135  @param stats_index The index of the route in the stats segment
136  @param prefix the prefix for the route
137  @param n_paths The number of paths the route has
138  @param src The entity adding the route. either 0 for default
139  or a value returned from fib_source_sdd.
140  @param paths The paths of the route
141 */
142 typedef ip_route
143 {
144  u32 table_id;
146  vl_api_prefix_t prefix;
148  vl_api_fib_path_t paths[n_paths];
149 };
150 typedef ip_route_v2
151 {
152  u32 table_id;
154  vl_api_prefix_t prefix;
155  u8 n_paths;
157  vl_api_fib_path_t paths[n_paths];
158 };
159 
160 /** \brief Add / del route request
161  @param client_index - opaque cookie to identify the sender
162  @param context - sender context, to match reply w/ request
163  @param is_multipath - Set to 1 if these paths will be added/removed
164  to/from the existing set, or 0 to replace
165  the existing set.
166  is_add=0 & is_multipath=0 implies delete all paths
167  @param is_add - Are the paths being added or removed
168 */
169 define ip_route_add_del
170 {
173  bool is_add [default=true];
175  vl_api_ip_route_t route;
176 };
177 define ip_route_add_del_v2
178 {
179  option in_progress;
182  bool is_add [default=true];
184  vl_api_ip_route_v2_t route;
185 };
186 define ip_route_add_del_reply
187 {
191 };
192 define ip_route_add_del_v2_reply
193 {
194  option in_progress;
198 };
199 
200 /** \brief Dump IP routes from a table
201  @param client_index - opaque cookie to identify the sender
202  @param src The entity adding the route. either 0 for default
203  or a value returned from fib_source_sdd.
204  @param table - The table from which to dump routes (ony ID an AF are needed)
205 */
206 define ip_route_dump
207 {
210  vl_api_ip_table_t table;
211 };
212 define ip_route_v2_dump
213 {
214  option in_progress;
217  /* vl_api_fib_source_t src; */
219  vl_api_ip_table_t table;
220 };
221 
222 /** \brief IP FIB table entry response
223  @param route The route entry in the table
224 */
225 define ip_route_details
226 {
228  vl_api_ip_route_t route;
229 };
230 define ip_route_v2_details
231 {
232  option in_progress;
234  vl_api_ip_route_v2_t route;
235 };
236 
237 /** \brief Lookup IP route from a table
238  @param client_index - opaque cookie to identify the sender
239  @param table_id - The IP table to look the route up in
240  @param exact - 0 for normal route lookup, 1 for exact match only
241  @param prefix - The prefix (or host) for route lookup.
242 */
243 define ip_route_lookup
244 {
249  vl_api_prefix_t prefix;
250 };
251 define ip_route_lookup_v2
252 {
253  option in_progress;
258  vl_api_prefix_t prefix;
259 };
260 
261 /** \brief IP FIB table lookup response
262  @param retval - return code of the lookup
263  @param route - The route entry in the table if found
264 */
265 define ip_route_lookup_reply
266 {
269  vl_api_ip_route_t route;
270 };
271 define ip_route_lookup_v2_reply
272 {
273  option in_progress;
276  vl_api_ip_route_v2_t route;
277 };
278 
279 /** \brief Set the ip flow hash config for a fib request
280  @param client_index - opaque cookie to identify the sender
281  @param context - sender context, to match reply w/ request
282  @param vrf_id - vrf/fib id
283  @param is_ipv6 - if non-zero the fib is ip6, else ip4
284  @param src - if non-zero include src in flow hash
285  @param dst - if non-zero include dst in flow hash
286  @param sport - if non-zero include sport in flow hash
287  @param dport - if non-zero include dport in flow hash
288  @param proto -if non-zero include proto in flow hash
289  @param reverse - if non-zero include reverse in flow hash
290  @param symmetric - if non-zero include symmetry in flow hash
291 */
292 autoreply define set_ip_flow_hash
293 {
294  option deprecated;
298  bool is_ipv6;
299  bool src;
300  bool dst;
301  bool sport;
302  bool dport;
303  bool proto;
304  bool reverse;
305  bool symmetric;
306 };
307 
308 /**
309  @brief flow hash settings for an IP table
310  @param src - include src in flow hash
311  @param dst - include dst in flow hash
312  @param sport - include sport in flow hash
313  @param dport - include dport in flow hash
314  @param proto - include proto in flow hash
315  @param reverse - include reverse in flow hash
316  @param symmetric - include symmetry in flow hash
317  @param flowlabel - include flowlabel in flow hash
318 */
319 enumflag ip_flow_hash_config
320 {
321  IP_API_FLOW_HASH_SRC_IP = 0x01,
322  IP_API_FLOW_HASH_DST_IP = 0x02,
323  IP_API_FLOW_HASH_SRC_PORT = 0x04,
324  IP_API_FLOW_HASH_DST_PORT = 0x08,
325  IP_API_FLOW_HASH_PROTO = 0x10,
326  IP_API_FLOW_HASH_REVERSE = 0x20,
327  IP_API_FLOW_HASH_SYMETRIC = 0x40,
328  IP_API_FLOW_HASH_FLOW_LABEL = 0x80,
329 };
330 
331 autoreply define set_ip_flow_hash_v2
332 {
336  vl_api_address_family_t af;
337  vl_api_ip_flow_hash_config_t flow_hash_config;
338 };
339 
340 /** \brief Set the ip flow hash router ID
341  @param client_index - opaque cookie to identify the sender
342  @param context - sender context, to match reply w/ request
343  @param router_id - The ID of the router. Mixed into the hash.
344  Used to prevent polarisation across a network,
345  since each router is assumed to have a different ID
346 */
347 autoreply define set_ip_flow_hash_router_id
348 {
352 };
353 
354 /** \brief IPv6 interface enable / disable request
355  @param client_index - opaque cookie to identify the sender
356  @param context - sender context, to match reply w/ request
357  @param sw_if_index - interface used to reach neighbor
358  @param enable - if non-zero enable ip6 on interface, else disable
359 */
360 autoreply define sw_interface_ip6_enable_disable
361 {
364  vl_api_interface_index_t sw_if_index;
365  bool enable; /* set to true if enable */
366 };
367 
368 /** \brief Dump IP multicast fib table
369  @param client_index - opaque cookie to identify the sender
370 */
371 define ip_mtable_dump
372 {
375 };
376 define ip_mtable_details
377 {
380  vl_api_ip_table_t table;
381 };
382 
383 /** \brief Add / del route request
384 
385  Adds a route, consisting both of the MFIB entry to match packets
386  (which may already exist) and a path to send those packets down.
387  Routes can be entered repeatedly to add multiple paths. Deletions are
388  per-path.
389 
390  @param client_index - opaque cookie to identify the sender
391  @param context - sender context, to match reply w/ request
392  @param table_id - fib table /vrf associated with the route
393  @param is_add - true if adding a route; false if deleting one
394  @param is_ipv6 - true iff all the addresses are v6
395  @param entry_flags - see fib_entry_flag_t
396  @param itf_flags - see mfib_entry_flags_t
397  @param next_hop_afi - see dpo_proto_t; the type of destination description
398  @param src_address - the source of the packet
399  @param grp_address - the group the packet is destined to
400  @param nh_address - the nexthop to forward the packet to
401  @param next_hop_sw_if_index - interface to emit packet on
402 
403  BIER AFIs use the BIER imposition ID. v4 and v6 AFIs use either the
404  interface or the nexthop address.
405 
406  Note that if the route is source-specific (S is supplied, not all 0s),
407  the prefix match is treated as exact (prefixlen /32 or /128).
408 
409  FIXME not complete yet
410 */
411 typedef ip_mroute
412 {
413  u32 table_id;
414  vl_api_mfib_entry_flags_t entry_flags;
416  vl_api_mprefix_t prefix;
417  u8 n_paths;
418  vl_api_mfib_path_t paths[n_paths];
419 };
420 
421 define ip_mroute_add_del
422 {
425  bool is_add [default=true];
427  vl_api_ip_mroute_t route;
428 };
429 define ip_mroute_add_del_reply
430 {
434 };
435 
436 /** \brief Dump IP multicast fib table
437  @param table - The table from which to dump routes (ony ID an AF are needed)
438 */
439 define ip_mroute_dump
440 {
443  vl_api_ip_table_t table;
444 };
445 
446 /** \brief IP Multicast Route Details
447  @param route - Details of the route
448 */
449 define ip_mroute_details
450 {
452  vl_api_ip_mroute_t route;
453 };
454 
455 define ip_address_details
456 {
458  vl_api_interface_index_t sw_if_index;
459  vl_api_address_with_prefix_t prefix;
460 };
461 
462 define ip_address_dump
463 {
466  vl_api_interface_index_t sw_if_index;
467  bool is_ipv6;
468 };
469 
470 /** \brief IP unnumbered configurations
471  @param sw_if_index The interface that has unnumbered configuration
472  @param ip_sw_if_index The IP interface that it is unnumbered to
473 */
474 define ip_unnumbered_details
475 {
477  vl_api_interface_index_t sw_if_index;
478  vl_api_interface_index_t ip_sw_if_index;
479 };
480 
481 /** \brief Dump IP unnumbered configurations
482  @param sw_if_index ~0 for all interfaces, else the interface desired
483 */
484 define ip_unnumbered_dump
485 {
488  vl_api_interface_index_t sw_if_index [default=0xffffffff];
489 };
490 
491 define ip_details
492 {
494  vl_api_interface_index_t sw_if_index;
495  bool is_ipv6;
496 };
497 
498 define ip_dump
499 {
502  bool is_ipv6;
503 };
504 
505 define mfib_signal_dump
506 {
509 };
510 
511 define mfib_signal_details
512 {
514  vl_api_interface_index_t sw_if_index;
516  vl_api_mprefix_t prefix;
518  u8 ip_packet_data[256];
519 };
520 
521 /** \brief IP punt policer
522  @param client_index - opaque cookie to identify the sender
523  @param context - sender context, to match reply w/ request
524  @param is_add - 1 to add neighbor, 0 to delete
525  @param is_ipv6 - 1 for IPv6 neighbor, 0 for IPv4
526  @param policer_index - Index of policer to use
527 */
528 autoreply define ip_punt_police
529 {
533  bool is_add [default=true];
534  bool is_ip6;
535 };
536 
537 /** \brief Punt redirect type
538  @param rx_sw_if_index - specify the original RX interface of traffic
539  that should be redirected. ~0 means any interface.
540  @param tx_sw_if_index - the TX interface to which traffic should be
541  redirected.
542  @param nh - the next-hop to redirect the traffic to.
543  @param is_ipv6 - 1 for IPv6 neighbor, 0 for IPv4
544 */
545 typedef punt_redirect
546 {
547  vl_api_interface_index_t rx_sw_if_index;
548  vl_api_interface_index_t tx_sw_if_index;
549  vl_api_address_t nh;
550 };
551 
552 /** \brief IP punt redirect
553  @param client_index - opaque cookie to identify the sender
554  @param context - sender context, to match reply w/ request
555  @param punt - punt definition
556  @param is_add - 1 to add neighbor, 0 to delete
557 */
558 autoreply define ip_punt_redirect
559 {
562  vl_api_punt_redirect_t punt;
563  bool is_add [default=true];
564 };
565 
566 define ip_punt_redirect_dump
567 {
570  vl_api_interface_index_t sw_if_index;
571  bool is_ipv6;
572 };
573 
574 define ip_punt_redirect_details
575 {
577  vl_api_punt_redirect_t punt;
578 };
579 
580 autoreply define ip_container_proxy_add_del
581 {
584  vl_api_prefix_t pfx;
585  vl_api_interface_index_t sw_if_index;
586  bool is_add [default=true];
587 };
588 
589 define ip_container_proxy_dump
590 {
593 };
594 
595 define ip_container_proxy_details
596 {
598  vl_api_interface_index_t sw_if_index;
599  vl_api_prefix_t prefix;
600 };
601 
602 /** \brief Configure IP source and L4 port-range check
603  @param client_index - opaque cookie to identify the sender
604  @param context - sender context, to match reply w/ request
605  @param is_ip6 - 1 if source address type is IPv6
606  @param is_add - 1 if add, 0 if delete
607  @param ip - prefix to match
608  @param number_of_ranges - length of low_port and high_port arrays (must match)
609  @param low_ports[32] - up to 32 low end of port range entries (must have corresponding high_ports entry)
610  @param high_ports[32] - up to 32 high end of port range entries (must have corresponding low_ports entry)
611  @param vrf_id - fib table/vrf id to associate the source and port-range check with
612  @note To specify a single port set low_port and high_port entry the same
613 */
614 autoreply define ip_source_and_port_range_check_add_del
615 {
618  bool is_add [default=true];
619  vl_api_prefix_t prefix;
621  u16 low_ports[32];
622  u16 high_ports[32];
624 };
625 
626 /** \brief Set interface source and L4 port-range request
627  @param client_index - opaque cookie to identify the sender
628  @param context - sender context, to match reply w/ request
629  @param interface_id - interface index
630  @param tcp_vrf_id - VRF associated with source and TCP port-range check
631  @param udp_vrf_id - VRF associated with source and TCP port-range check
632 */
633 autoreply define ip_source_and_port_range_check_interface_add_del
634 {
637  bool is_add [default=true];
638  vl_api_interface_index_t sw_if_index;
643 };
644 
645 /** \brief IPv6 set link local address on interface request
646  @param client_index - opaque cookie to identify the sender
647  @param context - sender context, to match reply w/ request
648  @param sw_if_index - interface to set link local on
649  @param ip - the new link local address
650 */
651 autoreply define sw_interface_ip6_set_link_local_address
652 {
655  vl_api_interface_index_t sw_if_index;
656  vl_api_ip6_address_t ip;
657 };
658 
659 /** \brief IPv6 get link local address on interface request
660  @param client_index - opaque cookie to identify the sender
661  @param context - sender context, to match reply w/ request
662  @param sw_if_index - interface to set link local on
663 */
664 define sw_interface_ip6_get_link_local_address
665 {
668  vl_api_interface_index_t sw_if_index;
669 };
670 
671 /** \brief IPv6 link local address detail
672  @param context - sender context, to match reply w/ request
673  @param ip - the link local address
674 */
675 define sw_interface_ip6_get_link_local_address_reply
676 {
679  vl_api_ip6_address_t ip;
680 };
681 
682 /** \brief IOAM enable : Enable in-band OAM
683  @param id - profile id
684  @param seqno - To enable Seqno Processing
685  @param analyse - Enabling analysis of iOAM at decap node
686  @param pow_enable - Proof of Work enabled or not flag
687  @param trace_enable - iOAM Trace enabled or not flag
688 */
689 autoreply define ioam_enable
690 {
694  bool seqno;
695  bool analyse;
699 };
700 
701 /** \brief iOAM disable
702  @param client_index - opaque cookie to identify the sender
703  @param context - sender context, to match reply w/ request
704  @param index - MAP Domain index
705 */
706 autoreply define ioam_disable
707 {
711 };
712 
714 {
717 };
718 
719 autoreply define ip_reassembly_set
720 {
727  bool is_ip6;
728  vl_api_ip_reass_type_t type;
729 };
730 
731 define ip_reassembly_get
732 {
735  bool is_ip6;
736  vl_api_ip_reass_type_t type;
737 };
738 
739 define ip_reassembly_get_reply
740 {
747  bool is_ip6;
748 };
749 
750 /** \brief Enable/disable reassembly feature
751  @param client_index - opaque cookie to identify the sender
752  @param context - sender context, to match reply w/ request
753  @param sw_if_index - interface to enable/disable feature on
754  @param enable_ip4 - enable ip4 reassembly if non-zero, disable if 0
755  @param enable_ip6 - enable ip6 reassembly if non-zero, disable if 0
756 */
757 autoreply define ip_reassembly_enable_disable
758 {
761  vl_api_interface_index_t sw_if_index;
764  vl_api_ip_reass_type_t type;
765 };
766 
767 /**
768  @brief Set a Path MTU value. i.e. a MTU value for a given neighbour.
769  The neighbour can be described as attached (w/ interface and next-hop)
770  or remote (w/ table_id and next-hop);
771  @param client_index - opaque cookie to identify the sender
772  @param context - sender context, to match reply w/ request
773  @param table_id - table-ID for next-hop
774  @param nh - Next hop
775  @param path_mtu - value to set, 0 is disable.
776 */
777 typedef ip_path_mtu
778 {
779  u32 client_index;
782  vl_api_address_t nh;
784 };
785 autoreply define ip_path_mtu_update
786 {
789  vl_api_ip_path_mtu_t pmtu;
790 };
792 {
796 };
797 define ip_path_mtu_get_reply
798 {
802 };
803 define ip_path_mtu_details
804 {
806  vl_api_ip_path_mtu_t pmtu;
807 };
809  rpc ip_path_mtu_get returns ip_path_mtu_get_reply
810  stream ip_path_mtu_details;
811 };
812 
814 {
817 };
818 autoreply define ip_path_mtu_replace_end
819 {
822 };
823 
824 /*
825  * Local Variables:
826  * eval: (c-set-style "gnu")
827  * End:
828  */
int ip_path_mtu_replace_begin(void)
Definition: ip_path_mtu.c:718
vl_api_ip_reass_type_t type
Definition: ip.api:736
vl_api_ip_table_t table
Definition: ip.api:210
typedef ip_route_v2
Definition: ip.api:151
vl_api_ip_route_v2_t route
Definition: ip.api:234
u8 src
Definition: ip.api:156
vl_api_ip_table_t table
Definition: ip.api:443
vl_api_ip_table_t table
Definition: ip.api:120
bool is_ipv6
Definition: ip.api:502
vl_api_punt_redirect_t punt
Definition: ip.api:562
vl_api_ip_reass_type_t type
Definition: ip.api:764
typedef ip_route
An IP route.
Definition: ip.api:143
typedef ip_table
An IP table.
Definition: ip.api:41
vl_api_ip_route_t route
Definition: ip.api:269
vl_api_prefix_t prefix
Definition: ip.api:146
vl_api_interface_index_t sw_if_index
Definition: ip.api:458
vl_api_prefix_t prefix
Definition: ip.api:258
int ip_path_mtu_replace_end(void)
Definition: ip_path_mtu.c:728
unsigned char u8
Definition: types.h:56
u32 table_id
Definition: ip.api:781
vl_api_interface_index_t sw_if_index
Definition: ip.api:466
static_always_inline ip_pmtu_t * ip_path_mtu_get(index_t index)
Definition: ip_path_mtu.h:115
unsigned int u32
Definition: types.h:88
vl_api_interface_index_t sw_if_index
Definition: ip.api:761
vl_api_ip_flow_hash_config_t flow_hash_config
Definition: ip.api:337
vl_api_ip_route_v2_t route
Definition: ip.api:184
vl_api_address_family_t af
Definition: ip.api:336
vl_api_ip_mroute_t route
Definition: ip.api:427
vl_api_interface_index_t sw_if_index
Definition: ip.api:477
vl_api_ip_table_t table
Definition: ip.api:57
int ip_path_mtu_update(const ip_address_t *nh, u32 table_id, u16 pmtu)
Definition: ip_path_mtu.c:647
vl_api_interface_index_t sw_if_index
Definition: ip.api:364
vl_api_address_with_prefix_t prefix
Definition: ip.api:459
bool is_ip6
Definition: ip.api:43
vl_api_ip_path_mtu_t pmtu
Definition: ip.api:806
vl_api_interface_index_t sw_if_index
Definition: wireguard.api:34
vl_api_ip_route_t route
Definition: ip.api:175
enumflag ip_flow_hash_config
flow hash settings for an IP table
Definition: ip.api:320
typedef punt_redirect
Punt redirect type.
Definition: ip.api:546
unsigned short u16
Definition: types.h:57
vl_api_interface_index_t sw_if_index
Definition: ip.api:585
vl_api_ip_route_v2_t route
Definition: ip.api:276
typedef ip_path_mtu
Set a Path MTU value.
Definition: ip.api:778
vl_api_ip_table_t table
Definition: ip.api:219
vl_api_mprefix_t prefix
Definition: ip.api:516
vl_api_prefix_t prefix
Definition: ip.api:249
u8 n_paths
Definition: ip.api:147
signed int i32
Definition: types.h:77
vl_api_interface_index_t sw_if_index
Definition: ip.api:598
vl_api_interface_index_t tx_sw_if_index
Definition: ip.api:548
u32 stats_index
Definition: ip.api:145
vl_api_ip_mroute_t route
Definition: ip.api:452
service
Definition: ip.api:808
u16 path_mtu
Definition: ip.api:783
vl_api_interface_index_t ip_sw_if_index
Definition: ip.api:478
vl_api_ip_table_t table
Definition: ip.api:380
static uword ip_punt_redirect(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, u8 arc_index, fib_protocol_t fproto)
Definition: ip_punt_drop.h:295
vl_api_punt_redirect_t punt
Definition: ip.api:577
u32 context
Definition: ip.api:780
vl_api_fib_path_t paths[n_paths]
Definition: ip.api:148
vl_api_interface_index_t sw_if_index
Definition: ip.api:514
typedef ip_mroute
Add / del route request.
Definition: ip.api:412
option version
Definition: ip.api:23
vl_api_ip_table_t table
Definition: ip.api:130
vl_api_ip_table_t table
Definition: ip.api:92
vl_api_ip_reass_type_t type
Definition: ip.api:728
vl_api_ip_route_t route
Definition: ip.api:228
u32 client_index
Definition: ip.api:500
vl_api_address_t nh
Definition: ip.api:549
vl_api_ip_path_mtu_t pmtu
Definition: ip.api:789
vl_api_interface_index_t sw_if_index
Definition: ip.api:494
vl_api_mfib_entry_flags_t entry_flags
Definition: ip.api:414
u32 rpf_id
Definition: ip.api:415
vl_api_ip_table_t table
Definition: ip.api:107
ip_reass_type
Definition: ip.api:713
vl_api_interface_index_t sw_if_index
Definition: ip.api:570
string name[64]
Definition: ip.api:44