FD.io VPP  v20.01-48-g3e0dafb74
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 = "1.0.0";
17 
18 typedef local_locator
19 {
23 };
24 
25 /** \brief add or delete locator_set
26  @param client_index - opaque cookie to identify the sender
27  @param context - sender context, to match reply w/ request
28  @param is_add - add address if non-zero, else delete
29  @param locator_set_name - locator name
30  @param locator_num - number of locators
31  @param locators - LISP locator records
32 */
33 manual_endian manual_print define lisp_add_del_locator_set
34 {
38  u8 locator_set_name[64];
40  vl_api_local_locator_t locators[locator_num];
41 };
42 
43 /** \brief Reply for locator_set add/del
44  @param context - returned sender context, to match reply w/ request
45  @param retval - return code
46  @param ls_index - locator set index
47 */
48 define lisp_add_del_locator_set_reply
49 {
53 };
54 
55 /** \brief add or delete locator for locator_set
56  @param client_index - opaque cookie to identify the sender
57  @param context - sender context, to match reply w/ request
58  @param is_add - add address if non-zero, else delete
59  @param locator_set_name - name of locator_set to add/del locator
60  @param sw_if_index - index of the interface
61  @param priority - priority of the lisp locator
62  @param weight - weight of the lisp locator
63 */
64 autoreply define lisp_add_del_locator
65 {
69  u8 locator_set_name[64];
73 };
74 
75 /** \brief add or delete lisp eid-table
76  @param client_index - opaque cookie to identify the sender
77  @param context - sender context, to match reply w/ request
78  @param is_add - add address if non-zero, else delete
79  @param eid_type:
80  0 : ipv4
81  1 : ipv6
82  2 : mac
83  @param eid - EID can be ip4, ip6 or mac
84  @param prefix_len - prefix len
85  @param locator_set_name - name of locator_set to add/del eid-table
86  @param vni - virtual network instance
87  @param key_id
88  HMAC_NO_KEY 0
89  HMAC_SHA_1_96 1
90  HMAC_SHA_256_128 2
91  @param key - secret key
92 */
93 autoreply define lisp_add_del_local_eid
94 {
99  u8 eid[16];
101  u8 locator_set_name[64];
104  u8 key[64];
105 };
106 
107 /** \brief Add/delete map server
108  @param client_index - opaque cookie to identify the sender
109  @param context - sender context, to match reply w/ request
110  @param is_add - add address if non-zero; delete otherwise
111  @param is_ipv6 - if non-zero the address is ipv6, else ipv4
112  @param ip_address - map server IP address
113 */
114 autoreply define lisp_add_del_map_server
115 {
121 };
122 
123 /** \brief add or delete map-resolver
124  @param client_index - opaque cookie to identify the sender
125  @param context - sender context, to match reply w/ request
126  @param is_add - add address if non-zero, else delete
127  @param is_ipv6 - if non-zero the address is ipv6, else ipv4
128  @param ip_address - array of address bytes
129 */
130 autoreply define lisp_add_del_map_resolver
131 {
137 };
138 
139 /** \brief enable or disable LISP feature
140  @param client_index - opaque cookie to identify the sender
141  @param context - sender context, to match reply w/ request
142  @param is_en - enable protocol if non-zero, else disable
143 */
144 autoreply define lisp_enable_disable
145 {
149 };
150 
151 /** \brief configure or disable LISP PITR node
152  @param client_index - opaque cookie to identify the sender
153  @param context - sender context, to match reply w/ request
154  @param ls_name - locator set name
155  @param is_add - add locator set if non-zero, else disable pitr
156 */
157 autoreply define lisp_pitr_set_locator_set
158 {
162  u8 ls_name[64];
163 };
164 
165 /** \brief configure or disable use of PETR
166  @param client_index - opaque cookie to identify the sender
167  @param context - sender context, to match reply w/ request
168  @param is_ip4 - Address is IPv4 if set and IPv6 otherwise
169  @param address - PETR IP address
170  @param is_add - add locator set if non-zero, else disable pitr
171 */
172 autoreply define lisp_use_petr
173 {
177  u8 address[16];
179 };
180 
181 /** \brief Request for LISP PETR status
182  @param client_index - opaque cookie to identify the sender
183  @param context - sender context, to match reply w/ request
184 */
185 define show_lisp_use_petr
186 {
189 };
190 
191 /** \brief LISP PETR status, enable or disable
192  @param context - sender context, to match reply w/ request
193  @param status - LISP PETR enable if non-zero, else disable
194  @param is_ip4 - Address is IPv4 if non-zero, else IPv6
195  @param address - PETR IP address
196 */
197 define show_lisp_use_petr_reply
198 {
203  u8 address[16];
204 };
205 
206 /** \brief Get state of LISP RLOC probing
207  @param client_index - opaque cookie to identify the sender
208  @param context - sender context, to match reply w/ request
209 */
210 define show_lisp_rloc_probe_state
211 {
214 };
215 
216 /** \brief Reply for show_lisp_rloc_probe_state
217  @param context - returned sender context, to match reply w/ request
218  @param retval - return code
219  @param is_enabled - state of RLOC probing
220 */
221 define show_lisp_rloc_probe_state_reply
222 {
226 };
227 
228 /** \brief enable/disable LISP RLOC probing
229  @param client_index - opaque cookie to identify the sender
230  @param context - sender context, to match reply w/ request
231  @param is_enable - enable if non-zero; disable otherwise
232 */
233 autoreply define lisp_rloc_probe_enable_disable
234 {
238 };
239 
240 /** \brief enable/disable LISP map-register
241  @param client_index - opaque cookie to identify the sender
242  @param context - sender context, to match reply w/ request
243  @param is_enable - enable if non-zero; disable otherwise
244 */
245 autoreply define lisp_map_register_enable_disable
246 {
250 };
251 
252 /** \brief Get state of LISP map-register
253  @param client_index - opaque cookie to identify the sender
254  @param context - sender context, to match reply w/ request
255 */
256 define show_lisp_map_register_state
257 {
260 };
261 
262 /** \brief Reply for show_lisp_map_register_state
263  @param context - returned sender context, to match reply w/ request
264  @param retval - return code
265 */
266 define show_lisp_map_register_state_reply
267 {
271 };
272 
273 /** \brief set LISP map-request mode. Based on configuration VPP will send
274  src/dest or just normal destination map requests.
275  @param client_index - opaque cookie to identify the sender
276  @param context - sender context, to match reply w/ request
277  @param mode - new map-request mode. Supported values are:
278  0 - destination only
279  1 - source/destination
280 */
281 autoreply define lisp_map_request_mode
282 {
286 };
287 
288 /** \brief Request for LISP map-request mode
289  @param client_index - opaque cookie to identify the sender
290  @param context - sender context, to match reply w/ request
291 */
292 define show_lisp_map_request_mode
293 {
296 };
297 
298 /** \brief Reply for show_lisp_map_request_mode
299  @param context - returned sender context, to match reply w/ request
300  @param retval - return code
301  @param mode - map-request mode
302 */
303 define show_lisp_map_request_mode_reply
304 {
308 };
309 
310 typedef remote_locator
311 {
312  u8 is_ip4;
313  u8 priority;
314  u8 weight;
315  u8 addr[16];
316 };
317 
318 /** \brief add or delete remote static mapping
319  @param client_index - opaque cookie to identify the sender
320  @param context - sender context, to match reply w/ request
321  @param is_add - add address if non-zero, else delete
322  @param is_src_dst - flag indicating src/dst based routing policy
323  @param del_all - if set, delete all remote mappings
324  @param vni - virtual network instance
325  @param action - negative map-reply action
326  @param eid_type -
327  0 : ipv4
328  1 : ipv6
329  2 : mac
330  @param deid - dst EID
331  @param seid - src EID, valid only if is_src_dst is enabled
332  @param rloc_num - number of remote locators
333  @param rlocs - remote locator records
334 */
335 autoreply manual_print manual_endian define lisp_add_del_remote_mapping
336 {
345  u8 eid[16];
347  u8 seid[16];
350  vl_api_remote_locator_t rlocs[rloc_num];
351 };
352 
353 /** \brief add or delete LISP adjacency adjacency
354  @param client_index - opaque cookie to identify the sender
355  @param context - sender context, to match reply w/ request
356  @param is_add - add address if non-zero, else delete
357  @param vni - virtual network instance
358  @param eid_type -
359  0 : ipv4
360  1 : ipv6
361  2 : mac
362  @param reid - remote EID
363  @param leid - local EID
364 */
365 autoreply define lisp_add_del_adjacency
366 {
372  u8 reid[16];
373  u8 leid[16];
376 };
377 
378 /** \brief add or delete map request itr rlocs
379  @param client_index - opaque cookie to identify the sender
380  @param context - sender context, to match reply w/ request
381  @param is_add - add address if non-zero, else delete
382  @param locator_set_name - locator set name
383 */
384 autoreply define lisp_add_del_map_request_itr_rlocs
385 {
389  u8 locator_set_name[64];
390 };
391 
392 /** \brief Reply for lisp_add_del_map_request_itr_rlocs
393  @param context - returned sender context, to match reply w/ request
394  @param retval - return code
395 */
396 
397 /** \brief map/unmap vni/bd_index to vrf
398  @param client_index - opaque cookie to identify the sender
399  @param context - sender context, to match reply w/ request
400  @param is_add - add or delete mapping
401  @param dp_table - virtual network id/bridge domain index
402  @param vrf - vrf
403 */
404 autoreply define lisp_eid_table_add_del_map
405 {
412 };
413 
414 /** \brief Request for map lisp locator status
415  @param client_index - opaque cookie to identify the sender
416  @param context - sender context, to match reply w/ request
417  @param locator_set_index - index of locator_set
418  @param ls_name - locator set name
419  @param is_index_set - flag indicating whether ls_name or ls_index is set
420  */
421 define lisp_locator_dump
422 {
426  u8 ls_name[64];
428 };
429 
430 /** \brief LISP locator_set status
431  @param local - if is set, then locator is local
432  @param locator_set_name - name of the locator_set
433  @param sw_if_index - sw_if_index of the locator
434  @param priority - locator priority
435  @param weight - locator weight
436  */
437 define lisp_locator_details
438 {
446 };
447 
448 /** \brief LISP locator_set status
449  @param context - sender context, to match reply w/ request
450  @param ls_index - locator set index
451  @param ls_name - name of the locator set
452  */
453 define lisp_locator_set_details
454 {
457  u8 ls_name[64];
458 };
459 
460 /** \brief Request for locator_set summary status
461  @param client_index - opaque cookie to identify the sender
462  @param context - sender context, to match reply w/ request
463  @param filter - filter type
464  Supported values:
465  0: all locator sets
466  1: local locator sets
467  2: remote locator sets
468  */
469 define lisp_locator_set_dump
470 {
474 };
475 
476 /** \brief Dump lisp eid-table
477  @param client_index - opaque cookie to identify the sender
478  @param context - sender context, to match reply w/ request
479  @param locator_set_index - index of locator_set, if ~0 then the mapping
480  is negative
481  @param action - negative map request action
482  @param is_local - local if non-zero, else remote
483  @param eid_type:
484  0 : ipv4
485  1 : ipv6
486  2 : mac
487  @param is_src_dst - EID is type of source/destination
488  @param eid - EID can be ip4, ip6 or mac
489  @param eid_prefix_len - prefix length
490  @param seid - source EID can be ip4, ip6 or mac
491  @param seid_prefix_len - source prefix length
492  @param vni - virtual network instance
493  @param ttl - time to live
494  @param authoritative - authoritative
495  @param key_id
496  HMAC_NO_KEY 0
497  HMAC_SHA_1_96 1
498  HMAC_SHA_256_128 2
499  @param key - secret key
500 */
501 
502 define lisp_eid_table_details
503 {
511  u8 eid[16];
513  u8 seid[16];
518  u8 key[64];
519 };
520 
521 /** \brief Request for eid table summary status
522  @param client_index - opaque cookie to identify the sender
523  @param context - sender context, to match reply w/ request
524  @param eid_set - if non-zero request info about specific mapping
525  @param vni - virtual network instance; valid only if eid_set != 0
526  @param prefix_length - prefix length if EID is IP address;
527  valid only if eid_set != 0
528  @param eid_type - EID type; valid only if eid_set != 0
529  Supported values:
530  0: EID is IPv4
531  1: EID is IPv6
532  2: EID is ethernet address
533  @param eid - endpoint identifier
534  @param filter - filter type;
535  Support values:
536  0: all eid
537  1: local eid
538  2: remote eid
539  */
540 define lisp_eid_table_dump
541 {
548  u8 eid[16];
550 };
551 
552 /** \brief LISP adjacency
553  @param eid_type -
554  0 : ipv4
555  1 : ipv6
556  2 : mac
557  @param reid - remote EID
558  @param leid - local EID
559  @param reid_prefix_len - remote EID IP prefix length
560  @param leid_prefix_len - local EID IP prefix length
561  */
562 typedef lisp_adjacency
563 {
564  u8 eid_type;
565  u8 reid[16];
566  u8 leid[16];
569 };
570 
571 /** \brief LISP adjacency reply
572  @param count - number of adjacencies
573  @param adjacencies - array of adjacencies
574  */
575 manual_endian manual_print define lisp_adjacencies_get_reply
576 {
580  vl_api_lisp_adjacency_t adjacencies[count];
581 };
582 
583 /** \brief Request for LISP adjacencies
584  @param client_index - opaque cookie to identify the sender
585  @param context - sender context, to match reply w/ request
586  @param vni - filter adjacencies by VNI
587  */
588 define lisp_adjacencies_get
589 {
593 };
594 
595 /** \brief Shows relationship between vni and vrf/bd
596  @param dp_table - VRF index or bridge domain index
597  @param vni - virtual network instance
598  */
599 define lisp_eid_table_map_details
600 {
604 };
605 
606 /** \brief Request for lisp_eid_table_map_details
607  @param client_index - opaque cookie to identify the sender
608  @param context - sender context, to match reply w/ request
609  @param is_l2 - if set dump vni/bd mappings else vni/vrf
610  */
611 define lisp_eid_table_map_dump
612 {
616 };
617 
618 /** \brief Dumps all VNIs used in mappings
619  @param client_index - opaque cookie to identify the sender
620  @param context - sender context, to match reply w/ request
621  */
622 define lisp_eid_table_vni_dump
623 {
626 };
627 
628 /** \brief reply to lisp_eid_table_vni_dump
629  @param context - sender context, to match reply w/ request
630  @param vni - virtual network instance
631  */
632 define lisp_eid_table_vni_details
633 {
636 };
637 
638 /** \brief LISP map resolver status
639  @param is_ipv6 - if non-zero the address is ipv6, else ipv4
640  @param ip_address - array of address bytes
641  */
642 define lisp_map_resolver_details
643 {
647 };
648 
649 /** \brief Request for map resolver summary status
650  @param client_index - opaque cookie to identify the sender
651  @param context - sender context, to match reply w/ request
652  */
653 define lisp_map_resolver_dump
654 {
657 };
658 
659 /** \brief LISP map server details
660  @param is_ipv6 - if non-zero the address is ipv6, else ipv4
661  @param ip_address - array of address bytes
662  */
663 define lisp_map_server_details
664 {
668 };
669 
670 /** \brief Request for map server summary status
671  @param client_index - opaque cookie to identify the sender
672  @param context - sender context, to match reply w/ request
673  */
674 define lisp_map_server_dump
675 {
678 };
679 
680 /** \brief Request for lisp-gpe protocol status
681  @param client_index - opaque cookie to identify the sender
682  @param context - sender context, to match reply w/ request
683 */
684 define show_lisp_status
685 {
688 };
689 
690 /** \brief Status of lisp, enable or disable
691  @param context - sender context, to match reply w/ request
692  @param feature_status - lisp enable if non-zero, else disable
693  @param gpe_status - lisp enable if non-zero, else disable
694 */
695 define show_lisp_status_reply
696 {
701 };
702 
703 /** \brief Get LISP map request itr rlocs status
704  @param context - sender context, to match reply w/ request
705  @param locator_set_name - name of the locator_set
706  */
707 define lisp_get_map_request_itr_rlocs
708 {
711 };
712 
713 /** \brief Request for map request itr rlocs summary status
714  */
715 define lisp_get_map_request_itr_rlocs_reply
716 {
719  u8 locator_set_name[64];
720 };
721 
722 /** \brief Request for lisp pitr status
723  @param client_index - opaque cookie to identify the sender
724  @param context - sender context, to match reply w/ request
725 */
726 define show_lisp_pitr
727 {
730 };
731 
732 /** \brief Status of lisp pitr, enable or disable
733  @param context - sender context, to match reply w/ request
734  @param status - lisp pitr enable if non-zero, else disable
735  @param locator_set_name - name of the locator_set
736 */
737 define show_lisp_pitr_reply
738 {
742  u8 locator_set_name[64];
743 };
744 
745 /*
746  * Local Variables:
747  * eval: (c-set-style "gnu")
748  * End:
749  */
750 
u8 count
Definition: dhcp.api:208
typedef lisp_adjacency
LISP adjacency.
Definition: lisp.api:563
typedef remote_locator
Definition: lisp.api:311
option version
Definition: lisp.api:16
u8 priority
Definition: lisp.api:21
unsigned char u8
Definition: types.h:56
vl_api_interface_index_t sw_if_index
Definition: gre.api:59
typedef local_locator
Definition: lisp.api:19
unsigned int u32
Definition: types.h:88
u8 eid_type
Definition: lisp_gpe.api:124
u8 reid_prefix_len
Definition: lisp.api:567
unsigned short u16
Definition: types.h:57
u8 is_ip4
Definition: lisp_gpe.api:232
u8 leid[16]
Definition: lisp.api:566
signed int i32
Definition: types.h:77
manual_print typedef address
Definition: ip_types.api:84
typedef key
Definition: ipsec_types.api:83
u8 leid_prefix_len
Definition: lisp.api:568
u8 addr[16]
Definition: lisp.api:315
u8 weight
Definition: lisp.api:22
u8 reid[16]
Definition: lisp.api:565