FD.io VPP  v19.04.2-12-g66b1689
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 = "2.0.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 IP neighbor flags
107  @param is_static - A static neighbor Entry - there are not flushed
108  If the interface goes down.
109  @param is_no_fib_entry - Do not create a corresponding entry in the FIB
110  table for the neighbor.
111 */
113 {
117 };
118 
119 /** \brief IP neighbor
120  @param sw_if_index - interface used to reach neighbor
121  @param mac_address - l2 address of the neighbor
122  @param ip_address - ip4 or ip6 address of the neighbor
123  @param flags - flags for the nieghbor
124 */
125 typedef ip_neighbor {
127  vl_api_ip_neighbor_flags_t flags;
128  vl_api_mac_address_t mac_address;
129  vl_api_address_t ip_address;
130 };
131 
132 /** \brief IP neighbor add / del request
133  @param client_index - opaque cookie to identify the sender
134  @param context - sender context, to match reply w/ request
135  @param is_add - 1 to add neighbor, 0 to delete
136  @param neighbor - the neighor to add/remove
137 */
138 define ip_neighbor_add_del
139 {
142  /* 1 = add, 0 = delete */
144  vl_api_ip_neighbor_t neighbor;
145 };
146 define ip_neighbor_add_del_reply
147 {
151 };
152 
153 /** \brief Dump IP neighboors
154  @param client_index - opaque cookie to identify the sender
155  @param context - sender context, to match reply w/ request
156  @param sw_if_index - the interface to dump neighboors, ~0 == all
157  @param is_ipv6 - [1|0] to indicate if address family is ipv[6|4]
158 */
159 define ip_neighbor_dump
160 {
165 };
166 
167 /** \brief IP neighboors dump response
168  @param context - sender context which was passed in the request
169  @param neighbour - the neighbor
170 */
171 define ip_neighbor_details {
173  vl_api_ip_neighbor_t neighbor;
174 };
175 
176 /** \brief Set the ip flow hash config for a fib request
177  @param client_index - opaque cookie to identify the sender
178  @param context - sender context, to match reply w/ request
179  @param vrf_id - vrf/fib id
180  @param is_ipv6 - if non-zero the fib is ip6, else ip4
181  @param src - if non-zero include src in flow hash
182  @param dst - if non-zero include dst in flow hash
183  @param sport - if non-zero include sport in flow hash
184  @param dport - if non-zero include dport in flow hash
185  @param proto -if non-zero include proto in flow hash
186  @param reverse - if non-zero include reverse in flow hash
187  @param symmetric - if non-zero include symmetry in flow hash
188 */
189 autoreply define set_ip_flow_hash
190 {
202 };
203 
204 /** \brief IPv6 router advertisement config request
205  @param client_index - opaque cookie to identify the sender
206  @param context - sender context, to match reply w/ request
207  @param suppress -
208  @param managed -
209  @param other -
210  @param ll_option -
211  @param send_unicast -
212  @param cease -
213  @param is_no -
214  @param default_router -
215  @param max_interval -
216  @param min_interval -
217  @param lifetime -
218  @param initial_count -
219  @param initial_interval -
220 */
221 autoreply define sw_interface_ip6nd_ra_config
222 {
239 };
240 
241 /** \brief IPv6 router advertisement prefix config request
242  @param client_index - opaque cookie to identify the sender
243  @param context - sender context, to match reply w/ request
244  @param sw_if_index - The interface the RA prefix information is for
245  @param prefix - The prefix to advertise
246  @param use_default - Revert to default settings
247  @param no_advertise - Do not advertise this prefix
248  @param off_link - The prefix is off link (it is not configured on the interface)
249  Configures the L-flag, When set, indicates that this
250  prefix can be used for on-link determination.
251  @param no_autoconfig - Setting for the A-flag. When
252  set indicates that this prefix can be used for
253  stateless address configuration.
254  @param no_onlink - The prefix is not on link. Make sure this is consistent
255  with the off_link parameter else YMMV
256  @param is_no - add/delete
257  @param val_lifetime - The length of time in
258  seconds (relative to the time the packet is sent)
259  that the prefix is valid for the purpose of on-link
260  determination. A value of all one bits
261  (0xffffffff) represents infinity
262  @param pref_lifetime - The length of time in
263  seconds (relative to the time the packet is sent)
264  that addresses generated from the prefix via
265  stateless address autoconfiguration remain
266  preferred [ADDRCONF]. A value of all one bits
267  (0xffffffff) represents infinity.
268 */
269 autoreply define sw_interface_ip6nd_ra_prefix
270 {
274  vl_api_prefix_t prefix;
283 };
284 
285 /** \brief IPv6 ND proxy config
286  @param client_index - opaque cookie to identify the sender
287  @param context - sender context, to match reply w/ request
288  @param sw_if_index - The interface the host is on
289  @param address - The address of the host for which to proxy for
290  @param is_add - Adding or deleting
291 */
292 autoreply define ip6nd_proxy_add_del
293 {
299 };
300 
301 /** \brief IPv6 ND proxy details returned after request
302  @param context - sender context, to match reply w/ request
303  @param retval - return code for the request
304 */
305 define ip6nd_proxy_details
306 {
310 };
311 
312 /** \brief IPv6 ND proxy dump request
313  @param context - sender context, to match reply w/ request
314  @param retval - return code for the request
315  @param sw_if_index - The interface the host is on
316  @param address - The address of the host for which to proxy for
317 */
318 define ip6nd_proxy_dump
319 {
322 };
323 
324 /** \brief Start / stop sending router solicitation
325  @param client_index - opaque cookie to identify the sender
326  @param context - sender context, to match reply w/ request
327  @param irt - initial retransmission time
328  @param mrt - maximum retransmission time
329  @param mrc - maximum retransmission count
330  @param mrd - maximum retransmission duration
331  @param sw_if_index - software interface index of interface
332  for sending router solicitation
333  @param stop - if non-zero then stop sending router solicitation,
334  otherwise start sending router solicitation
335 */
336 autoreply define ip6nd_send_router_solicitation
337 {
346 };
347 
348 /** \brief IPv6 interface enable / disable request
349  @param client_index - opaque cookie to identify the sender
350  @param context - sender context, to match reply w/ request
351  @param sw_if_index - interface used to reach neighbor
352  @param enable - if non-zero enable ip6 on interface, else disable
353 */
354 autoreply define sw_interface_ip6_enable_disable
355 {
359  u8 enable; /* set to true if enable */
360 };
361 
362 /** \brief Add / del route request
363  @param client_index - opaque cookie to identify the sender
364  @param context - sender context, to match reply w/ request
365  @param sw_if_index - software index of the new vlan's parent interface
366  @param vrf_id - fib table /vrf associated with the route
367  @param lookup_in_vrf -
368  @param classify_table_index -
369  @param is_add - 1 if adding the route, 0 if deleting
370  @param is_drop - Drop the packet
371  @param is_unreach - Drop the packet and rate limit send ICMP unreachable
372  @param is_prohibit - Drop the packet and rate limit send ICMP prohibited
373  @param is_ipv6 - 0 if an ip4 route, else ip6
374  @param is_local - The route will result in packets sent to VPP IP stack
375  @param is_udp_encap - The path describes a UDP-o-IP encapsulation.
376  @param is_classify -
377  @param is_multipath - Set to 1 if this is a multipath route, else 0
378  @param is_dvr - Does the route resolve via a DVR interface.
379  @param is_source_lookup - The the path is a deaggregate path (i.e. a lookup
380  in another table) is the lookup on the packet's
381  source address or destination.
382  @param next_hop_weight - Weight for Unequal cost multi-path
383  @param next_hop_preference - Path that are up that have the best preference are
384  are used for forwarding. lower value is better.
385  @param next_hop_id - Used when the path resolves via an object that has a unique
386  identifier.
387  @param next_hop_proto - The protocol of the next-hop (address)
388  0=use same AF as the route, 1=IPv4, 2=IPv6
389  @param dst_address_length -
390  @param dst_address[16] -
391  @param next_hop_address[16] -
392  @param next_hop_n_out_labels - the number of labels in the label stack
393  @param next_hop_out_label_stack - the next-hop output label stack, outer most first
394  @param next_hop_via_label - The next-hop is a resolved via a local label
395 */
396 define ip_add_del_route
397 {
422  u8 dst_address[16];
423  u8 next_hop_address[16];
426  vl_api_fib_mpls_label_t next_hop_out_label_stack[next_hop_n_out_labels];
427 };
428 
429 define ip_add_del_route_reply
430 {
434 };
435 
436 /** \brief Add / del route request
437 
438  Adds a route, consisting both of the MFIB entry to match packets
439  (which may already exist) and a path to send those packets down.
440  Routes can be entered repeatedly to add multiple paths. Deletions are
441  per-path.
442 
443  @param client_index - opaque cookie to identify the sender
444  @param context - sender context, to match reply w/ request
445  @param table_id - fib table /vrf associated with the route
446  @param is_add - true if adding a route; false if deleting one
447  @param is_ipv6 - true iff all the addresses are v6
448  @param entry_flags - see fib_entry_flag_t
449  @param itf_flags - see mfib_entry_flags_t
450  @param next_hop_afi - see dpo_proto_t; the type of destination description
451  @param src_address - the source of the packet
452  @param grp_address - the group the packet is destined to
453  @param nh_address - the nexthop to forward the packet to
454  @param next_hop_sw_if_index - interface to emit packet on
455 
456  BIER AFIs use the BIER imposition ID. v4 and v6 AFIs use either the
457  interface or the nexthop address.
458 
459  Note that if the route is source-specific (S is supplied, not all 0s),
460  the prefix match is treated as exact (prefixlen /32 or /128).
461 
462  FIXME not complete yet
463 */
464 define ip_mroute_add_del
465 {
481  u8 nh_address[16];
482 };
483 
484 define ip_mroute_add_del_reply
485 {
489 };
490 
491 /** \brief Dump IP multicast fib table
492  @param client_index - opaque cookie to identify the sender
493 */
494 define ip_mfib_dump
495 {
498 };
499 
500 /** \brief IP Multicast FIB table response
501  @param table_id - IP fib table id
502  @address_length - mask length
503  @grp_address - Group address/prefix
504  @src_address - Source address
505  @param count - the number of fib_path in path
506  @param path - array of of fib_path structures
507 */
508 typedef mfib_path
509 {
510  vl_api_fib_path_t path;
512 };
513 
514 manual_endian manual_print define ip_mfib_details
515 {
525  vl_api_mfib_path_t path[count];
526 };
527 
528 /** \brief Dump IP6 multicast fib table
529  @param client_index - opaque cookie to identify the sender
530 */
531 define ip6_mfib_dump
532 {
535 };
536 
537 /** \brief IP6 Multicast FIB table response
538  @param table_id - IP fib table id
539  @address_length - mask length
540  @grp_address - Group address/prefix
541  @src_address - Source address
542  @param count - the number of fib_path in path
543  @param path - array of of fib_path structures
544 */
545 manual_endian manual_print define ip6_mfib_details
546 {
553  vl_api_mfib_path_t path[count];
554 };
555 
556 define ip_address_details
557 {
559  u8 ip[16];
563 };
564 
565 define ip_address_dump
566 {
571 };
572 
573 /** \brief IP unnumbered configurations
574  @param sw_if_index The interface that has unnumbered configuration
575  @param ip_sw_if_index The IP interface that it is unnnumbered to
576 */
577 define ip_unnumbered_details
578 {
582 };
583 
584 /** \brief Dump IP unnumbered configurations
585  @param sw_if_index ~0 for all interfaces, else the interface desired
586 */
587 define ip_unnumbered_dump
588 {
592 };
593 
594 define ip_details
595 {
599 };
600 
601 define ip_dump
602 {
606 };
607 
608 define mfib_signal_dump
609 {
612 };
613 
614 define mfib_signal_details
615 {
623  u8 ip_packet_data[256];
624 };
625 
626 /** \brief IP punt policer
627  @param client_index - opaque cookie to identify the sender
628  @param context - sender context, to match reply w/ request
629  @param is_add - 1 to add neighbor, 0 to delete
630  @param is_ipv6 - 1 for IPv6 neighbor, 0 for IPv4
631  @param policer_index - Index of policer to use
632 */
633 autoreply define ip_punt_police
634 {
640 };
641 
642 /** \brief Punt redirect type
643  @param rx_sw_if_index - specify the original RX interface of traffic
644  that should be redirected. ~0 means any interface.
645  @param tx_sw_if_index - the TX interface to which traffic shoulde be
646  redirected.
647  @param nh - the next-hop to redirect the traffic to.
648  @param is_ipv6 - 1 for IPv6 neighbor, 0 for IPv4
649 */
650 typeonly define punt_redirect
651 {
654  vl_api_address_t nh;
655 };
656 
657 /** \brief IP punt redirect
658  @param client_index - opaque cookie to identify the sender
659  @param context - sender context, to match reply w/ request
660  @param punt - punt definition
661  @param is_add - 1 to add neighbor, 0 to delete
662 */
663 autoreply define ip_punt_redirect
664 {
669 };
670 
671 define ip_punt_redirect_dump
672 {
677 };
678 
679 define ip_punt_redirect_details
680 {
683 };
684 
685 autoreply define ip_container_proxy_add_del
686 {
689  vl_api_prefix_t pfx;
692 };
693 
694 define ip_container_proxy_dump
695 {
698 };
699 
700 define ip_container_proxy_details
701 {
704  vl_api_prefix_t prefix;
705 };
706 
707 /** \brief Configure IP source and L4 port-range check
708  @param client_index - opaque cookie to identify the sender
709  @param context - sender context, to match reply w/ request
710  @param is_ip6 - 1 if source address type is IPv6
711  @param is_add - 1 if add, 0 if delete
712  @param ip - prefix to match
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 {
724  vl_api_prefix_t prefix;
726  u16 low_ports[32];
727  u16 high_ports[32];
729 };
730 
731 /** \brief Set interface source and L4 port-range request
732  @param client_index - opaque cookie to identify the sender
733  @param context - sender context, to match reply w/ request
734  @param interface_id - interface index
735  @param tcp_vrf_id - VRF associated with source and TCP port-range check
736  @param udp_vrf_id - VRF associated with source and TCP port-range check
737 */
738 autoreply define ip_source_and_port_range_check_interface_add_del
739 {
748 };
749 
750 /** \brief Set interface source check request
751  @param client_index - opaque cookie to identify the sender
752  @param context - sender context, to match reply w/ request
753  @param is_add - add or del
754  @param loose - strict or loose
755  @param sw_if_index - interface index
756 */
757 autoreply define ip_source_check_interface_add_del
758 {
764 };
765 
766 /** \brief Enable/disable periodic IP neighbor scan
767  @param client_index - opaque cookie to identify the sender
768  @param context - sender context, to match reply w/ request
769  @param mode - 0: disable, 1: IPv4, 2: IPv6, 3: both IPv4/v6
770  @param scan_interval - neighbor scan interval in minutes, 0: default to 1
771  @param max_proc_time - max processing time per run in usec, 0: default to 20
772  @param max_update - max neighbor probe/delete per run, 0: default to 10
773  @param scan_int_delay - delay in msec to resume scan if exceed max proc
774  time or update, 0: default to 1
775  @param stale_threshold - threshold in minutes for neighbor deletion,
776  0: default to 4*scan_interval
777 */
778 autoreply define ip_scan_neighbor_enable_disable
779 {
788 };
789 
790 /** \brief IP probe neighbor address on an interface by sending an
791  ARP request (for IP4) or ICMP6 Neighbor Solicitation (for IP6)
792  @param client_index - opaque cookie to identify the sender
793  @param context - sender context, to match reply w/ request
794  @param sw_if_index - interface index
795  @param dst - target IP address to send IP addr resolution request
796 */
797 autoreply define ip_probe_neighbor
798 {
802  vl_api_address_t dst;
803 };
804 
805 /** \brief Register for IP4 ARP resolution event on receing ARP reply or
806  MAC/IP info from ARP requests in L2 BDs
807  @param client_index - opaque cookie to identify the sender
808  @param context - sender context, to match reply w/ request
809  @param enable_disable - 1 => register for events, 0 => cancel registration
810  @param pid - sender's pid
811  @param ip - exact IP4 address of interested arp resolution event, or
812  0 to get MAC/IP info from ARP requests in BDs
813 */
814 autoreply define want_ip4_arp_events
815 {
821 };
822 
823 /** \brief Tell client about an IP4 ARP resolution event or
824  MAC/IP info from ARP requests in L2 BDs
825  @param client_index - opaque cookie to identify the sender
826  @param ip - the exact ip4 address of interest
827  @param pid - client pid registered to receive notification
828  @param sw_if_index - interface which received ARP packet
829  @param mac - the new mac address
830  @param mac_ip - 0: ARP resolution event, 1: MAC/IP info from L2 BDs
831 */
832 define ip4_arp_event
833 {
838  vl_api_mac_address_t mac;
840 };
841 
843  rpc want_ip4_arp_events returns want_ip4_arp_events_reply
844  events ip4_arp_event;
845 };
846 
847 /** \brief Register for IP6 ND resolution event on recieving NA reply
848  MAC/IP info from ICMP6 Neighbor Solicitation in L2 BDs
849  @param client_index - opaque cookie to identify the sender
850  @param context - sender context, to match reply w/ request
851  @param enable_disable - 1 => register for events, 0 => cancel registration
852  @param pid - sender's pid
853  @param ip - the exact IP6 address of interested ND resolution event, or
854  0 to get MAC/IP info from ICMP6 NS in L2 BDs.
855 */
856 autoreply define want_ip6_nd_events
857 {
863 };
864 
865 /** \brief Tell client about an IP6 ND resolution or
866  MAC/IP info from ICMP6 Neighbor Solicitation in L2 BDs.
867  @param client_index - opaque cookie to identify the sender
868  @param pid - client pid registered to receive notification
869  @param sw_if_index - interface which received ARP packet
870  @param ip - the exact ip6 address of interest
871  @param new_mac - the new mac address
872  @param mac_ip - 0: ND resolution event, 1: MAC/IP info from L2 BDs
873 */
874 define ip6_nd_event
875 {
880  vl_api_mac_address_t mac;
882 };
883 
884 service {
885  rpc want_ip6_ra_events returns want_ip6_ra_events_reply
886  events ip6_ra_event;
887 };
888 
889 /** \brief Register for ip6 router advertisement events
890  @param client_index - opaque cookie to identify the sender
891  @param context - sender context, to match reply w/ request
892  @param enable_disable - 1 => register for events, 0 => cancel registration
893  @param pid - sender's pid
894 */
895 autoreply define want_ip6_ra_events
896 {
901 };
902 
903 /** \brief Struct representing RA prefix info
904  @param prefix - RA prefix info destination address
905  @param flags - RA prefix info flags
906  @param valid_time - RA prefix info valid time
907  @param preferred_time - RA prefix info preferred time
908 */
909 typeonly define ip6_ra_prefix_info
910 {
911  vl_api_prefix_t prefix;
915 };
916 
917 /** \brief Tell client about a router advertisement event
918  @param client_index - opaque cookie to identify the sender
919  @param pid - client pid registered to receive notification
920  @param current_hop_limit - RA current hop limit
921  @param flags - RA flags
922  @param router_lifetime_in_sec - RA lifetime in seconds
923  @param router_addr - The router's address
924  @param neighbor_reachable_time_in_msec - RA neighbor reachable time in msec
925  @param time_in_msec_between_retransmitted_neighbor_solicitations -
926  time in msec between retransmitted neighbor solicitations
927  @param n_prefixes -
928  @param prefixes -
929 */
930 define ip6_ra_event
931 {
942  vl_api_ip6_ra_prefix_info_t prefixes[n_prefixes];
943 };
944 
945 service {
946  rpc want_ip6_nd_events returns want_ip6_nd_events_reply
947  events ip6_nd_event;
948 };
949 
950 /** \brief Proxy ARP configuration type
951  @param table_id - VRF / Fib table ID
952  @param low - Low address of the Proxy ARP range
953  @param hi - High address of the Proxy ARP range
954 */
955 typeonly define proxy_arp
956 {
960 };
961 
962 /** \brief Proxy ARP add / del request
963  @param client_index - opaque cookie to identify the sender
964  @param context - sender context, to match reply w/ request
965  @param is_add - 1 if adding the Proxy ARP range, 0 if deleting
966  @param proxy - Proxy configuration
967 */
968 autoreply define proxy_arp_add_del
969 {
974 };
975 
976 /** \brief Proxy ARP dump request
977  */
978 define proxy_arp_dump
979 {
982 };
983 
984 /** \brief Proxy ARP dump details reply
985  * @param proxy - Same data as used to configure
986  */
987 define proxy_arp_details
988 {
991 };
992 
993 /** \brief Proxy ARP add / del interface request
994  @param client_index - opaque cookie to identify the sender
995  @param context - sender context, to match reply w/ request
996  @param sw_if_index - Which interface to enable / disable Proxy Arp on
997  @param enable_disable - 1 to enable Proxy ARP on interface, 0 to disable
998 */
999 autoreply define proxy_arp_intfc_enable_disable
1000 {
1004  /* 1 = on, 0 = off */
1006 };
1007 
1008 /** \brief Proxy ARP interface dump request
1009  */
1010 define proxy_arp_intfc_dump
1011 {
1014 };
1015 
1016 /** \brief Proxy ARP interface dump details reply
1017  * @param sw_if_index The interface on which ARP proxy is enabled.
1018  */
1019 define proxy_arp_intfc_details
1020 {
1023 };
1024 
1025 /** \brief Reset fib table request
1026  @param client_index - opaque cookie to identify the sender
1027  @param context - sender context, to match reply w/ request
1028  @param vrf_id - vrf/table id of the fib table to reset
1029  @param is_ipv6 - an ipv6 fib to reset if non-zero, else ipv4
1030 */
1031 autoreply define reset_fib
1032 {
1037 };
1038 
1039 /** \brief Set max allowed ARP or ip6 neighbor entries request
1040  @param client_index - opaque cookie to identify the sender
1041  @param context - sender context, to match reply w/ request
1042  @param is_ipv6 - neighbor limit if non-zero, else ARP limit
1043  @param arp_neighbor_limit - the new limit, defaults are ~ 50k
1044 */
1045 autoreply define set_arp_neighbor_limit
1046 {
1051 };
1052 
1053 /** \brief IOAM enable : Enable in-band OAM
1054  @param id - profile id
1055  @param seqno - To enable Seqno Processing
1056  @param analyse - Enabling analysis of iOAM at decap node
1057  @param pow_enable - Proof of Work enabled or not flag
1058  @param trace_enable - iOAM Trace enabled or not flag
1059 */
1060 autoreply define ioam_enable
1061 {
1070 };
1071 
1072 /** \brief iOAM disable
1073  @param client_index - opaque cookie to identify the sender
1074  @param context - sender context, to match reply w/ request
1075  @param index - MAP Domain index
1076 */
1077 autoreply define ioam_disable
1078 {
1082 };
1083 
1084 autoreply define ip_reassembly_set
1085 {
1092 };
1093 
1094 define ip_reassembly_get
1095 {
1099 };
1100 
1101 define ip_reassembly_get_reply
1102 {
1109 };
1110 
1111 /** \brief Enable/disable reassembly feature
1112  @param client_index - opaque cookie to identify the sender
1113  @param context - sender context, to match reply w/ request
1114  @param sw_if_index - interface to enable/disable feature on
1115  @param enable_ip4 - enable ip4 reassembly if non-zero, disable if 0
1116  @param enable_ip6 - enable ip6 reassembly if non-zero, disable if 0
1117 */
1118 autoreply define ip_reassembly_enable_disable
1119 {
1125 };
1126 
1127 /*
1128  * Local Variables:
1129  * eval: (c-set-style "gnu")
1130  * End:
1131  */
u32 sw_if_index
Definition: ipsec_gre.api:37
vl_api_proxy_arp_t proxy
Definition: ip.api:973
typedef address
Definition: ip_types.api:30
vl_api_proxy_arp_t proxy
Definition: ip.api:990
u16 router_lifetime_in_sec
Definition: ip.api:938
vl_api_ip_neighbor_t neighbor
Definition: ip.api:144
vl_api_ip6_address_t ip
Definition: ip.api:862
vl_api_mac_address_t mac
Definition: ip.api:838
u8 vl_api_ip6_address_t[16]
Conversion functions to/from (decode/encode) API types to VPP internal types.
Definition: ip_types_api.h:30
vl_api_punt_redirect_t punt
Definition: ip.api:667
unsigned char u8
Definition: types.h:56
u32 neighbor_reachable_time_in_msec
Definition: ip.api:939
typedef ip_neighbor
IP neighbor.
Definition: ip.api:125
typedef mfib_path
IP Multicast FIB table response.
Definition: ip.api:509
unsigned int u32
Definition: types.h:88
Proxy ARP configuration type.
Definition: ip.api:955
vl_api_address_t dst
Definition: ip.api:802
Punt redirect type.
Definition: ip.api:650
vl_api_mac_address_t mac_address
Definition: ip.api:128
unsigned short u16
Definition: types.h:57
vl_api_ip6_address_t router_addr
Definition: ip.api:935
vl_api_ip4_address_t ip
Definition: ip.api:835
vl_api_address_union_t src_address
Definition: ip_types.api:44
vl_api_ip4_address_t low
Definition: ip.api:958
vl_api_ip6_address_t ip
Definition: ip.api:309
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
u8 vl_api_ip4_address_t[4]
Definition: ip_types_api.h:31
signed int i32
Definition: types.h:77
vl_api_ip4_address_t hi
Definition: ip.api:959
u32 time_in_msec_between_retransmitted_neighbor_solicitations
Definition: ip.api:940
FIB path.
Definition: fib_types.api:47
service
Definition: ip.api:842
size_t count
Definition: vapi.c:47
vl_api_ip_neighbor_flags_t flags
Definition: ip.api:127
vl_api_punt_redirect_t punt
Definition: ip.api:682
vl_api_address_t nh
Definition: ip.api:654
option version
Definition: ip.api:23
vl_api_ip_neighbor_t neighbor
Definition: ip.api:173
Struct representing RA prefix info.
Definition: ip.api:909
vl_api_ip6_address_t ip
Definition: ip.api:879
vl_api_ip6_address_t ip
Definition: ip.api:298
vl_api_mac_address_t mac
Definition: ip.api:880
u32 client_index
Definition: ip.api:603
vl_api_address_union_t grp_address
Definition: ip_types.api:43
vl_api_address_t ip_address
Definition: ip.api:129
vl_api_ip4_address_t ip
Definition: ip.api:820
ip_neighbor_flags
IP neighbor flags.
Definition: ip.api:112
u32 itf_flags
Definition: ip.api:511
vl_api_prefix_t prefix
Definition: ip.api:911