FD.io VPP  v19.01.1-17-ge106252
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 = "1.4.0";
24 import "vnet/ip/ip_types.api";
25 import "vnet/fib/fib_types.api";
26 import "vnet/ethernet/ethernet_types.api";
27 
28 /** \brief Add / del table request
29  A table can be added multiple times, but need be deleted only once.
30  @param client_index - opaque cookie to identify the sender
31  @param context - sender context, to match reply w/ request
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 unicats
35  and mlticast 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  meaningfull.
39 */
40 autoreply define ip_table_add_del
41 {
47  u8 name[64];
48 };
49 
50 /** \brief Dump IP fib table
51  @param client_index - opaque cookie to identify the sender
52 */
53 define ip_fib_dump
54 {
57 };
58 
59 /** \brief IP FIB table response
60  @param table_id - IP fib table id
61  @address_length - mask length
62  @address - ip4 prefix
63  @param count - the number of fib_path in path
64  @param path - array of of fib_path structures
65 */
66 manual_endian manual_print define ip_fib_details
67 {
70  u8 table_name[64];
72  u8 address[4];
76 };
77 
78 /** \brief Dump IP6 fib table
79  @param client_index - opaque cookie to identify the sender
80 */
81 define ip6_fib_dump
82 {
85 };
86 
87 /** \brief IP6 FIB table entry response
88  @param table_id - IP6 fib table id
89  @param address_length - mask length
90  @param address - ip6 prefix
91  @param count - the number of fib_path in path
92  @param path - array of of fib_path structures
93 */
94 manual_endian manual_print define ip6_fib_details
95 {
98  u8 table_name[64];
100  u8 address[16];
104 };
105 
106 /** \brief Dump IP neighboors
107  @param client_index - opaque cookie to identify the sender
108  @param context - sender context, to match reply w/ request
109  @param sw_if_index - the interface to dump neighboors, ~0 == all
110  @param is_ipv6 - [1|0] to indicate if address family is ipv[6|4]
111 */
112 define ip_neighbor_dump
113 {
118 };
119 
120 /** \brief IP neighboors dump response
121  @param context - sender context which was passed in the request
122  @param sw_if_index - The interface used to reach the neighbor
123  @param stats_index - An index in the stats segment that can be used to read
124  the counters for this neighbour.
125  @param is_static - [1|0] to indicate if neighbor is statically configured
126  @param is_ipv6 - [1|0] to indicate if address family is ipv[6|4]
127 */
128 define ip_neighbor_details {
135  u8 ip_address[16];
136 };
137 
138 /** \brief IP neighbor add / del request
139  @param client_index - opaque cookie to identify the sender
140  @param context - sender context, to match reply w/ request
141  @param sw_if_index - interface used to reach neighbor
142  @param is_add - 1 to add neighbor, 0 to delete
143  @param is_ipv6 - 1 for IPv6 neighbor, 0 for IPv4
144  @param is_ipv6 - 1 for IPv6 neighbor, 0 for IPv4
145  @param is_static - A static neighbor Entry - there are not flushed
146  If the interface goes down.
147  @param is_no_adj_fib - Do not create a corresponding entry in the FIB
148  table for the neighbor.
149  @param mac_address - l2 address of the neighbor
150  @param dst_address - ip4 or ip6 address of the neighbor
151 */
152 define ip_neighbor_add_del
153 {
157  /* 1 = add, 0 = delete */
163  u8 dst_address[16];
164 };
165 
166 define ip_neighbor_add_del_reply
167 {
171 };
172 
173 /** \brief Set the ip flow hash config for a fib request
174  @param client_index - opaque cookie to identify the sender
175  @param context - sender context, to match reply w/ request
176  @param vrf_id - vrf/fib id
177  @param is_ipv6 - if non-zero the fib is ip6, else ip4
178  @param src - if non-zero include src in flow hash
179  @param dst - if non-zero include dst in flow hash
180  @param sport - if non-zero include sport in flow hash
181  @param dport - if non-zero include dport in flow hash
182  @param proto -if non-zero include proto in flow hash
183  @param reverse - if non-zero include reverse in flow hash
184  @param symmetric - if non-zero include symmetry in flow hash
185 */
186 autoreply define set_ip_flow_hash
187 {
199 };
200 
201 /** \brief IPv6 router advertisement config request
202  @param client_index - opaque cookie to identify the sender
203  @param context - sender context, to match reply w/ request
204  @param suppress -
205  @param managed -
206  @param other -
207  @param ll_option -
208  @param send_unicast -
209  @param cease -
210  @param is_no -
211  @param default_router -
212  @param max_interval -
213  @param min_interval -
214  @param lifetime -
215  @param initial_count -
216  @param initial_interval -
217 */
218 autoreply define sw_interface_ip6nd_ra_config
219 {
236 };
237 
238 /** \brief IPv6 router advertisement prefix config request
239  @param client_index - opaque cookie to identify the sender
240  @param context - sender context, to match reply w/ request
241  @param sw_if_index - The interface the RA prefix information is for
242  @param address[] - The prefix to advertise
243  @param address_length - the prefix length
244  @param use_default - Revert to default settings
245  @param no_advertise - Do not advertise this prefix
246  @param off_link - The prefix is off link (it is not configured on the interface)
247  Configures the L-flag, When set, indicates that this
248  prefix can be used for on-link determination.
249  @param no_autoconfig - Setting for the A-flag. When
250  set indicates that this prefix can be used for
251  stateless address configuration.
252  @param no_onlink - The prefix is not on link. Make sure this is consistent
253  with the off_link parameter else YMMV
254  @param is_no - add/delete
255  @param val_lifetime - The length of time in
256  seconds (relative to the time the packet is sent)
257  that the prefix is valid for the purpose of on-link
258  determination. A value of all one bits
259  (0xffffffff) represents infinity
260  @param pref_lifetime - The length of time in
261  seconds (relative to the time the packet is sent)
262  that addresses generated from the prefix via
263  stateless address autoconfiguration remain
264  preferred [ADDRCONF]. A value of all one bits
265  (0xffffffff) represents infinity.
266 */
267 autoreply define sw_interface_ip6nd_ra_prefix
268 {
272  u8 address[16];
282 };
283 
284 /** \brief IPv6 ND proxy config
285  @param client_index - opaque cookie to identify the sender
286  @param context - sender context, to match reply w/ request
287  @param sw_if_index - The interface the host is on
288  @param address - The address of the host for which to proxy for
289  @param is_add - Adding or deleting
290 */
291 autoreply define ip6nd_proxy_add_del
292 {
297  u8 address[16];
298 };
299 
300 /** \brief IPv6 ND proxy details returned after request
301  @param context - sender context, to match reply w/ request
302  @param retval - return code for the request
303 */
304 define ip6nd_proxy_details
305 {
308  u8 address[16];
309 };
310 
311 /** \brief IPv6 ND proxy dump request
312  @param context - sender context, to match reply w/ request
313  @param retval - return code for the request
314  @param sw_if_index - The interface the host is on
315  @param address - The address of the host for which to proxy for
316 */
317 define ip6nd_proxy_dump
318 {
321 };
322 
323 /** \brief Start / stop sending router solicitation
324  @param client_index - opaque cookie to identify the sender
325  @param context - sender context, to match reply w/ request
326  @param irt - initial retransmission time
327  @param mrt - maximum retransmission time
328  @param mrc - maximum retransmission count
329  @param mrd - maximum retransmission duration
330  @param sw_if_index - software interface index of interface
331  for sending router solicitation
332  @param stop - if non-zero then stop sending router solicitation,
333  otherwise start sending router solicitation
334 */
335 autoreply define ip6nd_send_router_solicitation
336 {
345 };
346 
347 /** \brief IPv6 interface enable / disable request
348  @param client_index - opaque cookie to identify the sender
349  @param context - sender context, to match reply w/ request
350  @param sw_if_index - interface used to reach neighbor
351  @param enable - if non-zero enable ip6 on interface, else disable
352 */
353 autoreply define sw_interface_ip6_enable_disable
354 {
358  u8 enable; /* set to true if enable */
359 };
360 
361 /** \brief Add / del route request
362  @param client_index - opaque cookie to identify the sender
363  @param context - sender context, to match reply w/ request
364  @param sw_if_index - software index of the new vlan's parent interface
365  @param vrf_id - fib table /vrf associated with the route
366  @param lookup_in_vrf -
367  @param classify_table_index -
368  @param is_add - 1 if adding the route, 0 if deleting
369  @param is_drop - Drop the packet
370  @param is_unreach - Drop the packet and rate limit send ICMP unreachable
371  @param is_prohibit - Drop the packet and rate limit send ICMP prohibited
372  @param is_ipv6 - 0 if an ip4 route, else ip6
373  @param is_local - The route will result in packets sent to VPP IP stack
374  @param is_udp_encap - The path describes a UDP-o-IP encapsulation.
375  @param is_classify -
376  @param is_multipath - Set to 1 if this is a multipath route, else 0
377  @param is_dvr - Does the route resolve via a DVR interface.
378  @param is_source_lookup - The the path is a deaggregate path (i.e. a lookup
379  in another table) is the lookup on the packet's
380  source address or destination.
381  @param next_hop_weight - Weight for Unequal cost multi-path
382  @param next_hop_preference - Path that are up that have the best preference are
383  are used for forwarding. lower value is better.
384  @param next_hop_id - Used when the path resolves via an object that has a unique
385  identifier.
386  @param dst_address_length -
387  @param dst_address[16] -
388  @param next_hop_address[16] -
389  @param next_hop_n_out_labels - the number of labels in the label stack
390  @param next_hop_out_label_stack - the next-hop output label stack, outer most first
391  @param next_hop_via_label - The next-hop is a resolved via a local label
392 */
393 define ip_add_del_route
394 {
419  u8 dst_address[16];
420  u8 next_hop_address[16];
423  vl_api_fib_mpls_label_t next_hop_out_label_stack[next_hop_n_out_labels];
424 };
425 
426 define ip_add_del_route_reply
427 {
431 };
432 
433 /** \brief Add / del route request
434 
435  Adds a route, consisting both of the MFIB entry to match packets
436  (which may already exist) and a path to send those packets down.
437  Routes can be entered repeatedly to add multiple paths. Deletions are
438  per-path.
439 
440  @param client_index - opaque cookie to identify the sender
441  @param context - sender context, to match reply w/ request
442  @param table_id - fib table /vrf associated with the route
443  @param is_add - true if adding a route; false if deleting one
444  @param is_ipv6 - true iff all the addresses are v6
445  @param entry_flags - see fib_entry_flag_t
446  @param itf_flags - see mfib_entry_flags_t
447  @param next_hop_afi - see dpo_proto_t; the type of destination description
448  @param src_address - the source of the packet
449  @param grp_address - the group the packet is destined to
450  @param nh_address - the nexthop to forward the packet to
451  @param next_hop_sw_if_index - interface to emit packet on
452 
453  BIER AFIs use the BIER imposition ID. v4 and v6 AFIs use either the
454  interface or the nexthop address.
455 
456  Note that if the route is source-specific (S is supplied, not all 0s),
457  the prefix match is treated as exact (prefixlen /32 or /128).
458 
459  FIXME not complete yet
460 */
461 define ip_mroute_add_del
462 {
478  u8 nh_address[16];
479 };
480 
481 define ip_mroute_add_del_reply
482 {
486 };
487 
488 /** \brief Dump IP multicast fib table
489  @param client_index - opaque cookie to identify the sender
490 */
491 define ip_mfib_dump
492 {
495 };
496 
497 /** \brief IP Multicast FIB table response
498  @param table_id - IP fib table id
499  @address_length - mask length
500  @grp_address - Group address/prefix
501  @src_address - Source address
502  @param count - the number of fib_path in path
503  @param path - array of of fib_path structures
504 */
505 typedef mfib_path
506 {
507  vl_api_fib_path_t path;
509 };
510 
511 manual_endian manual_print define ip_mfib_details
512 {
522  vl_api_mfib_path_t path[count];
523 };
524 
525 /** \brief Dump IP6 multicast fib table
526  @param client_index - opaque cookie to identify the sender
527 */
528 define ip6_mfib_dump
529 {
532 };
533 
534 /** \brief IP6 Multicast FIB table response
535  @param table_id - IP fib table id
536  @address_length - mask length
537  @grp_address - Group address/prefix
538  @src_address - Source address
539  @param count - the number of fib_path in path
540  @param path - array of of fib_path structures
541 */
542 manual_endian manual_print define ip6_mfib_details
543 {
550  vl_api_mfib_path_t path[count];
551 };
552 
553 define ip_address_details
554 {
556  u8 ip[16];
560 };
561 
562 define ip_address_dump
563 {
568 };
569 
570 /** \brief IP unnumbered configurations
571  @param sw_if_index The interface that has unnumbered configuration
572  @param ip_sw_if_index The IP interface that it is unnnumbered to
573 */
574 define ip_unnumbered_details
575 {
579 };
580 
581 /** \brief Dump IP unnumbered configurations
582  @param sw_if_index ~0 for all interfaces, else the interface desired
583 */
584 define ip_unnumbered_dump
585 {
589 };
590 
591 define ip_details
592 {
596 };
597 
598 define ip_dump
599 {
603 };
604 
605 define mfib_signal_dump
606 {
609 };
610 
611 define mfib_signal_details
612 {
620  u8 ip_packet_data[256];
621 };
622 
623 /** \brief IP punt policer
624  @param client_index - opaque cookie to identify the sender
625  @param context - sender context, to match reply w/ request
626  @param is_add - 1 to add neighbor, 0 to delete
627  @param is_ipv6 - 1 for IPv6 neighbor, 0 for IPv4
628  @param policer_index - Index of policer to use
629 */
630 autoreply define ip_punt_police
631 {
637 };
638 
639 /** \brief Punt redirect type
640  @param rx_sw_if_index - specify the original RX interface of traffic
641  that should be redirected. ~0 means any interface.
642  @param tx_sw_if_index - the TX interface to which traffic shoulde be
643  redirected.
644  @param nh - the next-hop to redirect the traffic to.
645  @param is_ipv6 - 1 for IPv6 neighbor, 0 for IPv4
646 */
647 typeonly define punt_redirect
648 {
651  vl_api_address_t nh;
652 };
653 
654 /** \brief IP punt redirect
655  @param client_index - opaque cookie to identify the sender
656  @param context - sender context, to match reply w/ request
657  @param punt - punt definition
658  @param is_add - 1 to add neighbor, 0 to delete
659 */
660 autoreply define ip_punt_redirect
661 {
666 };
667 
668 define ip_punt_redirect_dump
669 {
674 };
675 
676 define ip_punt_redirect_details
677 {
680 };
681 
682 autoreply define ip_container_proxy_add_del
683 {
686  u8 ip[16];
691 };
692 
693 define ip_container_proxy_dump
694 {
697 };
698 
699 define ip_container_proxy_details
700 {
703  vl_api_prefix_t prefix;
704 };
705 
706 /** \brief Configure IP source and L4 port-range check
707  @param client_index - opaque cookie to identify the sender
708  @param context - sender context, to match reply w/ request
709  @param is_ip6 - 1 if source address type is IPv6
710  @param is_add - 1 if add, 0 if delete
711  @param mask_length - mask length for address entry
712  @param address - array of address bytes
713  @param number_of_ranges - length of low_port and high_port arrays (must match)
714  @param low_ports[32] - up to 32 low end of port range entries (must have corresponding high_ports entry)
715  @param high_ports[32] - up to 32 high end of port range entries (must have corresponding low_ports entry)
716  @param vrf_id - fib table/vrf id to associate the source and port-range check with
717  @note To specify a single port set low_port and high_port entry the same
718 */
719 autoreply define ip_source_and_port_range_check_add_del
720 {
726  u8 address[16];
728  u16 low_ports[32];
729  u16 high_ports[32];
731 };
732 
733 /** \brief Set interface source and L4 port-range request
734  @param client_index - opaque cookie to identify the sender
735  @param context - sender context, to match reply w/ request
736  @param interface_id - interface index
737  @param tcp_vrf_id - VRF associated with source and TCP port-range check
738  @param udp_vrf_id - VRF associated with source and TCP port-range check
739 */
740 autoreply define ip_source_and_port_range_check_interface_add_del
741 {
750 };
751 
752 /** \brief Set interface source check request
753  @param client_index - opaque cookie to identify the sender
754  @param context - sender context, to match reply w/ request
755  @param is_add - add or del
756  @param loose - strict or loose
757  @param sw_if_index - interface index
758 */
759 autoreply define ip_source_check_interface_add_del
760 {
766 };
767 
768 /** \brief Enable/disable periodic IP neighbor scan
769  @param client_index - opaque cookie to identify the sender
770  @param context - sender context, to match reply w/ request
771  @param mode - 0: disable, 1: IPv4, 2: IPv6, 3: both IPv4/v6
772  @param scan_interval - neighbor scan interval in minutes, 0: default to 1
773  @param max_proc_time - max processing time per run in usec, 0: default to 20
774  @param max_update - max neighbor probe/delete per run, 0: default to 10
775  @param scan_int_delay - delay in msec to resume scan if exceed max proc
776  time or update, 0: default to 1
777  @param stale_threshold - threshold in minutes for neighbor deletion,
778  0: default to 4*scan_interval
779 */
780 autoreply define ip_scan_neighbor_enable_disable
781 {
790 };
791 
792 /** \brief IP probe neighbor address on an interface by sending an
793  ARP request (for IP4) or ICMP6 Neighbor Solicitation (for IP6)
794  @param client_index - opaque cookie to identify the sender
795  @param context - sender context, to match reply w/ request
796  @param sw_if_index - interface index
797  @param dst_address - target IP address to send IP addr resolution request
798  @param is_ipv6 - [1|0] to indicate if address family is IPv[6|4]
799 */
800 autoreply define ip_probe_neighbor
801 {
805  u8 dst_address[16];
807 };
808 
809 /** \brief Register for IP4 ARP resolution event on receing ARP reply or
810  MAC/IP info from ARP requests in L2 BDs
811  @param client_index - opaque cookie to identify the sender
812  @param context - sender context, to match reply w/ request
813  @param enable_disable - 1 => register for events, 0 => cancel registration
814  @param pid - sender's pid
815  @param address - exact IP4 address of interested arp resolution event, or
816  0 to get MAC/IP info from ARP requests in BDs
817 */
818 autoreply define want_ip4_arp_events
819 {
825 };
826 
827 /** \brief Tell client about an IP4 ARP resolution event or
828  MAC/IP info from ARP requests in L2 BDs
829  @param client_index - opaque cookie to identify the sender
830  @param address - the exact ip4 address of interest
831  @param pid - client pid registered to receive notification
832  @param sw_if_index - interface which received ARP packet
833  @param new_mac - the new mac address
834  @param mac_ip - 0: ARP resolution event, 1: MAC/IP info from L2 BDs
835 */
836 define ip4_arp_event
837 {
842  u8 new_mac[6];
844 };
845 
847  rpc want_ip4_arp_events returns want_ip4_arp_events_reply
848  events ip4_arp_event;
849 };
850 
851 /** \brief Register for IP6 ND resolution event on recieving NA reply
852  MAC/IP info from ICMP6 Neighbor Solicitation in L2 BDs
853  @param client_index - opaque cookie to identify the sender
854  @param context - sender context, to match reply w/ request
855  @param enable_disable - 1 => register for events, 0 => cancel registration
856  @param pid - sender's pid
857  @param address - the exact IP6 address of interested ND resolution event, or
858  0 to get MAC/IP info from ICMP6 NS in L2 BDs.
859 */
860 autoreply define want_ip6_nd_events
861 {
866  u8 address[16];
867 };
868 
869 /** \brief Tell client about an IP6 ND resolution or
870  MAC/IP info from ICMP6 Neighbor Solicitation in L2 BDs.
871  @param client_index - opaque cookie to identify the sender
872  @param pid - client pid registered to receive notification
873  @param sw_if_index - interface which received ARP packet
874  @param address - the exact ip6 address of interest
875  @param new_mac - the new mac address
876  @param mac_ip - 0: ND resolution event, 1: MAC/IP info from L2 BDs
877 */
878 define ip6_nd_event
879 {
883  u8 address[16];
884  u8 new_mac[6];
886 };
887 
888 service {
889  rpc want_ip6_ra_events returns want_ip6_ra_events_reply
890  events ip6_ra_event;
891 };
892 
893 /** \brief Register for ip6 router advertisement events
894  @param client_index - opaque cookie to identify the sender
895  @param context - sender context, to match reply w/ request
896  @param enable_disable - 1 => register for events, 0 => cancel registration
897  @param pid - sender's pid
898 */
899 autoreply define want_ip6_ra_events
900 {
905 };
906 
907 /** \brief Struct representing RA prefix info
908  @param dst_address - RA prefix info destination address
909  @param dst_address_length - RA prefix info destination address length
910  @param flags - RA prefix info flags
911  @param valid_time - RA prefix info valid time
912  @param preferred_time - RA prefix info preferred time
913 */
914 typeonly define ip6_ra_prefix_info
915 {
916  u8 dst_address[16];
921 };
922 
923 /** \brief Tell client about a router advertisement event
924  @param client_index - opaque cookie to identify the sender
925  @param pid - client pid registered to receive notification
926  @param current_hop_limit - RA current hop limit
927  @param flags - RA flags
928  @param router_lifetime_in_sec - RA lifetime in seconds
929  @param neighbor_reachable_time_in_msec - RA neighbor reachable time in msec
930  @param time_in_msec_between_retransmitted_neighbor_solicitations -
931  time in msec between retransmitted neighbor solicitations
932  @param n_prefixes -
933  @param prefixes -
934 */
935 define ip6_ra_event
936 {
940  u8 router_address[16];
947  vl_api_ip6_ra_prefix_info_t prefixes[n_prefixes];
948 };
949 
950 service {
951  rpc want_ip6_nd_events returns want_ip6_nd_events_reply
952  events ip6_nd_event;
953 };
954 
955 /** \brief Proxy ARP configuration type
956  @param vrf_id - VRF / Fib table ID
957  @param low_address[4] - Low address of the Proxy ARP range
958  @param hi_address[4] - High address of the Proxy ARP range
959 */
960 typeonly define proxy_arp
961 {
963  u8 low_address[4];
964  u8 hi_address[4];
965 };
966 
967 /** \brief Proxy ARP add / del request
968  @param client_index - opaque cookie to identify the sender
969  @param context - sender context, to match reply w/ request
970  @param is_add - 1 if adding the Proxy ARP range, 0 if deleting
971  @param proxy - Proxy configuration
972 */
973 autoreply define proxy_arp_add_del
974 {
979 };
980 
981 /** \brief Proxy ARP dump request
982  */
983 define proxy_arp_dump
984 {
987 };
988 
989 /** \brief Proxy ARP dump details reply
990  * @param proxy - Same data as used to configure
991  */
992 define proxy_arp_details
993 {
996 };
997 
998 /** \brief Proxy ARP add / del interface request
999  @param client_index - opaque cookie to identify the sender
1000  @param context - sender context, to match reply w/ request
1001  @param sw_if_index - Which interface to enable / disable Proxy Arp on
1002  @param enable_disable - 1 to enable Proxy ARP on interface, 0 to disable
1003 */
1004 autoreply define proxy_arp_intfc_enable_disable
1005 {
1009  /* 1 = on, 0 = off */
1011 };
1012 
1013 /** \brief Proxy ARP interface dump request
1014  */
1015 define proxy_arp_intfc_dump
1016 {
1019 };
1020 
1021 /** \brief Proxy ARP interface dump details reply
1022  * @param sw_if_index The interface on which ARP proxy is enabled.
1023  */
1024 define proxy_arp_intfc_details
1025 {
1028 };
1029 
1030 /** \brief Reset fib table request
1031  @param client_index - opaque cookie to identify the sender
1032  @param context - sender context, to match reply w/ request
1033  @param vrf_id - vrf/table id of the fib table to reset
1034  @param is_ipv6 - an ipv6 fib to reset if non-zero, else ipv4
1035 */
1036 autoreply define reset_fib
1037 {
1042 };
1043 
1044 /** \brief Set max allowed ARP or ip6 neighbor entries request
1045  @param client_index - opaque cookie to identify the sender
1046  @param context - sender context, to match reply w/ request
1047  @param is_ipv6 - neighbor limit if non-zero, else ARP limit
1048  @param arp_neighbor_limit - the new limit, defaults are ~ 50k
1049 */
1050 autoreply define set_arp_neighbor_limit
1051 {
1056 };
1057 
1058 /** \brief IOAM enable : Enable in-band OAM
1059  @param id - profile id
1060  @param seqno - To enable Seqno Processing
1061  @param analyse - Enabling analysis of iOAM at decap node
1062  @param pow_enable - Proof of Work enabled or not flag
1063  @param trace_enable - iOAM Trace enabled or not flag
1064 */
1065 autoreply define ioam_enable
1066 {
1075 };
1076 
1077 /** \brief iOAM disable
1078  @param client_index - opaque cookie to identify the sender
1079  @param context - sender context, to match reply w/ request
1080  @param index - MAP Domain index
1081 */
1082 autoreply define ioam_disable
1083 {
1087 };
1088 
1089 autoreply define ip_reassembly_set
1090 {
1097 };
1098 
1099 define ip_reassembly_get
1100 {
1104 };
1105 
1106 define ip_reassembly_get_reply
1107 {
1114 };
1115 
1116 /** \brief Enable/disable reassembly feature
1117  @param client_index - opaque cookie to identify the sender
1118  @param context - sender context, to match reply w/ request
1119  @param sw_if_index - interface to enable/disable feature on
1120  @param enable_ip4 - enable ip4 reassembly if non-zero, disable if 0
1121  @param enable_ip6 - enable ip6 reassembly if non-zero, disable if 0
1122 */
1123 autoreply define ip_reassembly_enable_disable
1124 {
1130 };
1131 
1132 /*
1133  * Local Variables:
1134  * eval: (c-set-style "gnu")
1135  * End:
1136  */
vl_api_proxy_arp_t proxy
Definition: ip.api:978
typedef address
Definition: ip_types.api:30
vl_api_proxy_arp_t proxy
Definition: ip.api:995
u16 router_lifetime_in_sec
Definition: ip.api:943
vl_api_punt_redirect_t punt
Definition: ip.api:664
unsigned char u8
Definition: types.h:56
u32 neighbor_reachable_time_in_msec
Definition: ip.api:944
typedef mfib_path
IP Multicast FIB table response.
Definition: ip.api:506
unsigned int u32
Definition: types.h:88
Proxy ARP configuration type.
Definition: ip.api:960
Punt redirect type.
Definition: ip.api:647
unsigned short u16
Definition: types.h:57
vl_api_address_union_t src_address
Definition: ip_types.api:44
u8 name[64]
Definition: memclnt.api:152
static uword ip_punt_redirect(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, u8 arc_index, ip_punt_redirect_t *redirect)
Definition: ip_punt_drop.h:301
signed int i32
Definition: types.h:77
u32 time_in_msec_between_retransmitted_neighbor_solicitations
Definition: ip.api:945
FIB path.
Definition: fib_types.api:47
service
Definition: ip.api:846
size_t count
Definition: vapi.c:47
u8 mac_address[6]
vl_api_punt_redirect_t punt
Definition: ip.api:679
vl_api_address_t nh
Definition: ip.api:651
option version
Definition: ip.api:23
Struct representing RA prefix info.
Definition: ip.api:914
u32 client_index
Definition: ip.api:600
vl_api_address_union_t grp_address
Definition: ip_types.api:43
u32 itf_flags
Definition: ip.api:508