FD.io VPP  v17.10-9-gd594711
Vector Packet Processing
one.api
Go to the documentation of this file.
1 /*
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:
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 typeonly manual_print manual_endian define one_local_locator
17 {
21 };
22 
23 /** \brief add or delete locator_set
24  @param client_index - opaque cookie to identify the sender
25  @param context - sender context, to match reply w/ request
26  @param is_add - add address if non-zero, else delete
27  @param locator_set_name - locator name
28  @param locator_num - number of locators
29  @param locators - locator records
30 */
31 manual_endian manual_print define one_add_del_locator_set
32 {
36  u8 locator_set_name[64];
38  vl_api_one_local_locator_t locators[locator_num];
39 };
40 
41 /** \brief Reply for locator_set add/del
42  @param context - returned sender context, to match reply w/ request
43  @param retval - return code
44  @param ls_index - locator set index
45 */
46 define one_add_del_locator_set_reply
47 {
51 };
52 
53 /** \brief add or delete locator for locator set
54  @param client_index - opaque cookie to identify the sender
55  @param context - sender context, to match reply w/ request
56  @param is_add - add address if non-zero, else delete
57  @param locator_set_name - name of locator_set to add/del locator
58  @param sw_if_index - index of the interface
59  @param priority - priority of the locator
60  @param weight - weight of the locator
61 */
62 autoreply define one_add_del_locator
63 {
67  u8 locator_set_name[64];
71 };
72 
73 /** \brief add or delete ONE eid-table
74  @param client_index - opaque cookie to identify the sender
75  @param context - sender context, to match reply w/ request
76  @param is_add - add address if non-zero, else delete
77  @param eid_type:
78  0 : ipv4
79  1 : ipv6
80  2 : mac
81  @param eid - EID can be ip4, ip6 or mac
82  @param prefix_len - prefix len
83  @param locator_set_name - name of locator_set to add/del eid-table
84  @param vni - virtual network instance
85  @param key_id
86  HMAC_NO_KEY 0
87  HMAC_SHA_1_96 1
88  HMAC_SHA_256_128 2
89  @param key - secret key
90 */
91 autoreply define one_add_del_local_eid
92 {
97  u8 eid[16];
99  u8 locator_set_name[64];
102  u8 key[64];
103 };
104 
105 /** \brief Set TTL for map register messages
106  @param client_index - opaque cookie to identify the sender
107  @param context - sender context, to match reply w/ request
108  @param ttl - time to live
109 */
110 autoreply define one_map_register_set_ttl
111 {
115 };
116 
117 /** \brief Get TTL for map register messages
118  @param client_index - opaque cookie to identify the sender
119  @param context - sender context, to match reply w/ request
120 */
121 define show_one_map_register_ttl
122 {
125 };
126 
127 /** \brief Contains current TTL for map register messages
128  @param client_index - opaque cookie to identify the sender
129  @param retval - return code
130  @param ttl - time to live
131 */
132 define show_one_map_register_ttl_reply
133 {
137 };
138 
139 /** \brief Add/delete map server
140  @param client_index - opaque cookie to identify the sender
141  @param context - sender context, to match reply w/ request
142  @param is_add - add address if non-zero; delete otherwise
143  @param is_ipv6 - if non-zero the address is ipv6, else ipv4
144  @param ip_address - map server IP address
145 */
146 autoreply define one_add_del_map_server
147 {
152  u8 ip_address[16];
153 };
154 
155 /** \brief add or delete map-resolver
156  @param client_index - opaque cookie to identify the sender
157  @param context - sender context, to match reply w/ request
158  @param is_add - add address if non-zero, else delete
159  @param is_ipv6 - if non-zero the address is ipv6, else ipv4
160  @param ip_address - array of address bytes
161 */
162 autoreply define one_add_del_map_resolver
163 {
168  u8 ip_address[16];
169 };
170 
171 /** \brief enable or disable ONE feature
172  @param client_index - opaque cookie to identify the sender
173  @param context - sender context, to match reply w/ request
174  @param is_en - enable protocol if non-zero, else disable
175 */
176 autoreply define one_enable_disable
177 {
181 };
182 
183 /** \brief configure or delete ONE NSH mapping
184  @param client_index - opaque cookie to identify the sender
185  @param context - sender context, to match reply w/ request
186  @param ls_name - locator set name
187  @param is_add - add locator set if non-zero; delete otherwise
188 */
189 autoreply define one_nsh_set_locator_set
190 {
194  u8 ls_name[64];
195 };
196 
197 /** \brief configure or disable ONE PITR node
198  @param client_index - opaque cookie to identify the sender
199  @param context - sender context, to match reply w/ request
200  @param ls_name - locator set name
201  @param is_add - add locator set if non-zero, else disable pitr
202 */
203 autoreply define one_pitr_set_locator_set
204 {
208  u8 ls_name[64];
209 };
210 
211 /** \brief configure or disable use of PETR
212  @param client_index - opaque cookie to identify the sender
213  @param context - sender context, to match reply w/ request
214  @param is_ip4 - Address is IPv4 if set and IPv6 otherwise
215  @param address - PETR IP address
216  @param is_add - add locator set if non-zero, else disable PETR
217 */
218 autoreply define one_use_petr
219 {
223  u8 address[16];
225 };
226 
227 /** \brief Request for ONE PETR status
228  @param client_index - opaque cookie to identify the sender
229  @param context - sender context, to match reply w/ request
230 */
231 define show_one_use_petr
232 {
235 };
236 
237 /** \brief ONE PETR status, enable or disable
238  @param context - sender context, to match reply w/ request
239  @param status - ONE PETR enable if non-zero, else disable
240  @param is_ip4 - Address is IPv4 if non-zero, else IPv6
241  @param address - PETR IP address
242 */
243 define show_one_use_petr_reply
244 {
249  u8 address[16];
250 };
251 
252 /** \brief Get state of ONE RLOC probing
253  @param client_index - opaque cookie to identify the sender
254  @param context - sender context, to match reply w/ request
255 */
256 define show_one_rloc_probe_state
257 {
260 };
261 
262 /** \brief Reply for show_one_rloc_probe_state
263  @param context - returned sender context, to match reply w/ request
264  @param retval - return code
265  @param is_enabled - state of RLOC probing
266 */
267 define show_one_rloc_probe_state_reply
268 {
272 };
273 
274 /** \brief enable/disable ONE RLOC probing
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
278 */
279 autoreply define one_rloc_probe_enable_disable
280 {
284 };
285 
286 /** \brief enable/disable ONE map-register
287  @param client_index - opaque cookie to identify the sender
288  @param context - sender context, to match reply w/ request
289  @param is_enable - enable if non-zero; disable otherwise
290 */
291 autoreply define one_map_register_enable_disable
292 {
296 };
297 
298 /** \brief Get state of ONE map-register
299  @param client_index - opaque cookie to identify the sender
300  @param context - sender context, to match reply w/ request
301 */
302 define show_one_map_register_state
303 {
306 };
307 
308 /** \brief Reply for show_one_map_register_state
309  @param context - returned sender context, to match reply w/ request
310  @param retval - return code
311 */
312 define show_one_map_register_state_reply
313 {
317 };
318 
319 /** \brief set ONE map-request mode. Based on configuration VPP will send
320  src/dest or just normal destination map requests.
321  @param client_index - opaque cookie to identify the sender
322  @param context - sender context, to match reply w/ request
323  @param mode - new map-request mode. Supported values are:
324  0 - destination only
325  1 - source/destaination
326 */
327 autoreply define one_map_request_mode
328 {
332 };
333 
334 /** \brief Request for ONE map-request mode
335  @param client_index - opaque cookie to identify the sender
336  @param context - sender context, to match reply w/ request
337 */
338 define show_one_map_request_mode
339 {
342 };
343 
344 /** \brief Reply for show_one_map_request_mode
345  @param context - returned sender context, to match reply w/ request
346  @param retval - return code
347  @param mode - map-request mode
348 */
349 define show_one_map_request_mode_reply
350 {
354 };
355 
356 typeonly manual_endian manual_print define one_remote_locator
357 {
361  u8 addr[16];
362 };
363 
364 /** \brief add or delete remote static mapping
365  @param client_index - opaque cookie to identify the sender
366  @param context - sender context, to match reply w/ request
367  @param is_add - add address if non-zero, else delete
368  @param is_src_dst - flag indicating src/dst based routing policy
369  @param del_all - if set, delete all remote mappings
370  @param vni - virtual network instance
371  @param action - negative map-reply action
372  @param eid_type -
373  0 : ipv4
374  1 : ipv6
375  2 : mac
376  3 : NSH : both information (service path ID and service index) are
377  encoded in 'eid' field in a following way:
378 
379  |4 B |1 B |
380  -----------
381  |SPI | SI |
382  @param deid - dst EID
383  @param seid - src EID, valid only if is_src_dst is enabled
384  @param rloc_num - number of remote locators
385  @param rlocs - remote locator records
386 */
387 autoreply manual_print manual_endian define one_add_del_remote_mapping
388 {
397  u8 eid[16];
399  u8 seid[16];
403 };
404 
405 /** \brief Add/delete L2 ARP entries
406  @param client_index - opaque cookie to identify the sender
407  @param context - sender context, to match reply w/ request
408  @param is_add - add if non-zero; delete otherwise
409  @param bd - bridge domain
410  @param mac - MAC address
411  @param ip4 - IPv4 address
412 */
413 autoreply define one_add_del_l2_arp_entry
414 {
418  u8 mac[6];
421 };
422 
423 /** \brief Request for L2 ARP entries from specified bridge domain
424  @param client_index - opaque cookie to identify the sender
425  @param context - sender context, to match reply w/ request
426  @param bd - bridge domain
427 */
428 define one_l2_arp_entries_get
429 {
433 };
434 
435 typeonly manual_print manual_endian define one_l2_arp_entry
436 {
437  u8 mac[6];
439 };
440 
441 /** \brief Reply with L2 ARP entries from specified bridge domain
442  @param context - sender context, to match reply w/ request
443  @param retval - error code
444  @param count - number of elements in the list
445  @param vl_api_one_arp_entry_t - list of entries
446 */
447 manual_print manual_endian define one_l2_arp_entries_get_reply
448 {
453 };
454 
455 autoreply define one_add_del_ndp_entry
456 {
460  u8 mac[6];
462  u8 ip6[16];
463 };
464 
465 define one_ndp_entries_get
466 {
470 };
471 
472 typeonly manual_print manual_endian define one_ndp_entry
473 {
474  u8 mac[6];
475  u8 ip6[16];
476 };
477 
478 manual_print manual_endian define one_ndp_entries_get_reply
479 {
484 };
485 
486 /** \brief Set ONE transport protocol
487  @param client_index - opaque cookie to identify the sender
488  @param context - sender context, to match reply w/ request
489  @param protocol - supported vaules:
490  1: UDP based LISP (default)
491  2: binary API
492 */
493 autoreply define one_set_transport_protocol
494 {
498 };
499 
500 define one_get_transport_protocol
501 {
504 };
505 
506 define one_get_transport_protocol_reply
507 {
511 };
512 
513 /** \brief Request for list of bridge domains used by neighbor discovery
514  @param client_index - opaque cookie to identify the sender
515  @param context - sender context, to match reply w/ request
516 */
517 define one_ndp_bd_get
518 {
521 };
522 
523 /** \brief Reply with list of bridge domains used by neighbor discovery
524  @param context - sender context, to match reply w/ request
525  @param count - number of elements in the list
526  @param bridge_domains - list of BDs
527 */
528 manual_print manual_endian define one_ndp_bd_get_reply
529 {
533  u32 bridge_domains[count];
534 };
535 
536 /** \brief Request for list of bridge domains used by L2 ARP table
537  @param client_index - opaque cookie to identify the sender
538  @param context - sender context, to match reply w/ request
539 */
540 define one_l2_arp_bd_get
541 {
544 };
545 
546 /** \brief Reply with list of bridge domains used by L2 ARP table
547  @param context - sender context, to match reply w/ request
548  @param count - number of elements in the list
549  @param bridge_domains - list of BDs
550 */
551 manual_print manual_endian define one_l2_arp_bd_get_reply
552 {
556  u32 bridge_domains[count];
557 };
558 
559 /** \brief add or delete ONE adjacency adjacency
560  @param client_index - opaque cookie to identify the sender
561  @param context - sender context, to match reply w/ request
562  @param is_add - add address if non-zero, else delete
563  @param vni - virtual network instance
564  @param eid_type -
565  0 : ipv4
566  1 : ipv6
567  2 : mac
568  @param reid - remote EID
569  @param leid - local EID
570 */
571 autoreply define one_add_del_adjacency
572 {
578  u8 reid[16];
579  u8 leid[16];
582 };
583 
584 /** \brief add or delete map request itr rlocs
585  @param client_index - opaque cookie to identify the sender
586  @param context - sender context, to match reply w/ request
587  @param is_add - add address if non-zero, else delete
588  @param locator_set_name - locator set name
589 */
590 autoreply define one_add_del_map_request_itr_rlocs
591 {
595  u8 locator_set_name[64];
596 };
597 
598 /** \brief map/unmap vni/bd_index to vrf
599  @param client_index - opaque cookie to identify the sender
600  @param context - sender context, to match reply w/ request
601  @param is_add - add or delete mapping
602  @param dp_table - virtual network id/bridge domain index
603  @param vrf - vrf
604 */
605 autoreply define one_eid_table_add_del_map
606 {
613 };
614 
615 /** \brief Request for map one locator status
616  @param client_index - opaque cookie to identify the sender
617  @param context - sender context, to match reply w/ request
618  @param locator_set_index - index of locator_set
619  @param ls_name - locator set name
620  @param is_index_set - flag indicating whether ls_name or ls_index is set
621  */
622 define one_locator_dump
623 {
627  u8 ls_name[64];
629 };
630 
631 /** \brief ONE locator_set status
632  @param local - if is set, then locator is local
633  @param locator_set_name - name of the locator_set
634  @param sw_if_index - sw_if_index of the locator
635  @param priority - locator priority
636  @param weight - locator weight
637  */
638 define one_locator_details
639 {
644  u8 ip_address[16];
647 };
648 
649 /** \brief ONE locator_set status
650  @param context - sender context, to match reply w/ request
651  @param ls_index - locator set index
652  @param ls_name - name of the locator set
653  */
654 define one_locator_set_details
655 {
658  u8 ls_name[64];
659 };
660 
661 /** \brief Request for locator_set summary status
662  @param client_index - opaque cookie to identify the sender
663  @param context - sender context, to match reply w/ request
664  @param filter - filter type
665  Supported values:
666  0: all locator sets
667  1: local locator sets
668  2: remote locator sets
669  */
670 define one_locator_set_dump
671 {
675 };
676 
677 /** \brief Dump ONE eid-table
678  @param client_index - opaque cookie to identify the sender
679  @param context - sender context, to match reply w/ request
680  @param locator_set_index - index of locator_set, if ~0 then the mapping
681  is negative
682  @param action - negative map request action
683  @param is_local - local if non-zero, else remote
684  @param eid_type:
685  0 : ipv4
686  1 : ipv6
687  2 : mac
688  @param is_src_dst - EID is type of source/destination
689  @param eid - EID can be ip4, ip6 or mac
690  @param eid_prefix_len - prefix length
691  @param seid - source EID can be ip4, ip6 or mac
692  @param seid_prefix_len - source prefix length
693  @param vni - virtual network instance
694  @param ttl - time to live
695  @param authoritative - authoritative
696  @param key_id
697  HMAC_NO_KEY 0
698  HMAC_SHA_1_96 1
699  HMAC_SHA_256_128 2
700  @param key - secret key
701 */
702 
703 define one_eid_table_details
704 {
712  u8 eid[16];
714  u8 seid[16];
719  u8 key[64];
720 };
721 
722 /** \brief Request for eid table summary status
723  @param client_index - opaque cookie to identify the sender
724  @param context - sender context, to match reply w/ request
725  @param eid_set - if non-zero request info about specific mapping
726  @param vni - virtual network instance; valid only if eid_set != 0
727  @param prefix_length - prefix length if EID is IP address;
728  valid only if eid_set != 0
729  @param eid_type - EID type; valid only if eid_set != 0
730  Supported values:
731  0: EID is IPv4
732  1: EID is IPv6
733  2: EID is ethernet address
734  3 : NSH : both information (service path ID and service index) are
735  encoded in 'eid' field in a following way:
736 
737  |4 B |1 B |
738  -----------
739  |SPI | SI |
740  @param eid - endpoint identifier
741  @param filter - filter type;
742  Support values:
743  0: all eid
744  1: local eid
745  2: remote eid
746  */
747 define one_eid_table_dump
748 {
755  u8 eid[16];
757 };
758 
759 /** \brief ONE adjacency
760  @param eid_type -
761  0 : ipv4
762  1 : ipv6
763  2 : mac
764  @param reid - remote EID
765  @param leid - local EID
766  @param reid_prefix_len - remote EID IP prefix length
767  @param leid_prefix_len - local EID IP prefix length
768  */
769 typeonly manual_print manual_endian define one_adjacency
770 {
772  u8 reid[16];
773  u8 leid[16];
776 };
777 
778 /** \brief ONE adjacency reply
779  @param count - number of adjacencies
780  @param adjacencies - array of adjacencies
781  */
782 manual_endian manual_print define one_adjacencies_get_reply
783 {
788 };
789 
790 /** \brief Request for ONE adjacencies
791  @param client_index - opaque cookie to identify the sender
792  @param context - sender context, to match reply w/ request
793  @param vni - filter adjacencies by VNI
794  */
795 define one_adjacencies_get
796 {
800 };
801 
802 /** \brief Shows relationship between vni and vrf/bd
803  @param dp_table - VRF index or bridge domain index
804  @param vni - vitual network instance
805  */
806 define one_eid_table_map_details
807 {
811 };
812 
813 /** \brief Request for one_eid_table_map_details
814  @param client_index - opaque cookie to identify the sender
815  @param context - sender context, to match reply w/ request
816  @param is_l2 - if set dump vni/bd mappings else vni/vrf
817  */
818 define one_eid_table_map_dump
819 {
823 };
824 
825 /** \brief Dumps all VNIs used in mappings
826  @param client_index - opaque cookie to identify the sender
827  @param context - sender context, to match reply w/ request
828  */
829 define one_eid_table_vni_dump
830 {
833 };
834 
835 /** \brief reply to one_eid_table_vni_dump
836  @param client_index - opaque cookie to identify the sender
837  @param context - sender context, to match reply w/ request
838  @param vni - virtual network instance
839  */
840 define one_eid_table_vni_details
841 {
845 };
846 
847 /** \brief ONE map resolver status
848  @param is_ipv6 - if non-zero the address is ipv6, else ipv4
849  @param ip_address - array of address bytes
850  */
851 define one_map_resolver_details
852 {
855  u8 ip_address[16];
856 };
857 
858 /** \brief Request for map resolver summary status
859  @param client_index - opaque cookie to identify the sender
860  @param context - sender context, to match reply w/ request
861  */
862 define one_map_resolver_dump
863 {
866 };
867 
868 /** \brief ONE map server details
869  @param is_ipv6 - if non-zero the address is ipv6, else ipv4
870  @param ip_address - array of address bytes
871  */
872 define one_map_server_details
873 {
876  u8 ip_address[16];
877 };
878 
879 /** \brief Request for map server summary status
880  @param client_index - opaque cookie to identify the sender
881  @param context - sender context, to match reply w/ request
882  */
883 define one_map_server_dump
884 {
887 };
888 
889 /** \brief Request for ONE status
890  @param client_index - opaque cookie to identify the sender
891  @param context - sender context, to match reply w/ request
892 */
893 define show_one_status
894 {
897 };
898 
899 /** \brief ONE status
900  @param context - sender context, to match reply w/ request
901  @param feature_status - enabled if non-zero, else disabled
902  @param gpe_status - enabled if non-zero, else disabled
903 */
904 define show_one_status_reply
905 {
910 };
911 
912 /** \brief Get ONE map request itr rlocs status
913  @param context - sender context, to match reply w/ request
914  @param locator_set_name - name of the locator_set
915  */
916 define one_get_map_request_itr_rlocs
917 {
920 };
921 
922 /** \brief Request for map request itr rlocs summary status
923  */
924 define one_get_map_request_itr_rlocs_reply
925 {
928  u8 locator_set_name[64];
929 };
930 
931 /** \brief Request for ONE NSH mapping
932  @param client_index - opaque cookie to identify the sender
933  @param context - sender context, to match reply w/ request
934 */
935 define show_one_nsh_mapping
936 {
939 };
940 
941 /** \brief Reply for ONE NSH mapping
942  @param context - sender context, to match reply w/ request
943  @param is_set - is ONE NSH mapping set
944  @param locator_set_name - name of the locator_set if NSH mapping is set
945 */
946 define show_one_nsh_mapping_reply
947 {
951  u8 locator_set_name[64];
952 };
953 
954 /** \brief Request for ONE PITR status
955  @param client_index - opaque cookie to identify the sender
956  @param context - sender context, to match reply w/ request
957 */
958 define show_one_pitr
959 {
962 };
963 
964 /** \brief Status of ONE PITR, enable or disable
965  @param context - sender context, to match reply w/ request
966  @param status - ONE PITR enable if non-zero, else disable
967  @param locator_set_name - name of the locator_set
968 */
969 define show_one_pitr_reply
970 {
974  u8 locator_set_name[64];
975 };
976 
977 define one_stats_dump
978 {
981 };
982 
983 define one_stats_details
984 {
988  u8 deid[16];
989  u8 seid[16];
993  u8 rloc[16];
994  u8 lloc[16];
995 
998 };
999 
1000 autoreply define one_stats_flush
1001 {
1004 };
1005 
1006 autoreply define one_stats_enable_disable
1007 {
1011 };
1012 
1013 define show_one_stats_enable_disable
1014 {
1017 };
1018 
1019 define show_one_stats_enable_disable_reply
1020 {
1024 };
1025 
1026 autoreply define one_map_register_fallback_threshold
1027 {
1031 };
1032 
1033 define show_one_map_register_fallback_threshold
1034 {
1037 };
1038 
1039 define show_one_map_register_fallback_threshold_reply
1040 {
1044 };
1045 
1046 autoreply define one_enable_disable_xtr_mode
1047 {
1051 };
1052 
1053 define one_show_xtr_mode
1054 {
1057 };
1058 
1059 define one_show_xtr_mode_reply
1060 {
1064 };
1065 
1066 autoreply define one_enable_disable_petr_mode
1067 {
1071 };
1072 
1073 define one_show_petr_mode
1074 {
1077 };
1078 
1079 define one_show_petr_mode_reply
1080 {
1084 };
1085 
1086 autoreply define one_enable_disable_pitr_mode
1087 {
1091 };
1092 
1093 define one_show_pitr_mode
1094 {
1097 };
1098 
1099 define one_show_pitr_mode_reply
1100 {
1104 };
1105 
1106 /*
1107  * Local Variables:
1108  * eval: (c-set-style "gnu")
1109  * End:
1110  */
Definition: one.api:472
u32 client_index
Definition: one.api:415
ONE adjacency.
Definition: one.api:769
u32 ip4
Definition: one.api:420
u32 context
Definition: one.api:458
int i32
Definition: types.h:81
u32 ip4
Definition: one.api:438
u32 bd
Definition: one.api:419
u32 context
Definition: one.api:416
Definition: one.api:435
unsigned int u32
Definition: types.h:88
u8 is_add
Definition: one.api:417
u32 client_index
Definition: one.api:457
size_t count
Definition: vapi.c:40
unsigned short u16
Definition: types.h:57
unsigned char u8
Definition: types.h:56
u8 is_add
Definition: one.api:459
vhost_vring_addr_t addr
Definition: vhost-user.h:83
u32 bd
Definition: one.api:461