FD.io VPP  v20.05-21-gb1500e9ff
Vector Packet Processing
lisp.api
Go to the documentation of this file.
1 /*
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:
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 option version = "2.0.0";
17 
18 import "vnet/interface_types.api";
19 import "vnet/lisp-cp/lisp_types.api";
20 
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
28 */
29 manual_endian manual_print define lisp_add_del_locator_set
30 {
33  bool is_add [default=true];
34  string locator_set_name[64];
36  vl_api_local_locator_t locators[locator_num];
37 };
38 
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
43 */
44 define lisp_add_del_locator_set_reply
45 {
49 };
50 
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
59 */
60 autoreply define lisp_add_del_locator
61 {
64  bool is_add [default=true];
65  string locator_set_name[64];
66  vl_api_interface_index_t sw_if_index;
69 };
70 
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 - endpoint identifier
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
79 */
80 autoreply define lisp_add_del_local_eid
81 {
84  bool is_add [default=true];
85  vl_api_eid_t eid;
86  string locator_set_name[64];
88  vl_api_hmac_key_t key;
89 };
90 
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
96 */
97 autoreply define lisp_add_del_map_server
98 {
101  bool is_add [default=true];
102  vl_api_address_t ip_address;
103 };
104 
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
110 */
111 autoreply define lisp_add_del_map_resolver
112 {
115  bool is_add [default=true];
116  vl_api_address_t ip_address;
117 };
118 
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
123 */
124 autoreply define lisp_enable_disable
125 {
128  bool is_enable [default=true];
129 };
130 
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
136 */
137 autoreply define lisp_pitr_set_locator_set
138 {
141  bool is_add [default=true];
142  string ls_name[64];
143 };
144 
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
150 */
151 autoreply define lisp_use_petr
152 {
155  vl_api_address_t ip_address;
156  bool is_add [default=true];
157 };
158 
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
162 */
163 define show_lisp_use_petr
164 {
167 };
168 
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
173 */
174 define show_lisp_use_petr_reply
175 {
178  bool is_petr_enable [default=true];
179  vl_api_address_t ip_address;
180 };
181 
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
185 */
186 define show_lisp_rloc_probe_state
187 {
190 };
191 
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
196 */
197 define show_lisp_rloc_probe_state_reply
198 {
201  bool is_enabled [default=true];
202 };
203 
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
208 */
209 autoreply define lisp_rloc_probe_enable_disable
210 {
213  bool is_enable [default=true];
214 };
215 
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
220 */
221 autoreply define lisp_map_register_enable_disable
222 {
225  bool is_enable [default=true];
226 };
227 
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
231 */
232 define show_lisp_map_register_state
233 {
236 };
237 
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
241 */
242 define show_lisp_map_register_state_reply
243 {
246  bool is_enabled [default=true];
247 };
248 
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
254 */
255 autoreply define lisp_map_request_mode
256 {
260 };
261 
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
265 */
266 define show_lisp_map_request_mode
267 {
270 };
271 
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
276 */
277 define show_lisp_map_request_mode_reply
278 {
282 };
283 
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
296 */
297 autoreply manual_print manual_endian define lisp_add_del_remote_mapping
298 {
301  bool is_add [default=true];
303  bool del_all;
306  vl_api_eid_t deid;
307  vl_api_eid_t seid;
309  vl_api_remote_locator_t rlocs[rloc_num];
310 };
311 
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
319 */
320 autoreply define lisp_add_del_adjacency
321 {
324  bool is_add [default=true];
326  vl_api_eid_t reid;
327  vl_api_eid_t leid;
328 };
329 
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
335 */
336 autoreply define lisp_add_del_map_request_itr_rlocs
337 {
340  bool is_add [default=true];
341  string locator_set_name[64];
342 };
343 
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
347 */
348 
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
354  @param vrf - vrf
355 */
356 autoreply define lisp_eid_table_add_del_map
357 {
360  bool is_add [default=true];
363  bool is_l2;
364 };
365 
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
372  */
373 define lisp_locator_dump
374 {
378  string ls_name[64];
380 };
381 
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
389  */
390 define lisp_locator_details
391 {
394  vl_api_interface_index_t sw_if_index;
395  vl_api_address_t ip_address;
398 };
399 
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
404  */
405 define lisp_locator_set_details
406 {
409  string ls_name[64];
410 };
411 
416 };
417 
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
422  */
423 define lisp_locator_set_dump
424 {
427  vl_api_lisp_locator_set_filter_t filter;
428 };
429 
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
434  is negative
435  @param action - negative map request action
436  @param is_local - local if non-zero, else remote
437  @param is_src_dst - EID is type of source/destination
438  @param deid - dst EID
439  @param seid - src EID
440  @param vni - virtual network instance
441  @param ttl - time to live
442  @param authoritative - authoritative
443  @param key_id
444  HMAC_NO_KEY 0
445  HMAC_SHA_1_96 1
446  HMAC_SHA_256_128 2
447  @param key - secret key
448 */
449 
450 define lisp_eid_table_details
451 {
455  bool is_local;
458  vl_api_eid_t deid;
459  vl_api_eid_t seid;
462  vl_api_hmac_key_t key;
463 };
464 
465 /** \brief Request for eid table summary status
466  @param client_index - opaque cookie to identify the sender
467  @param context - sender context, to match reply w/ request
468  @param eid_set - if non-zero request info about specific mapping
469  @param vni - virtual network instance; valid only if eid_set != 0
470  @param prefix_length - prefix length if EID is IP address;
471  valid only if eid_set != 0
472  @param eid - endpoint identifier
473  @param filter - filter type;
474  Support values:
475  0: all eid
476  1: local eid
477  2: remote eid
478  */
479 define lisp_eid_table_dump
480 {
486  vl_api_eid_t eid;
487  vl_api_lisp_locator_set_filter_t filter;
488 };
489 
490 /** \brief LISP adjacency
491  @param reid - remote EID
492  @param leid - local EID
493  */
494 typedef lisp_adjacency
495 {
496  vl_api_eid_t reid;
497  vl_api_eid_t leid;
498 };
499 
500 /** \brief LISP adjacency reply
501  @param count - number of adjacencies
502  @param adjacencies - array of adjacencies
503  */
504 manual_endian manual_print define lisp_adjacencies_get_reply
505 {
509  vl_api_lisp_adjacency_t adjacencies[count];
510 };
511 
512 /** \brief Request for LISP adjacencies
513  @param client_index - opaque cookie to identify the sender
514  @param context - sender context, to match reply w/ request
515  @param vni - filter adjacencies by VNI
516  */
517 define lisp_adjacencies_get
518 {
522 };
523 
524 /** \brief Shows relationship between vni and vrf/bd
525  @param dp_table - VRF index or bridge domain index
526  @param vni - virtual network instance
527  */
528 define lisp_eid_table_map_details
529 {
533 };
534 
535 /** \brief Request for lisp_eid_table_map_details
536  @param client_index - opaque cookie to identify the sender
537  @param context - sender context, to match reply w/ request
538  @param is_l2 - if set dump vni/bd mappings else vni/vrf
539  */
540 define lisp_eid_table_map_dump
541 {
544  bool is_l2;
545 };
546 
547 /** \brief Dumps all VNIs used in mappings
548  @param client_index - opaque cookie to identify the sender
549  @param context - sender context, to match reply w/ request
550  */
551 define lisp_eid_table_vni_dump
552 {
555 };
556 
557 /** \brief reply to lisp_eid_table_vni_dump
558  @param context - sender context, to match reply w/ request
559  @param vni - virtual network instance
560  */
561 define lisp_eid_table_vni_details
562 {
565 };
566 
567 /** \brief LISP map resolver status
568  @param ip_address - array of address bytes
569  */
570 define lisp_map_resolver_details
571 {
573  vl_api_address_t ip_address;
574 };
575 
576 /** \brief Request for map resolver summary status
577  @param client_index - opaque cookie to identify the sender
578  @param context - sender context, to match reply w/ request
579  */
580 define lisp_map_resolver_dump
581 {
584 };
585 
586 /** \brief LISP map server details
587  @param ip_address - array of address bytes
588  */
589 define lisp_map_server_details
590 {
592  vl_api_address_t ip_address;
593 };
594 
595 /** \brief Request for map server summary status
596  @param client_index - opaque cookie to identify the sender
597  @param context - sender context, to match reply w/ request
598  */
599 define lisp_map_server_dump
600 {
603 };
604 
605 /** \brief Request for lisp-gpe protocol status
606  @param client_index - opaque cookie to identify the sender
607  @param context - sender context, to match reply w/ request
608 */
609 define show_lisp_status
610 {
613 };
614 
615 /** \brief Status of lisp, enable or disable
616  @param context - sender context, to match reply w/ request
617  @param feature_status - lisp enable if non-zero, else disable
618  @param gpe_status - lisp enable if non-zero, else disable
619 */
620 define show_lisp_status_reply
621 {
626 };
627 
628 /** \brief Get LISP map request itr rlocs status
629  @param context - sender context, to match reply w/ request
630  @param locator_set_name - name of the locator_set
631  */
632 define lisp_get_map_request_itr_rlocs
633 {
636 };
637 
638 /** \brief Request for map request itr rlocs summary status
639  */
640 define lisp_get_map_request_itr_rlocs_reply
641 {
644  string locator_set_name[64];
645 };
646 
647 /** \brief Request for lisp pitr status
648  @param client_index - opaque cookie to identify the sender
649  @param context - sender context, to match reply w/ request
650 */
651 define show_lisp_pitr
652 {
655 };
656 
657 /** \brief Status of lisp pitr, enable or disable
658  @param context - sender context, to match reply w/ request
659  @param status - lisp pitr enable if non-zero, else disable
660  @param locator_set_name - name of the locator_set
661 */
662 define show_lisp_pitr_reply
663 {
667  string locator_set_name[64];
668 };
669 
670 /*
671  * Local Variables:
672  * eval: (c-set-style "gnu")
673  * End:
674  */
u8 count
Definition: dhcp.api:208
typedef lisp_adjacency
LISP adjacency.
Definition: lisp.api:495
option version
Definition: lisp.api:16
vl_api_interface_index_t sw_if_index
Definition: lisp.api:66
vl_api_address_t ip_address
Definition: lisp.api:573
unsigned char u8
Definition: types.h:56
lisp_locator_set_filter
Definition: lisp.api:412
unsigned int u32
Definition: types.h:88
vl_api_hmac_key_t key
Definition: lisp.api:88
vl_api_hmac_key_t key
Definition: lisp.api:462
vl_api_lisp_locator_set_filter_t filter
Definition: lisp.api:487
vl_api_address_t ip_address
Definition: lisp.api:155
vl_api_lisp_locator_set_filter_t filter
Definition: lisp.api:427
signed int i32
Definition: types.h:77
vl_api_address_t ip_address
Definition: lisp.api:592
vl_api_address_t ip_address
Definition: lisp.api:179
vl_api_address_t ip_address
Definition: lisp.api:116
vl_api_eid_t reid
Definition: lisp_gpe.api:118
vl_api_interface_index_t sw_if_index
Definition: lisp.api:394
vl_api_address_t ip_address
Definition: lisp.api:395
vl_api_address_t ip_address
Definition: lisp.api:102
vl_api_eid_t leid
Definition: lisp.api:497