Remove the unused 'create VRF if needed' API parameters
[vpp.git] / src / vnet / ip / ip.api
1 /*
2  * Copyright (c) 2016 Cisco and/or its affiliates.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at:
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15
16 /** \file
17
18     This file defines vpp IP control-plane API messages which are generally
19     called through a shared memory interface. 
20 */
21
22 vl_api_version 1.0.1
23
24 /** \brief Add / del table request
25            A table can be added multiple times, but need be deleted only once.
26     @param client_index - opaque cookie to identify the sender
27     @param context - sender context, to match reply w/ request
28     @param is_ipv6 - V4 or V6 table
29     @param table_id - table ID associated with the route
30                       This table ID will apply to both the unicats
31                       and mlticast FIBs
32     @param name - A client provided name/tag for the table. If this is
33                   not set by the client, then VPP will generate something
34                   meaningfull.
35 */
36 autoreply define ip_table_add_del
37 {
38   u32 client_index;
39   u32 context;
40   u32 table_id;
41   u8 is_ipv6;
42   u8 is_add;
43   u8 name[64];
44 };
45
46 /** \brief Dump IP fib table
47     @param client_index - opaque cookie to identify the sender
48 */
49 define ip_fib_dump
50 {
51   u32 client_index;
52   u32 context;
53 };
54
55 /** \brief FIB path
56     @param sw_if_index - index of the interface
57     @param weight - The weight, for UCMP
58     @param preference - The preference of the path. lowest preference is prefered
59     @param is_local - local if non-zero, else remote
60     @param is_drop - Drop the packet
61     @param is_unreach - Drop the packet and rate limit send ICMP unreachable
62     @param is_prohibit - Drop the packet and rate limit send ICMP prohibited
63     @param afi - the afi of the next hop, IP46_TYPE_IP4=1, IP46_TYPE_IP6=2
64     @param next_hop[16] - the next hop address
65
66     WARNING: this type is replicated, pending cleanup completion
67 */
68 typeonly manual_print manual_endian define fib_path
69 {
70   u32 sw_if_index;
71   u32 table_id;
72   u8 weight;
73   u8 preference;
74   u8 is_local;
75   u8 is_drop;
76   u8 is_unreach;
77   u8 is_prohibit;
78   u8 afi;
79   u8 next_hop[16];
80 };
81
82 /** \brief IP FIB table response
83     @param table_id - IP fib table id
84     @address_length - mask length
85     @address - ip4 prefix
86     @param count - the number of fib_path in path
87     @param path  - array of of fib_path structures
88 */
89 manual_endian manual_print define ip_fib_details
90 {
91   u32 context;
92   u32 table_id;
93   u8  table_name[64];
94   u8  address_length;
95   u8  address[4];
96   u32 count;
97   vl_api_fib_path_t path[count];
98 };
99
100 /** \brief Dump IP6 fib table
101     @param client_index - opaque cookie to identify the sender
102 */
103 define ip6_fib_dump
104 {
105   u32 client_index;
106   u32 context;
107 };
108
109 /** \brief IP6 FIB table entry response
110     @param table_id - IP6 fib table id
111     @param address_length - mask length
112     @param address - ip6 prefix
113     @param count - the number of fib_path in path
114     @param path  - array of of fib_path structures
115 */
116 manual_endian manual_print define ip6_fib_details
117 {
118   u32 context;
119   u32 table_id;
120   u8  table_name[64];
121   u8  address_length;
122   u8  address[16];
123   u32 count;
124   vl_api_fib_path_t path[count];
125 };
126
127 /** \brief Dump IP neighboors
128     @param client_index - opaque cookie to identify the sender
129     @param context - sender context, to match reply w/ request
130     @param sw_if_index - the interface to dump neighboors, ~0 == all
131     @param is_ipv6 - [1|0] to indicate if address family is ipv[6|4]
132 */
133 define ip_neighbor_dump
134 {
135     u32 client_index;
136     u32 context;
137     u32 sw_if_index;
138     u8  is_ipv6;
139 };
140
141 /** \brief IP neighboors dump response
142     @param context - sender context which was passed in the request
143     @param sw_if_index - The interface used to reach the neighbor
144     @param is_static - [1|0] to indicate if neighbor is statically configured
145     @param is_ipv6 - [1|0] to indicate if address family is ipv[6|4]
146 */
147 define ip_neighbor_details {
148     u32 context;
149     u32 sw_if_index;
150     u8  is_static;
151     u8  is_ipv6;
152     u8  mac_address[6];
153     u8  ip_address[16];
154 };
155
156 /** \brief IP neighbor add / del request
157     @param client_index - opaque cookie to identify the sender
158     @param context - sender context, to match reply w/ request
159     @param sw_if_index - interface used to reach neighbor
160     @param is_add - 1 to add neighbor, 0 to delete
161     @param is_ipv6 - 1 for IPv6 neighbor, 0 for IPv4
162     @param is_ipv6 - 1 for IPv6 neighbor, 0 for IPv4
163     @param is_static - A static neighbor Entry - there are not flushed
164                        If the interface goes down.
165     @param is_no_adj_fib - Do not create a corresponding entry in the FIB
166                            table for the neighbor.
167     @param mac_address - l2 address of the neighbor
168     @param dst_address - ip4 or ip6 address of the neighbor
169 */
170 autoreply define ip_neighbor_add_del
171 {
172   u32 client_index;
173   u32 context;
174   u32 sw_if_index;
175   /* 1 = add, 0 = delete */
176   u8 is_add;
177   u8 is_ipv6;
178   u8 is_static;
179   u8 is_no_adj_fib;
180   u8 mac_address[6];
181   u8 dst_address[16];
182 };
183
184 /** \brief Set the ip flow hash config for a fib request
185     @param client_index - opaque cookie to identify the sender
186     @param context - sender context, to match reply w/ request
187     @param vrf_id - vrf/fib id
188     @param is_ipv6 - if non-zero the fib is ip6, else ip4
189     @param src - if non-zero include src in flow hash
190     @param dst - if non-zero include dst in flow hash
191     @param sport - if non-zero include sport in flow hash
192     @param dport - if non-zero include dport in flow hash
193     @param proto -if non-zero include proto in flow hash
194     @param reverse - if non-zero include reverse in flow hash
195 */
196 autoreply define set_ip_flow_hash
197 {
198   u32 client_index;
199   u32 context;
200   u32 vrf_id;
201   u8 is_ipv6;
202   u8 src;
203   u8 dst;
204   u8 sport;
205   u8 dport;
206   u8 proto;
207   u8 reverse;
208 };
209
210 /** \brief IPv6 router advertisement config request
211     @param client_index - opaque cookie to identify the sender
212     @param context - sender context, to match reply w/ request
213     @param suppress -
214     @param managed -
215     @param other -
216     @param ll_option -
217     @param send_unicast -
218     @param cease -
219     @param is_no -
220     @param default_router -
221     @param max_interval -
222     @param min_interval -
223     @param lifetime -
224     @param initial_count -
225     @param initial_interval -
226 */
227 autoreply define sw_interface_ip6nd_ra_config
228 {
229   u32 client_index;
230   u32 context;
231   u32 sw_if_index;
232   u8 suppress;
233   u8 managed;
234   u8 other;
235   u8 ll_option;
236   u8 send_unicast;
237   u8 cease;
238   u8 is_no;
239   u8 default_router;
240   u32 max_interval;
241   u32 min_interval;
242   u32 lifetime;
243   u32 initial_count;
244   u32 initial_interval;
245 };
246
247 /** \brief IPv6 router advertisement prefix config request
248     @param client_index - opaque cookie to identify the sender
249     @param context - sender context, to match reply w/ request
250     @param sw_if_index - The interface the RA prefix information is for
251     @param address[] - The prefix to advertise
252     @param address_length - the prefix length
253     @param use_default - Revert to default settings
254     @param no_advertise - Do not advertise this prefix
255     @param off_link - The prefix is off link (it is not configured on the interface)
256                       Configures the L-flag, When set, indicates that this
257                       prefix can be used for on-link determination.
258     @param no_autoconfig - Setting for the A-flag. When
259                            set indicates that this prefix can be used for
260                           stateless address configuration.
261     @param no_onlink - The prefix is not on link. Make sure this is consistent
262                        with the off_link parameter else YMMV
263     @param is_no - add/delete
264     @param val_lifetime - The length of time in
265                      seconds (relative to the time the packet is sent)
266                      that the prefix is valid for the purpose of on-link
267                      determination.  A value of all one bits
268                      (0xffffffff) represents infinity
269     @param pref_lifetime - The length of time in
270                      seconds (relative to the time the packet is sent)
271                      that addresses generated from the prefix via
272                      stateless address autoconfiguration remain
273                      preferred [ADDRCONF].  A value of all one bits
274                      (0xffffffff) represents infinity.
275 */
276 autoreply define sw_interface_ip6nd_ra_prefix
277 {
278   u32 client_index;
279   u32 context;
280   u32 sw_if_index;
281   u8 address[16];
282   u8 address_length;
283   u8 use_default;
284   u8 no_advertise;
285   u8 off_link;
286   u8 no_autoconfig;
287   u8 no_onlink;
288   u8 is_no;
289   u32 val_lifetime;
290   u32 pref_lifetime;
291 };
292
293 /** \brief IPv6 ND proxy config
294     @param client_index - opaque cookie to identify the sender
295     @param context - sender context, to match reply w/ request
296     @param sw_if_index - The interface the host is on
297     @param address - The address of the host for which to proxy for
298     @param is_add - Adding or deleting
299 */
300 autoreply define ip6nd_proxy_add_del
301 {
302   u32 client_index;
303   u32 context;
304   u32 sw_if_index;
305   u8 is_del;
306   u8 address[16];
307 };
308
309 /** \brief IPv6 ND proxy details returned after request
310     @param context - sender context, to match reply w/ request
311     @param retval - return code for the request
312 */
313 define ip6nd_proxy_details
314 {
315   u32 client_index;
316   u32 context;
317   u32 sw_if_index;
318   u8 address[16];
319 };
320
321 /** \brief IPv6 ND proxy dump request
322     @param context - sender context, to match reply w/ request
323     @param retval - return code for the request
324     @param sw_if_index - The interface the host is on
325     @param address - The address of the host for which to proxy for
326 */
327 define ip6nd_proxy_dump
328 {
329   u32 client_index;
330   u32 context;
331 };
332
333 /** \brief IPv6 interface enable / disable request
334     @param client_index - opaque cookie to identify the sender
335     @param context - sender context, to match reply w/ request
336     @param sw_if_index - interface used to reach neighbor
337     @param enable - if non-zero enable ip6 on interface, else disable
338 */
339 autoreply define sw_interface_ip6_enable_disable
340 {
341   u32 client_index;
342   u32 context;
343   u32 sw_if_index;
344   u8 enable;                    /* set to true if enable */
345 };
346
347 /** \brief IPv6 set link local address on interface 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 to set link local on
351     @param address[] - the new link local address
352 */
353 autoreply define sw_interface_ip6_set_link_local_address
354 {
355   u32 client_index;
356   u32 context;
357   u32 sw_if_index;
358   u8 address[16];
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_source_lookup - The the path is a deaggregate path (i.e. a lookup
378                               in another table) is the lookup on the packet's
379                               source address or destination.
380     @param next_hop_weight - Weight for Unequal cost multi-path
381     @param next_hop_preference - Path that are up that have the best preference are
382                                  are used for forwarding. lower value is better.
383     @param next_hop_id - Used when the path resolves via an object that has a unique
384                          identifier.
385     @param dst_address_length - 
386     @param dst_address[16] - 
387     @param next_hop_address[16] - 
388     @param next_hop_n_out_labels - the number of labels in the label stack
389     @param next_hop_out_label_stack - the next-hop output label stack, outer most first
390     @param next_hop_via_label - The next-hop is a resolved via a local label
391 */
392 autoreply define ip_add_del_route
393 {
394   u32 client_index;
395   u32 context;
396   u32 next_hop_sw_if_index;
397   u32 table_id;
398   u32 classify_table_index;
399   u32 next_hop_table_id;
400   u32 next_hop_id;
401   u8 is_add;
402   u8 is_drop;
403   u8 is_unreach;
404   u8 is_prohibit;
405   u8 is_ipv6;
406   u8 is_local;
407   u8 is_classify;
408   u8 is_multipath;
409   u8 is_resolve_host;
410   u8 is_resolve_attached;
411   u8 is_l2_bridged;
412   u8 is_source_lookup;
413   u8 is_udp_encap;
414   u8 next_hop_weight;
415   u8 next_hop_preference;
416   u8 next_hop_proto;
417   u8 dst_address_length;
418   u8 dst_address[16];
419   u8 next_hop_address[16];
420   u8 next_hop_n_out_labels;
421   u32 next_hop_via_label;
422   u32 next_hop_out_label_stack[next_hop_n_out_labels];
423 };
424
425 /** \brief Add / del route request
426     @param client_index - opaque cookie to identify the sender
427     @param context - sender context, to match reply w/ request
428     @param sw_if_index - software index of the new vlan's parent interface
429     @param vrf_id - fib table /vrf associated with the route
430     @param next_hop_afi - Use dpo_proto_t
431     FIXME
432 */
433 autoreply define ip_mroute_add_del
434 {
435   u32 client_index;
436   u32 context;
437   u32 next_hop_sw_if_index;
438   u32 table_id;
439   u32 entry_flags;
440   u32 itf_flags;
441   u32 rpf_id;
442   u32 bier_imp;
443   u16 grp_address_length;
444   u8 next_hop_afi;
445   u8 is_add;
446   u8 is_ipv6;
447   u8 is_local;
448   u8 grp_address[16];
449   u8 src_address[16];
450 };
451
452 /** \brief Dump IP multicast fib table
453     @param client_index - opaque cookie to identify the sender
454 */
455 define ip_mfib_dump
456 {
457   u32 client_index;
458   u32 context;
459 };
460
461 /** \brief IP Multicast FIB table response
462     @param table_id - IP fib table id
463     @address_length - mask length
464     @grp_address - Group address/prefix
465     @src_address - Source address
466     @param count - the number of fib_path in path
467     @param path  - array of of fib_path structures
468 */
469 manual_endian manual_print define ip_mfib_details
470 {
471   u32 context;
472   u32 table_id;
473   u32 entry_flags;
474   u32 rpf_id;
475   u8  address_length;
476   u8  grp_address[4];
477   u8  src_address[4];
478   u32 count;
479   vl_api_fib_path_t path[count];
480 };
481
482 /** \brief Dump IP6 multicast fib table
483     @param client_index - opaque cookie to identify the sender
484 */
485 define ip6_mfib_dump
486 {
487   u32 client_index;
488   u32 context;
489 };
490
491 /** \brief IP6 Multicast FIB table response
492     @param table_id - IP fib table id
493     @address_length - mask length
494     @grp_address - Group address/prefix
495     @src_address - Source address
496     @param count - the number of fib_path in path
497     @param path  - array of of fib_path structures
498 */
499 manual_endian manual_print define ip6_mfib_details
500 {
501   u32 context;
502   u32 table_id;
503   u8  address_length;
504   u8  grp_address[16];
505   u8  src_address[16];
506   u32 count;
507   vl_api_fib_path_t path[count];
508 };
509
510 define ip_address_details
511 {
512   u32 client_index;
513   u32 context;
514   u8 ip[16];
515   u8 prefix_length;
516   u32 sw_if_index;
517   u8 is_ipv6;
518 };
519
520 define ip_address_dump
521 {
522   u32 client_index;
523   u32 context;
524   u32 sw_if_index;
525   u8 is_ipv6;
526 };
527
528 define ip_details
529 {
530   u32 sw_if_index;
531   u32 context;
532   u8 is_ipv6;
533 };
534
535 define ip_dump
536 {
537   u32 client_index;
538   u32 context;
539   u8 is_ipv6;
540 };
541
542 define mfib_signal_dump
543 {
544   u32 client_index;
545   u32 context;
546 };
547
548 define mfib_signal_details
549 {
550   u32 client_index;
551   u32 context;
552   u32 sw_if_index;
553   u32 table_id;
554   u16 grp_address_len;
555   u8 grp_address[16];
556   u8 src_address[16];
557   u16 ip_packet_len;
558   u8 ip_packet_data[256];
559 };
560
561 /** \brief IP punt policer
562     @param client_index - opaque cookie to identify the sender
563     @param context - sender context, to match reply w/ request
564     @param is_add - 1 to add neighbor, 0 to delete
565     @param is_ipv6 - 1 for IPv6 neighbor, 0 for IPv4
566     @param policer_index - Index of policer to use
567 */
568 autoreply define ip_punt_police
569 {
570   u32 client_index;
571   u32 context;
572   u32 policer_index;
573   u8 is_add;
574   u8 is_ip6;
575 };
576
577 /** \brief IP punt redirect
578     @param client_index - opaque cookie to identify the sender
579     @param context - sender context, to match reply w/ request
580     @param is_add - 1 to add neighbor, 0 to delete
581     @param is_ipv6 - 1 for IPv6 neighbor, 0 for IPv4
582     @param tx_sw_if_index - the TX interface to which traffic shoulde be
583                             redirected.
584     @param nh - The next-hop to redirect the traffic to.
585 */
586 autoreply define ip_punt_redirect
587 {
588   u32 client_index;
589   u32 context;
590   u32 rx_sw_if_index;
591   u32 tx_sw_if_index;
592   u8 is_add;
593   u8 is_ip6;
594   u8 nh[16];
595 };
596
597 autoreply define ip_container_proxy_add_del
598 {
599   u32 client_index;
600   u32 context;
601   u8 ip[16];
602   u8 is_ip4;
603   u8 plen;
604   u32 sw_if_index;
605   u8 is_add;
606 };
607
608 /** \brief Configure IP source and L4 port-range check
609     @param client_index - opaque cookie to identify the sender
610     @param context - sender context, to match reply w/ request
611     @param is_ip6 - 1 if source address type is IPv6
612     @param is_add - 1 if add, 0 if delete
613     @param mask_length - mask length for address entry
614     @param address - array of address bytes
615     @param number_of_ranges - length of low_port and high_port arrays (must match)
616     @param low_ports[32] - up to 32 low end of port range entries (must have corresponding high_ports entry)
617     @param high_ports[32] - up to 32 high end of port range entries (must have corresponding low_ports entry)
618     @param vrf_id - fib table/vrf id to associate the source and port-range check with
619     @note To specify a single port set low_port and high_port entry the same
620 */
621 autoreply define ip_source_and_port_range_check_add_del
622 {
623   u32 client_index;
624   u32 context;
625   u8 is_ipv6;
626   u8 is_add;
627   u8 mask_length;
628   u8 address[16];
629   u8 number_of_ranges;
630   u16 low_ports[32];
631   u16 high_ports[32];
632   u32 vrf_id;
633 };
634
635 /** \brief Set interface source and L4 port-range request
636     @param client_index - opaque cookie to identify the sender
637     @param context - sender context, to match reply w/ request
638     @param interface_id - interface index
639     @param tcp_vrf_id - VRF associated with source and TCP port-range check
640     @param udp_vrf_id - VRF associated with source and TCP port-range check
641 */
642 autoreply define ip_source_and_port_range_check_interface_add_del
643 {
644   u32 client_index;
645   u32 context;
646   u8 is_add;
647   u32 sw_if_index;
648   u32 tcp_in_vrf_id;
649   u32 tcp_out_vrf_id;
650   u32 udp_in_vrf_id;
651   u32 udp_out_vrf_id;
652 };
653
654 /** \brief Register for ip4 arp resolution events
655     @param client_index - opaque cookie to identify the sender
656     @param context - sender context, to match reply w/ request
657     @param enable_disable - 1 => register for events, 0 => cancel registration
658     @param pid - sender's pid
659     @param address - the exact ip4 address of interest
660 */
661 autoreply define want_ip4_arp_events
662 {
663   u32 client_index;
664   u32 context;
665   u8 enable_disable;
666   u32 pid;
667   u32 address;
668 };
669
670 /** \brief Tell client about an ip4 arp resolution event
671     @param client_index - opaque cookie to identify the sender
672     @param address - the exact ip4 address of interest
673     @param pid - client pid registered to receive notification
674     @param sw_if_index - interface which received ARP packet
675     @param new_mac - the new mac address 
676     @param mac_ip - 0: resolution event, 1: mac/ip binding in bd
677 */
678 define ip4_arp_event
679 {
680   u32 client_index;
681   u32 address;
682   u32 pid;
683   u32 sw_if_index;
684   u8 new_mac[6];
685   u8 mac_ip;
686 };
687
688 /** \brief Register for ip6 nd resolution events
689     @param client_index - opaque cookie to identify the sender
690     @param context - sender context, to match reply w/ request
691     @param enable_disable - 1 => register for events, 0 => cancel registration
692     @param pid - sender's pid
693     @param address - the exact ip6 address of interest
694 */
695 autoreply define want_ip6_nd_events
696 {
697   u32 client_index;
698   u32 context;
699   u8 enable_disable;
700   u32 pid;
701   u8 address[16];
702 };
703
704 /** \brief Tell client about an ip6 nd resolution or mac/ip event
705     @param client_index - opaque cookie to identify the sender
706     @param pid - client pid registered to receive notification
707     @param sw_if_index - interface which received ARP packet
708     @param address - the exact ip6 address of interest
709     @param new_mac - the new mac address 
710     @param mac_ip - 0: resolution event, 1: mac/ip binding in bd
711 */
712 define ip6_nd_event
713 {
714   u32 client_index;
715   u32 pid;
716   u32 sw_if_index;
717   u8 address[16];
718   u8 new_mac[6];
719   u8 mac_ip;
720 };
721
722 /** \brief Proxy ARP add / del request
723     @param client_index - opaque cookie to identify the sender
724     @param context - sender context, to match reply w/ request
725     @param vrf_id - VRF / Fib table ID
726     @param is_add - 1 if adding the Proxy ARP range, 0 if deleting
727     @param low_address[4] - Low address of the Proxy ARP range
728     @param hi_address[4] - High address of the Proxy ARP range
729 */
730 autoreply define proxy_arp_add_del
731 {
732   u32 client_index;
733   u32 context;
734   u32 vrf_id;
735   u8 is_add;
736   u8 low_address[4];
737   u8 hi_address[4];
738 };
739
740 /** \brief Proxy ARP add / del request
741     @param client_index - opaque cookie to identify the sender
742     @param context - sender context, to match reply w/ request
743     @param sw_if_index - Which interface to enable / disable Proxy Arp on
744     @param enable_disable - 1 to enable Proxy ARP on interface, 0 to disable
745 */
746 autoreply define proxy_arp_intfc_enable_disable
747 {
748   u32 client_index;
749   u32 context;
750   u32 sw_if_index;
751   /* 1 = on, 0 = off */
752   u8 enable_disable;
753 };
754
755 /** \brief Reset fib table request
756     @param client_index - opaque cookie to identify the sender
757     @param context - sender context, to match reply w/ request
758     @param vrf_id - vrf/table id of the fib table to reset
759     @param is_ipv6 - an ipv6 fib to reset if non-zero, else ipv4
760 */
761 autoreply define reset_fib
762 {
763   u32 client_index;
764   u32 context;
765   u32 vrf_id;
766   u8 is_ipv6;
767 };
768
769 /** \brief Set max allowed ARP or ip6 neighbor entries request
770     @param client_index - opaque cookie to identify the sender
771     @param context - sender context, to match reply w/ request
772     @param is_ipv6 - neighbor limit if non-zero, else ARP limit
773     @param arp_neighbor_limit - the new limit, defaults are ~ 50k
774 */
775 autoreply define set_arp_neighbor_limit
776 {
777   u32 client_index;
778   u32 context;
779   u8 is_ipv6;
780   u32 arp_neighbor_limit;
781 };
782
783 /** \brief IOAM enable : Enable in-band OAM
784     @param id - profile id
785     @param seqno - To enable Seqno Processing
786     @param analyse - Enabling analysis of iOAM at decap node 
787     @param pow_enable - Proof of Work enabled or not flag
788     @param trace_enable - iOAM Trace enabled or not flag
789 */
790 autoreply define ioam_enable
791 {
792   u32 client_index;
793   u32 context;
794   u16 id;
795   u8 seqno;
796   u8 analyse;
797   u8 pot_enable;
798   u8 trace_enable;
799   u32 node_id;
800 };
801
802 /** \brief iOAM disable
803     @param client_index - opaque cookie to identify the sender
804     @param context - sender context, to match reply w/ request
805     @param index - MAP Domain index
806 */
807 autoreply define ioam_disable
808 {
809   u32 client_index;
810   u32 context;
811   u16 id;
812 };
813
814 /*
815  * Local Variables:
816  * eval: (c-set-style "gnu")
817  * End:
818  */