2 * Copyright (c) 2015-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:
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 - LISP locator records
29 manual_endian manual_print define lisp_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 lisp_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 lisp locator
58 @param weight - weight of the lisp locator
60 autoreply define lisp_add_del_locator
64 bool is_add [default=true];
65 string locator_set_name[64];
66 vl_api_interface_index_t sw_if_index;
71 /** \brief add or delete lisp eid-table
72 @param client_index - opaque cookie to identify the sender
73 @param context - sender context, to match reply w/ request
74 @param is_add - add address if non-zero, else delete
75 @param eid - EID can be ip4, ip6 or mac
76 @param locator_set_name - name of locator_set to add/del eid-table
77 @param vni - virtual network instance
78 @param key - secret key
80 autoreply define lisp_add_del_local_eid
84 bool is_add [default=true];
86 string locator_set_name[64];
88 vl_api_hmac_key_t key;
91 /** \brief Add/delete map server
92 @param client_index - opaque cookie to identify the sender
93 @param context - sender context, to match reply w/ request
94 @param is_add - add address if non-zero; delete otherwise
95 @param ip_address - map server IP address
97 autoreply define lisp_add_del_map_server
101 bool is_add [default=true];
102 vl_api_address_t ip_address;
105 /** \brief add or delete map-resolver
106 @param client_index - opaque cookie to identify the sender
107 @param context - sender context, to match reply w/ request
108 @param is_add - add address if non-zero, else delete
109 @param ip_address - ip address
111 autoreply define lisp_add_del_map_resolver
115 bool is_add [default=true];
116 vl_api_address_t ip_address;
119 /** \brief enable or disable LISP feature
120 @param client_index - opaque cookie to identify the sender
121 @param context - sender context, to match reply w/ request
122 @param is_en - enable protocol if non-zero, else disable
124 autoreply define lisp_enable_disable
128 bool is_enable [default=true];
131 /** \brief configure or disable LISP PITR node
132 @param client_index - opaque cookie to identify the sender
133 @param context - sender context, to match reply w/ request
134 @param ls_name - locator set name
135 @param is_add - add locator set if non-zero, else disable pitr
137 autoreply define lisp_pitr_set_locator_set
141 bool is_add [default=true];
145 /** \brief configure or disable use of PETR
146 @param client_index - opaque cookie to identify the sender
147 @param context - sender context, to match reply w/ request
148 @param ip_address - PETR IP address
149 @param is_add - add locator set if non-zero, else disable pitr
151 autoreply define lisp_use_petr
155 vl_api_address_t ip_address;
156 bool is_add [default=true];
159 /** \brief Request for LISP PETR status
160 @param client_index - opaque cookie to identify the sender
161 @param context - sender context, to match reply w/ request
163 define show_lisp_use_petr
169 /** \brief LISP PETR status, enable or disable
170 @param context - sender context, to match reply w/ request
171 @param status - LISP PETR enable if non-zero, else disable
172 @param address - PETR IP address
174 define show_lisp_use_petr_reply
178 bool is_petr_enable [default=true];
179 vl_api_address_t ip_address;
182 /** \brief Get state of LISP RLOC probing
183 @param client_index - opaque cookie to identify the sender
184 @param context - sender context, to match reply w/ request
186 define show_lisp_rloc_probe_state
192 /** \brief Reply for show_lisp_rloc_probe_state
193 @param context - returned sender context, to match reply w/ request
194 @param retval - return code
195 @param is_enabled - state of RLOC probing
197 define show_lisp_rloc_probe_state_reply
201 bool is_enabled [default=true];
204 /** \brief enable/disable LISP RLOC probing
205 @param client_index - opaque cookie to identify the sender
206 @param context - sender context, to match reply w/ request
207 @param is_enable - enable if non-zero; disable otherwise
209 autoreply define lisp_rloc_probe_enable_disable
213 bool is_enable [default=true];
216 /** \brief enable/disable LISP map-register
217 @param client_index - opaque cookie to identify the sender
218 @param context - sender context, to match reply w/ request
219 @param is_enable - enable if non-zero; disable otherwise
221 autoreply define lisp_map_register_enable_disable
225 bool is_enable [default=true];
228 /** \brief Get state of LISP map-register
229 @param client_index - opaque cookie to identify the sender
230 @param context - sender context, to match reply w/ request
232 define show_lisp_map_register_state
238 /** \brief Reply for show_lisp_map_register_state
239 @param context - returned sender context, to match reply w/ request
240 @param retval - return code
242 define show_lisp_map_register_state_reply
246 bool is_enabled [default=true];
249 /** \brief set LISP map-request mode. Based on configuration VPP will send
250 src/dest or just normal destination map requests.
251 @param client_index - opaque cookie to identify the sender
252 @param context - sender context, to match reply w/ request
253 @param is_src_dst - if non-zero source/destination else destination only
255 autoreply define lisp_map_request_mode
262 /** \brief Request for LISP map-request mode
263 @param client_index - opaque cookie to identify the sender
264 @param context - sender context, to match reply w/ request
266 define show_lisp_map_request_mode
272 /** \brief Reply for show_lisp_map_request_mode
273 @param context - returned sender context, to match reply w/ request
274 @param retval - return code
275 @param is_src_dst - if non-zero source/destination else destination only
277 define show_lisp_map_request_mode_reply
284 /** \brief add or delete remote static mapping
285 @param client_index - opaque cookie to identify the sender
286 @param context - sender context, to match reply w/ request
287 @param is_add - add address if non-zero, else delete
288 @param is_src_dst - flag indicating src/dst based routing policy
289 @param del_all - if set, delete all remote mappings
290 @param vni - virtual network instance
291 @param action - negative map-reply action
292 @param deid - dst EID
293 @param seid - src EID, valid only if is_src_dst is enabled
294 @param rloc_num - number of remote locators
295 @param rlocs - remote locator records
297 autoreply manual_print manual_endian define lisp_add_del_remote_mapping
301 bool is_add [default=true];
309 vl_api_remote_locator_t rlocs[rloc_num];
312 /** \brief add or delete LISP adjacency adjacency
313 @param client_index - opaque cookie to identify the sender
314 @param context - sender context, to match reply w/ request
315 @param is_add - add address if non-zero, else delete
316 @param vni - virtual network instance
317 @param reid - remote EID
318 @param leid - local EID
320 autoreply define lisp_add_del_adjacency
324 bool is_add [default=true];
330 /** \brief add or delete map request itr rlocs
331 @param client_index - opaque cookie to identify the sender
332 @param context - sender context, to match reply w/ request
333 @param is_add - add address if non-zero, else delete
334 @param locator_set_name - locator set name
336 autoreply define lisp_add_del_map_request_itr_rlocs
340 bool is_add [default=true];
341 string locator_set_name[64];
344 /** \brief Reply for lisp_add_del_map_request_itr_rlocs
345 @param context - returned sender context, to match reply w/ request
346 @param retval - return code
349 /** \brief map/unmap vni/bd_index to vrf
350 @param client_index - opaque cookie to identify the sender
351 @param context - sender context, to match reply w/ request
352 @param is_add - add or delete mapping
353 @param dp_table - virtual network id/bridge domain index
356 autoreply define lisp_eid_table_add_del_map
360 bool is_add [default=true];
366 /** \brief Request for map lisp locator status
367 @param client_index - opaque cookie to identify the sender
368 @param context - sender context, to match reply w/ request
369 @param locator_set_index - index of locator_set
370 @param ls_name - locator set name
371 @param is_index_set - flag indicating whether ls_name or ls_index is set
373 define lisp_locator_dump
382 /** \brief LISP locator_set status
383 @param local - if is set, then locator is local
384 @param locator_set_name - name of the locator_set
385 @param sw_if_index - sw_if_index of the locator
386 @param ip_address - ip address
387 @param priority - locator priority
388 @param weight - locator weight
390 define lisp_locator_details
394 vl_api_interface_index_t sw_if_index;
395 vl_api_address_t ip_address;
400 /** \brief LISP locator_set status
401 @param context - sender context, to match reply w/ request
402 @param ls_index - locator set index
403 @param ls_name - name of the locator set
405 define lisp_locator_set_details
412 enum lisp_locator_set_filter : u8 {
413 LISP_LOCATOR_SET_FILTER_API_ALL = 0,
414 LISP_LOCATOR_SET_FILTER_API_LOCAL = 1,
415 LISP_LOCATOR_SET_FILTER_API_REMOTE = 2,
418 /** \brief Request for locator_set summary status
419 @param client_index - opaque cookie to identify the sender
420 @param context - sender context, to match reply w/ request
421 @param filter - filter type
423 define lisp_locator_set_dump
427 vl_api_lisp_locator_set_filter_t filter;
430 /** \brief Dump lisp eid-table
431 @param client_index - opaque cookie to identify the sender
432 @param context - sender context, to match reply w/ request
433 @param locator_set_index - index of locator_set, if ~0 then the mapping
435 @param action - negative map request action
436 @param is_local - local if non-zero, else remote
441 @param is_src_dst - EID is type of source/destination
442 @param eid - EID can be ip4, ip6 or mac
443 @param eid_prefix_len - prefix length
444 @param seid - source EID can be ip4, ip6 or mac
445 @param seid_prefix_len - source prefix length
446 @param vni - virtual network instance
447 @param ttl - time to live
448 @param authoritative - authoritative
453 @param key - secret key
456 define lisp_eid_table_details
459 u32 locator_set_index;
468 vl_api_hmac_key_t key;
471 /** \brief Request for eid table summary status
472 @param client_index - opaque cookie to identify the sender
473 @param context - sender context, to match reply w/ request
474 @param eid_set - if non-zero request info about specific mapping
475 @param vni - virtual network instance; valid only if eid_set != 0
476 @param prefix_length - prefix length if EID is IP address;
477 valid only if eid_set != 0
478 @param eid_type - EID type; valid only if eid_set != 0
482 2: EID is ethernet address
483 @param eid - endpoint identifier
484 @param filter - filter type;
490 define lisp_eid_table_dump
498 vl_api_lisp_locator_set_filter_t filter;
501 /** \brief LISP adjacency
506 @param reid - remote EID
507 @param leid - local EID
508 @param reid_prefix_len - remote EID IP prefix length
509 @param leid_prefix_len - local EID IP prefix length
511 typedef lisp_adjacency
517 /** \brief LISP adjacency reply
518 @param count - number of adjacencies
519 @param adjacencies - array of adjacencies
521 manual_endian manual_print define lisp_adjacencies_get_reply
526 vl_api_lisp_adjacency_t adjacencies[count];
529 /** \brief Request for LISP adjacencies
530 @param client_index - opaque cookie to identify the sender
531 @param context - sender context, to match reply w/ request
532 @param vni - filter adjacencies by VNI
534 define lisp_adjacencies_get
541 /** \brief Shows relationship between vni and vrf/bd
542 @param dp_table - VRF index or bridge domain index
543 @param vni - virtual network instance
545 define lisp_eid_table_map_details
552 /** \brief Request for lisp_eid_table_map_details
553 @param client_index - opaque cookie to identify the sender
554 @param context - sender context, to match reply w/ request
555 @param is_l2 - if set dump vni/bd mappings else vni/vrf
557 define lisp_eid_table_map_dump
564 /** \brief Dumps all VNIs used in mappings
565 @param client_index - opaque cookie to identify the sender
566 @param context - sender context, to match reply w/ request
568 define lisp_eid_table_vni_dump
574 /** \brief reply to lisp_eid_table_vni_dump
575 @param context - sender context, to match reply w/ request
576 @param vni - virtual network instance
578 define lisp_eid_table_vni_details
584 /** \brief LISP map resolver status
585 @param ip_address - array of address bytes
587 define lisp_map_resolver_details
590 vl_api_address_t ip_address;
593 /** \brief Request for map resolver summary status
594 @param client_index - opaque cookie to identify the sender
595 @param context - sender context, to match reply w/ request
597 define lisp_map_resolver_dump
603 /** \brief LISP map server details
604 @param ip_address - array of address bytes
606 define lisp_map_server_details
609 vl_api_address_t ip_address;
612 /** \brief Request for map server summary status
613 @param client_index - opaque cookie to identify the sender
614 @param context - sender context, to match reply w/ request
616 define lisp_map_server_dump
622 /** \brief Request for lisp-gpe protocol status
623 @param client_index - opaque cookie to identify the sender
624 @param context - sender context, to match reply w/ request
626 define show_lisp_status
632 /** \brief Status of lisp, enable or disable
633 @param context - sender context, to match reply w/ request
634 @param feature_status - lisp enable if non-zero, else disable
635 @param gpe_status - lisp enable if non-zero, else disable
637 define show_lisp_status_reply
641 bool is_lisp_enabled;
645 /** \brief Get LISP map request itr rlocs status
646 @param context - sender context, to match reply w/ request
647 @param locator_set_name - name of the locator_set
649 define lisp_get_map_request_itr_rlocs
655 /** \brief Request for map request itr rlocs summary status
657 define lisp_get_map_request_itr_rlocs_reply
661 string locator_set_name[64];
664 /** \brief Request for lisp pitr status
665 @param client_index - opaque cookie to identify the sender
666 @param context - sender context, to match reply w/ request
668 define show_lisp_pitr
674 /** \brief Status of lisp pitr, enable or disable
675 @param context - sender context, to match reply w/ request
676 @param status - lisp pitr enable if non-zero, else disable
677 @param locator_set_name - name of the locator_set
679 define show_lisp_pitr_reply
684 string locator_set_name[64];
689 * eval: (c-set-style "gnu")