2 * Copyright (c) 2015-2017 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:
7 * http://www.apache.org/licenses/LICENSE-2.0
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.
16 option version = "2.0.0";
18 import "vnet/interface_types.api";
19 import "vnet/lisp-cp/lisp_types.api";
21 /** \brief add or delete locator_set
22 @param client_index - opaque cookie to identify the sender
23 @param context - sender context, to match reply w/ request
24 @param is_add - add address if non-zero, else delete
25 @param locator_set_name - locator name
26 @param locator_num - number of locators
27 @param locators - locator records
29 manual_endian manual_print define one_add_del_locator_set
33 bool is_add [default=true];
34 string locator_set_name[64];
36 vl_api_local_locator_t locators[locator_num];
39 /** \brief Reply for locator_set add/del
40 @param context - returned sender context, to match reply w/ request
41 @param retval - return code
42 @param ls_index - locator set index
44 define one_add_del_locator_set_reply
51 /** \brief add or delete locator for locator set
52 @param client_index - opaque cookie to identify the sender
53 @param context - sender context, to match reply w/ request
54 @param is_add - add address if non-zero, else delete
55 @param locator_set_name - name of locator_set to add/del locator
56 @param sw_if_index - index of the interface
57 @param priority - priority of the locator
58 @param weight - weight of the locator
60 autoreply define one_add_del_locator
64 bool is_add [default=true];
65 string locator_set_name[64];
66 vl_api_interface_index_t sw_if_index;
72 /** \brief add or delete ONE eid-table
73 @param client_index - opaque cookie to identify the sender
74 @param context - sender context, to match reply w/ request
75 @param is_add - add address if non-zero, else delete
80 @param eid - EID can be ip4, ip6 or mac
81 @param prefix_len - prefix len
82 @param locator_set_name - name of locator_set to add/del eid-table
83 @param vni - virtual network instance
84 @param key - secret key
86 autoreply define one_add_del_local_eid
90 bool is_add [default=true];
92 string locator_set_name[64];
94 vl_api_hmac_key_t key;
97 /** \brief Set TTL for map register messages
98 @param client_index - opaque cookie to identify the sender
99 @param context - sender context, to match reply w/ request
100 @param ttl - time to live
102 autoreply define one_map_register_set_ttl
109 /** \brief Get TTL for map register messages
110 @param client_index - opaque cookie to identify the sender
111 @param context - sender context, to match reply w/ request
113 define show_one_map_register_ttl
119 /** \brief Contains current TTL for map register messages
120 @param client_index - opaque cookie to identify the sender
121 @param retval - return code
122 @param ttl - time to live
124 define show_one_map_register_ttl_reply
131 /** \brief Add/delete map server
132 @param client_index - opaque cookie to identify the sender
133 @param context - sender context, to match reply w/ request
134 @param is_add - add address if non-zero; delete otherwise
135 @param is_ipv6 - if non-zero the address is ipv6, else ipv4
136 @param ip_address - map server IP address
138 autoreply define one_add_del_map_server
142 bool is_add [default=true];
143 vl_api_address_t ip_address;
146 /** \brief add or delete map-resolver
147 @param client_index - opaque cookie to identify the sender
148 @param context - sender context, to match reply w/ request
149 @param is_add - add address if non-zero, else delete
150 @param is_ipv6 - if non-zero the address is ipv6, else ipv4
151 @param ip_address - array of address bytes
153 autoreply define one_add_del_map_resolver
157 bool is_add [default=true];
158 vl_api_address_t ip_address;
161 /** \brief enable or disable ONE feature
162 @param client_index - opaque cookie to identify the sender
163 @param context - sender context, to match reply w/ request
164 @param is_enable - enable protocol if non-zero, else disable
166 autoreply define one_enable_disable
170 bool is_enable [default=true];
173 /** \brief configure or delete ONE NSH mapping
174 @param client_index - opaque cookie to identify the sender
175 @param context - sender context, to match reply w/ request
176 @param ls_name - locator set name
177 @param is_add - add locator set if non-zero; delete otherwise
179 autoreply define one_nsh_set_locator_set
183 bool is_add [default=true];
187 /** \brief configure or disable ONE PITR node
188 @param client_index - opaque cookie to identify the sender
189 @param context - sender context, to match reply w/ request
190 @param ls_name - locator set name
191 @param is_add - add locator set if non-zero, else disable pitr
193 autoreply define one_pitr_set_locator_set
197 bool is_add [default=true];
201 /** \brief configure or disable use of PETR
202 @param client_index - opaque cookie to identify the sender
203 @param context - sender context, to match reply w/ request
204 @param is_ip4 - Address is IPv4 if set and IPv6 otherwise
205 @param address - PETR IP address
206 @param is_add - add locator set if non-zero, else disable PETR
208 autoreply define one_use_petr
212 vl_api_address_t ip_address;
213 bool is_add [default=true];
216 /** \brief Request for ONE PETR status
217 @param client_index - opaque cookie to identify the sender
218 @param context - sender context, to match reply w/ request
220 define show_one_use_petr
226 /** \brief ONE PETR status, enable or disable
227 @param context - sender context, to match reply w/ request
228 @param enable - ONE PETR enable if non-zero, else disable
229 @param is_ip4 - Address is IPv4 if non-zero, else IPv6
230 @param address - PETR IP address
232 define show_one_use_petr_reply
237 vl_api_address_t ip_address;
240 /** \brief Get state of ONE RLOC probing
241 @param client_index - opaque cookie to identify the sender
242 @param context - sender context, to match reply w/ request
244 define show_one_rloc_probe_state
250 /** \brief Reply for show_one_rloc_probe_state
251 @param context - returned sender context, to match reply w/ request
252 @param retval - return code
253 @param is_enable - state of RLOC probing
255 define show_one_rloc_probe_state_reply
262 /** \brief enable/disable ONE RLOC probing
263 @param client_index - opaque cookie to identify the sender
264 @param context - sender context, to match reply w/ request
265 @param is_enable - enable if non-zero; disable otherwise
267 autoreply define one_rloc_probe_enable_disable
271 bool is_enable [default=true];
274 /** \brief enable/disable ONE map-register
275 @param client_index - opaque cookie to identify the sender
276 @param context - sender context, to match reply w/ request
277 @param is_enable - enable if non-zero; disable otherwise
279 autoreply define one_map_register_enable_disable
283 bool is_enable [default=true];
286 /** \brief Get state of ONE map-register
287 @param client_index - opaque cookie to identify the sender
288 @param context - sender context, to match reply w/ request
290 define show_one_map_register_state
296 /** \brief Reply for show_one_map_register_state
297 @param context - returned sender context, to match reply w/ request
298 @param retval - return code
300 define show_one_map_register_state_reply
309 ONE_MAP_MODE_API_DST_ONLY = 0,
310 ONE_MAP_MODE_API_SRC_DST = 1,
313 /** \brief set ONE map-request mode. Based on configuration VPP will send
314 src/dest or just normal destination map requests.
315 @param client_index - opaque cookie to identify the sender
316 @param context - sender context, to match reply w/ request
317 @param mode - new map-request mode. Supported values are:
319 1 - source/destination
321 autoreply define one_map_request_mode
325 vl_api_one_map_mode_t mode;
328 /** \brief Request for ONE map-request mode
329 @param client_index - opaque cookie to identify the sender
330 @param context - sender context, to match reply w/ request
332 define show_one_map_request_mode
338 /** \brief Reply for show_one_map_request_mode
339 @param context - returned sender context, to match reply w/ request
340 @param retval - return code
341 @param mode - map-request mode
343 define show_one_map_request_mode_reply
347 vl_api_one_map_mode_t mode;
350 /** \brief add or delete remote static mapping
351 @param client_index - opaque cookie to identify the sender
352 @param context - sender context, to match reply w/ request
353 @param is_add - add address if non-zero, else delete
354 @param is_src_dst - flag indicating src/dst based routing policy
355 @param del_all - if set, delete all remote mappings
356 @param vni - virtual network instance
357 @param action - negative map-reply action
358 @param deid - dst EID
359 @param seid - src EID, valid only if is_src_dst is enabled
360 @param rloc_num - number of remote locators
361 @param rlocs - remote locator records
363 autoreply manual_print manual_endian define one_add_del_remote_mapping
367 bool is_add [default=true];
375 vl_api_remote_locator_t rlocs[rloc_num];
378 typedef one_l2_arp_entry
380 vl_api_mac_address_t mac;
381 vl_api_ip4_address_t ip4;
384 /** \brief Add/delete L2 ARP entries
385 @param client_index - opaque cookie to identify the sender
386 @param context - sender context, to match reply w/ request
387 @param is_add - add if non-zero; delete otherwise
388 @param bd - bridge domain
389 @param entry - ARP entry
391 autoreply define one_add_del_l2_arp_entry
395 bool is_add [default=true];
397 vl_api_one_l2_arp_entry_t entry;
400 /** \brief Request for L2 ARP entries from specified bridge domain
401 @param client_index - opaque cookie to identify the sender
402 @param context - sender context, to match reply w/ request
403 @param bd - bridge domain
405 define one_l2_arp_entries_get
412 /** \brief Reply with L2 ARP entries from specified bridge domain
413 @param context - sender context, to match reply w/ request
414 @param retval - error code
415 @param count - number of elements in the list
416 @param vl_api_one_arp_entry_t - list of entries
418 manual_print manual_endian define one_l2_arp_entries_get_reply
423 vl_api_one_l2_arp_entry_t entries[count];
426 typedef one_ndp_entry
428 vl_api_mac_address_t mac;
429 vl_api_ip6_address_t ip6;
433 autoreply define one_add_del_ndp_entry
437 bool is_add [default=true];
439 vl_api_one_ndp_entry_t entry;
442 define one_ndp_entries_get
449 manual_print manual_endian define one_ndp_entries_get_reply
454 vl_api_one_ndp_entry_t entries[count];
457 /** \brief Set ONE transport protocol
458 @param client_index - opaque cookie to identify the sender
459 @param context - sender context, to match reply w/ request
460 @param protocol - supported values:
461 1: UDP based LISP (default)
464 autoreply define one_set_transport_protocol
471 define one_get_transport_protocol
477 define one_get_transport_protocol_reply
484 /** \brief Request for list of bridge domains used by neighbor discovery
485 @param client_index - opaque cookie to identify the sender
486 @param context - sender context, to match reply w/ request
488 define one_ndp_bd_get
494 /** \brief Reply with list of bridge domains used by neighbor discovery
495 @param context - sender context, to match reply w/ request
496 @param count - number of elements in the list
497 @param bridge_domains - list of BDs
499 manual_print manual_endian define one_ndp_bd_get_reply
504 u32 bridge_domains[count];
507 /** \brief Request for list of bridge domains used by L2 ARP table
508 @param client_index - opaque cookie to identify the sender
509 @param context - sender context, to match reply w/ request
511 define one_l2_arp_bd_get
517 /** \brief Reply with list of bridge domains used by L2 ARP table
518 @param context - sender context, to match reply w/ request
519 @param count - number of elements in the list
520 @param bridge_domains - list of BDs
522 manual_print manual_endian define one_l2_arp_bd_get_reply
527 u32 bridge_domains[count];
530 /** \brief add or delete ONE adjacency adjacency
531 @param client_index - opaque cookie to identify the sender
532 @param context - sender context, to match reply w/ request
533 @param is_add - add address if non-zero, else delete
534 @param vni - virtual network instance
535 @param reid - remote EID
536 @param leid - local EID
538 autoreply define one_add_del_adjacency
548 /** \brief add or delete map request itr rlocs
549 @param client_index - opaque cookie to identify the sender
550 @param context - sender context, to match reply w/ request
551 @param is_add - add address if non-zero, else delete
552 @param locator_set_name - locator set name
554 autoreply define one_add_del_map_request_itr_rlocs
558 bool is_add [default=true];
559 string locator_set_name[64];
562 /** \brief map/unmap vni/bd_index to vrf
563 @param client_index - opaque cookie to identify the sender
564 @param context - sender context, to match reply w/ request
565 @param is_add - add or delete mapping
566 @param dp_table - virtual network id/bridge domain index
570 autoreply define one_eid_table_add_del_map
574 bool is_add [default=true];
580 /** \brief Request for map one locator status
581 @param client_index - opaque cookie to identify the sender
582 @param context - sender context, to match reply w/ request
583 @param locator_set_index - index of locator_set
584 @param ls_name - locator set name
585 @param is_index_set - flag indicating whether ls_name or ls_index is set
587 define one_locator_dump
596 /** \brief ONE locator_set status
597 @param local - if is set, then locator is local
598 @param locator_set_name - name of the locator_set
599 @param sw_if_index - sw_if_index of the locator
600 @param priority - locator priority
601 @param weight - locator weight
603 define one_locator_details
607 vl_api_interface_index_t sw_if_index;
608 vl_api_address_t ip_address;
613 /** \brief ONE locator_set status
614 @param context - sender context, to match reply w/ request
615 @param ls_index - locator set index
616 @param ls_name - name of the locator set
618 define one_locator_set_details
627 ONE_FILTER_API_ALL = 0,
628 ONE_FILTER_API_LOCAL = 1,
629 ONE_FILTER_API_REMOTE = 2,
632 /** \brief Request for locator_set summary status
633 @param client_index - opaque cookie to identify the sender
634 @param context - sender context, to match reply w/ request
635 @param filter - filter type
638 1: local locator sets
639 2: remote locator sets
641 define one_locator_set_dump
645 vl_api_one_filter_t filter;
648 /** \brief Dump ONE eid-table
649 @param client_index - opaque cookie to identify the sender
650 @param context - sender context, to match reply w/ request
651 @param locator_set_index - index of locator_set, if ~0 then the mapping
653 @param action - negative map request action
654 @param is_local - local if non-zero, else remote
655 @param is_src_dst - EID is type of source/destination
656 @param deid - EID can be ip4, ip6 or mac
657 @param seid - source EID can be ip4, ip6 or mac
658 @param vni - virtual network instance
659 @param ttl - time to live
660 @param authoritative - authoritative
661 @param key - secret key
664 // FIXME: action, authoritative
666 define one_eid_table_details
669 u32 locator_set_index;
678 vl_api_hmac_key_t key;
681 /** \brief Request for eid table summary status
682 @param client_index - opaque cookie to identify the sender
683 @param context - sender context, to match reply w/ request
684 @param eid_set - if non-zero request info about specific mapping
685 @param vni - virtual network instance; valid only if eid_set != 0
686 @param eid - endpoint identifier
687 @param filter - filter type;
693 define one_eid_table_dump
700 vl_api_one_filter_t filter;
703 /** \brief ONE adjacency
708 @param reid - remote EID
709 @param leid - local EID
710 @param reid_prefix_len - remote EID IP prefix length
711 @param leid_prefix_len - local EID IP prefix length
713 typedef one_adjacency
719 /** \brief ONE adjacency reply
720 @param count - number of adjacencies
721 @param adjacencies - array of adjacencies
723 manual_endian manual_print define one_adjacencies_get_reply
728 vl_api_one_adjacency_t adjacencies[count];
731 /** \brief Request for ONE adjacencies
732 @param client_index - opaque cookie to identify the sender
733 @param context - sender context, to match reply w/ request
734 @param vni - filter adjacencies by VNI
736 define one_adjacencies_get
743 /** \brief Shows relationship between vni and vrf/bd
744 @param dp_table - VRF index or bridge domain index
745 @param vni - virtual network instance
747 define one_eid_table_map_details
754 /** \brief Request for one_eid_table_map_details
755 @param client_index - opaque cookie to identify the sender
756 @param context - sender context, to match reply w/ request
757 @param is_l2 - if set dump vni/bd mappings else vni/vrf
759 define one_eid_table_map_dump
766 /** \brief Dumps all VNIs used in mappings
767 @param client_index - opaque cookie to identify the sender
768 @param context - sender context, to match reply w/ request
770 define one_eid_table_vni_dump
776 /** \brief reply to one_eid_table_vni_dump
777 @param context - sender context, to match reply w/ request
778 @param vni - virtual network instance
780 define one_eid_table_vni_details
786 /** \brief ONE map resolver status
787 @param is_ipv6 - if non-zero the address is ipv6, else ipv4
788 @param ip_address - array of address bytes
790 define one_map_resolver_details
793 vl_api_address_t ip_address;
796 /** \brief Request for map resolver summary status
797 @param client_index - opaque cookie to identify the sender
798 @param context - sender context, to match reply w/ request
800 define one_map_resolver_dump
806 /** \brief ONE map server details
807 @param is_ipv6 - if non-zero the address is ipv6, else ipv4
808 @param ip_address - array of address bytes
810 define one_map_server_details
813 vl_api_address_t ip_address;
816 /** \brief Request for map server summary status
817 @param client_index - opaque cookie to identify the sender
818 @param context - sender context, to match reply w/ request
820 define one_map_server_dump
826 /** \brief Request for ONE status
827 @param client_index - opaque cookie to identify the sender
828 @param context - sender context, to match reply w/ request
830 define show_one_status
836 /** \brief ONE status
837 @param context - sender context, to match reply w/ request
838 @param feature_status - enabled if non-zero, else disabled
839 @param gpe_status - enabled if non-zero, else disabled
841 define show_one_status_reply
849 /** \brief Get ONE map request itr rlocs status
850 @param context - sender context, to match reply w/ request
851 @param locator_set_name - name of the locator_set
853 define one_get_map_request_itr_rlocs
859 /** \brief Request for map request itr rlocs summary status
861 define one_get_map_request_itr_rlocs_reply
865 string locator_set_name[64];
868 /** \brief Request for ONE NSH mapping
869 @param client_index - opaque cookie to identify the sender
870 @param context - sender context, to match reply w/ request
872 define show_one_nsh_mapping
878 /** \brief Reply for ONE NSH mapping
879 @param context - sender context, to match reply w/ request
880 @param is_set - is ONE NSH mapping set
881 @param locator_set_name - name of the locator_set if NSH mapping is set
883 define show_one_nsh_mapping_reply
888 string locator_set_name[64];
891 /** \brief Request for ONE PITR status
892 @param client_index - opaque cookie to identify the sender
893 @param context - sender context, to match reply w/ request
901 /** \brief Status of ONE PITR, enable or disable
902 @param context - sender context, to match reply w/ request
903 @param status - ONE PITR enable if non-zero, else disable
904 @param locator_set_name - name of the locator_set
906 define show_one_pitr_reply
911 string locator_set_name[64];
914 define one_stats_dump
920 define one_stats_details
926 vl_api_address_t rloc;
927 vl_api_address_t lloc;
933 autoreply define one_stats_flush
939 autoreply define one_stats_enable_disable
943 bool is_enable [default=true];
946 define show_one_stats_enable_disable
952 define show_one_stats_enable_disable_reply
959 autoreply define one_map_register_fallback_threshold
966 define show_one_map_register_fallback_threshold
972 define show_one_map_register_fallback_threshold_reply
979 autoreply define one_enable_disable_xtr_mode
983 bool is_enable [default=true];
986 define one_show_xtr_mode
992 define one_show_xtr_mode_reply
999 autoreply define one_enable_disable_petr_mode
1003 bool is_enable [default=true];
1006 define one_show_petr_mode
1012 define one_show_petr_mode_reply
1019 autoreply define one_enable_disable_pitr_mode
1023 bool is_enable [default=true];
1026 define one_show_pitr_mode
1032 define one_show_pitr_mode_reply
1041 * eval: (c-set-style "gnu")