FD.io VPP  v18.07-rc0-415-g6c78436
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 option version = "1.0.0";
17 
18 typeonly manual_print manual_endian define one_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 - locator records
32 */
33 manual_endian manual_print define one_add_del_locator_set
34 {
38  u8 locator_set_name[64];
40  vl_api_one_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 one_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 locator
62  @param weight - weight of the locator
63 */
64 autoreply define one_add_del_locator
65 {
69  u8 locator_set_name[64];
73 };
74 
75 /** \brief add or delete ONE 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 one_add_del_local_eid
94 {
99  u8 eid[16];
101  u8 locator_set_name[64];
104  u8 key[64];
105 };
106 
107 /** \brief Set TTL for map register messages
108  @param client_index - opaque cookie to identify the sender
109  @param context - sender context, to match reply w/ request
110  @param ttl - time to live
111 */
112 autoreply define one_map_register_set_ttl
113 {
117 };
118 
119 /** \brief Get TTL for map register messages
120  @param client_index - opaque cookie to identify the sender
121  @param context - sender context, to match reply w/ request
122 */
123 define show_one_map_register_ttl
124 {
127 };
128 
129 /** \brief Contains current TTL for map register messages
130  @param client_index - opaque cookie to identify the sender
131  @param retval - return code
132  @param ttl - time to live
133 */
134 define show_one_map_register_ttl_reply
135 {
139 };
140 
141 /** \brief Add/delete map server
142  @param client_index - opaque cookie to identify the sender
143  @param context - sender context, to match reply w/ request
144  @param is_add - add address if non-zero; delete otherwise
145  @param is_ipv6 - if non-zero the address is ipv6, else ipv4
146  @param ip_address - map server IP address
147 */
148 autoreply define one_add_del_map_server
149 {
154  u8 ip_address[16];
155 };
156 
157 /** \brief add or delete map-resolver
158  @param client_index - opaque cookie to identify the sender
159  @param context - sender context, to match reply w/ request
160  @param is_add - add address if non-zero, else delete
161  @param is_ipv6 - if non-zero the address is ipv6, else ipv4
162  @param ip_address - array of address bytes
163 */
164 autoreply define one_add_del_map_resolver
165 {
170  u8 ip_address[16];
171 };
172 
173 /** \brief enable or disable ONE feature
174  @param client_index - opaque cookie to identify the sender
175  @param context - sender context, to match reply w/ request
176  @param is_en - enable protocol if non-zero, else disable
177 */
178 autoreply define one_enable_disable
179 {
183 };
184 
185 /** \brief configure or delete ONE NSH mapping
186  @param client_index - opaque cookie to identify the sender
187  @param context - sender context, to match reply w/ request
188  @param ls_name - locator set name
189  @param is_add - add locator set if non-zero; delete otherwise
190 */
191 autoreply define one_nsh_set_locator_set
192 {
196  u8 ls_name[64];
197 };
198 
199 /** \brief configure or disable ONE PITR node
200  @param client_index - opaque cookie to identify the sender
201  @param context - sender context, to match reply w/ request
202  @param ls_name - locator set name
203  @param is_add - add locator set if non-zero, else disable pitr
204 */
205 autoreply define one_pitr_set_locator_set
206 {
210  u8 ls_name[64];
211 };
212 
213 /** \brief configure or disable use of PETR
214  @param client_index - opaque cookie to identify the sender
215  @param context - sender context, to match reply w/ request
216  @param is_ip4 - Address is IPv4 if set and IPv6 otherwise
217  @param address - PETR IP address
218  @param is_add - add locator set if non-zero, else disable PETR
219 */
220 autoreply define one_use_petr
221 {
225  u8 address[16];
227 };
228 
229 /** \brief Request for ONE PETR status
230  @param client_index - opaque cookie to identify the sender
231  @param context - sender context, to match reply w/ request
232 */
233 define show_one_use_petr
234 {
237 };
238 
239 /** \brief ONE PETR status, enable or disable
240  @param context - sender context, to match reply w/ request
241  @param status - ONE PETR enable if non-zero, else disable
242  @param is_ip4 - Address is IPv4 if non-zero, else IPv6
243  @param address - PETR IP address
244 */
245 define show_one_use_petr_reply
246 {
251  u8 address[16];
252 };
253 
254 /** \brief Get state of ONE RLOC probing
255  @param client_index - opaque cookie to identify the sender
256  @param context - sender context, to match reply w/ request
257 */
258 define show_one_rloc_probe_state
259 {
262 };
263 
264 /** \brief Reply for show_one_rloc_probe_state
265  @param context - returned sender context, to match reply w/ request
266  @param retval - return code
267  @param is_enabled - state of RLOC probing
268 */
269 define show_one_rloc_probe_state_reply
270 {
274 };
275 
276 /** \brief enable/disable ONE RLOC probing
277  @param client_index - opaque cookie to identify the sender
278  @param context - sender context, to match reply w/ request
279  @param is_enable - enable if non-zero; disable otherwise
280 */
281 autoreply define one_rloc_probe_enable_disable
282 {
286 };
287 
288 /** \brief enable/disable ONE map-register
289  @param client_index - opaque cookie to identify the sender
290  @param context - sender context, to match reply w/ request
291  @param is_enable - enable if non-zero; disable otherwise
292 */
293 autoreply define one_map_register_enable_disable
294 {
298 };
299 
300 /** \brief Get state of ONE map-register
301  @param client_index - opaque cookie to identify the sender
302  @param context - sender context, to match reply w/ request
303 */
304 define show_one_map_register_state
305 {
308 };
309 
310 /** \brief Reply for show_one_map_register_state
311  @param context - returned sender context, to match reply w/ request
312  @param retval - return code
313 */
314 define show_one_map_register_state_reply
315 {
319 };
320 
321 /** \brief set ONE map-request mode. Based on configuration VPP will send
322  src/dest or just normal destination map requests.
323  @param client_index - opaque cookie to identify the sender
324  @param context - sender context, to match reply w/ request
325  @param mode - new map-request mode. Supported values are:
326  0 - destination only
327  1 - source/destaination
328 */
329 autoreply define one_map_request_mode
330 {
334 };
335 
336 /** \brief Request for ONE map-request mode
337  @param client_index - opaque cookie to identify the sender
338  @param context - sender context, to match reply w/ request
339 */
340 define show_one_map_request_mode
341 {
344 };
345 
346 /** \brief Reply for show_one_map_request_mode
347  @param context - returned sender context, to match reply w/ request
348  @param retval - return code
349  @param mode - map-request mode
350 */
351 define show_one_map_request_mode_reply
352 {
356 };
357 
358 typeonly manual_endian manual_print define one_remote_locator
359 {
363  u8 addr[16];
364 };
365 
366 /** \brief add or delete remote static mapping
367  @param client_index - opaque cookie to identify the sender
368  @param context - sender context, to match reply w/ request
369  @param is_add - add address if non-zero, else delete
370  @param is_src_dst - flag indicating src/dst based routing policy
371  @param del_all - if set, delete all remote mappings
372  @param vni - virtual network instance
373  @param action - negative map-reply action
374  @param eid_type -
375  0 : ipv4
376  1 : ipv6
377  2 : mac
378  3 : NSH : both information (service path ID and service index) are
379  encoded in 'eid' field in a following way:
380 
381  |4 B |1 B |
382  -----------
383  |SPI | SI |
384  @param deid - dst EID
385  @param seid - src EID, valid only if is_src_dst is enabled
386  @param rloc_num - number of remote locators
387  @param rlocs - remote locator records
388 */
389 autoreply manual_print manual_endian define one_add_del_remote_mapping
390 {
399  u8 eid[16];
401  u8 seid[16];
405 };
406 
407 /** \brief Add/delete L2 ARP entries
408  @param client_index - opaque cookie to identify the sender
409  @param context - sender context, to match reply w/ request
410  @param is_add - add if non-zero; delete otherwise
411  @param bd - bridge domain
412  @param mac - MAC address
413  @param ip4 - IPv4 address
414 */
415 autoreply define one_add_del_l2_arp_entry
416 {
420  u8 mac[6];
423 };
424 
425 /** \brief Request for L2 ARP entries from specified bridge domain
426  @param client_index - opaque cookie to identify the sender
427  @param context - sender context, to match reply w/ request
428  @param bd - bridge domain
429 */
430 define one_l2_arp_entries_get
431 {
435 };
436 
437 typeonly manual_print manual_endian define one_l2_arp_entry
438 {
439  u8 mac[6];
441 };
442 
443 /** \brief Reply with L2 ARP entries from specified bridge domain
444  @param context - sender context, to match reply w/ request
445  @param retval - error code
446  @param count - number of elements in the list
447  @param vl_api_one_arp_entry_t - list of entries
448 */
449 manual_print manual_endian define one_l2_arp_entries_get_reply
450 {
455 };
456 
457 autoreply define one_add_del_ndp_entry
458 {
462  u8 mac[6];
464  u8 ip6[16];
465 };
466 
467 define one_ndp_entries_get
468 {
472 };
473 
474 typeonly manual_print manual_endian define one_ndp_entry
475 {
476  u8 mac[6];
477  u8 ip6[16];
478 };
479 
480 manual_print manual_endian define one_ndp_entries_get_reply
481 {
486 };
487 
488 /** \brief Set ONE transport protocol
489  @param client_index - opaque cookie to identify the sender
490  @param context - sender context, to match reply w/ request
491  @param protocol - supported vaules:
492  1: UDP based LISP (default)
493  2: binary API
494 */
495 autoreply define one_set_transport_protocol
496 {
500 };
501 
502 define one_get_transport_protocol
503 {
506 };
507 
508 define one_get_transport_protocol_reply
509 {
513 };
514 
515 /** \brief Request for list of bridge domains used by neighbor discovery
516  @param client_index - opaque cookie to identify the sender
517  @param context - sender context, to match reply w/ request
518 */
519 define one_ndp_bd_get
520 {
523 };
524 
525 /** \brief Reply with list of bridge domains used by neighbor discovery
526  @param context - sender context, to match reply w/ request
527  @param count - number of elements in the list
528  @param bridge_domains - list of BDs
529 */
530 manual_print manual_endian define one_ndp_bd_get_reply
531 {
535  u32 bridge_domains[count];
536 };
537 
538 /** \brief Request for list of bridge domains used by L2 ARP table
539  @param client_index - opaque cookie to identify the sender
540  @param context - sender context, to match reply w/ request
541 */
542 define one_l2_arp_bd_get
543 {
546 };
547 
548 /** \brief Reply with list of bridge domains used by L2 ARP table
549  @param context - sender context, to match reply w/ request
550  @param count - number of elements in the list
551  @param bridge_domains - list of BDs
552 */
553 manual_print manual_endian define one_l2_arp_bd_get_reply
554 {
558  u32 bridge_domains[count];
559 };
560 
561 /** \brief add or delete ONE adjacency adjacency
562  @param client_index - opaque cookie to identify the sender
563  @param context - sender context, to match reply w/ request
564  @param is_add - add address if non-zero, else delete
565  @param vni - virtual network instance
566  @param eid_type -
567  0 : ipv4
568  1 : ipv6
569  2 : mac
570  @param reid - remote EID
571  @param leid - local EID
572 */
573 autoreply define one_add_del_adjacency
574 {
580  u8 reid[16];
581  u8 leid[16];
584 };
585 
586 /** \brief add or delete map request itr rlocs
587  @param client_index - opaque cookie to identify the sender
588  @param context - sender context, to match reply w/ request
589  @param is_add - add address if non-zero, else delete
590  @param locator_set_name - locator set name
591 */
592 autoreply define one_add_del_map_request_itr_rlocs
593 {
597  u8 locator_set_name[64];
598 };
599 
600 /** \brief map/unmap vni/bd_index to vrf
601  @param client_index - opaque cookie to identify the sender
602  @param context - sender context, to match reply w/ request
603  @param is_add - add or delete mapping
604  @param dp_table - virtual network id/bridge domain index
605  @param vrf - vrf
606 */
607 autoreply define one_eid_table_add_del_map
608 {
615 };
616 
617 /** \brief Request for map one locator status
618  @param client_index - opaque cookie to identify the sender
619  @param context - sender context, to match reply w/ request
620  @param locator_set_index - index of locator_set
621  @param ls_name - locator set name
622  @param is_index_set - flag indicating whether ls_name or ls_index is set
623  */
624 define one_locator_dump
625 {
629  u8 ls_name[64];
631 };
632 
633 /** \brief ONE locator_set status
634  @param local - if is set, then locator is local
635  @param locator_set_name - name of the locator_set
636  @param sw_if_index - sw_if_index of the locator
637  @param priority - locator priority
638  @param weight - locator weight
639  */
640 define one_locator_details
641 {
646  u8 ip_address[16];
649 };
650 
651 /** \brief ONE locator_set status
652  @param context - sender context, to match reply w/ request
653  @param ls_index - locator set index
654  @param ls_name - name of the locator set
655  */
656 define one_locator_set_details
657 {
660  u8 ls_name[64];
661 };
662 
663 /** \brief Request for locator_set summary status
664  @param client_index - opaque cookie to identify the sender
665  @param context - sender context, to match reply w/ request
666  @param filter - filter type
667  Supported values:
668  0: all locator sets
669  1: local locator sets
670  2: remote locator sets
671  */
672 define one_locator_set_dump
673 {
677 };
678 
679 /** \brief Dump ONE eid-table
680  @param client_index - opaque cookie to identify the sender
681  @param context - sender context, to match reply w/ request
682  @param locator_set_index - index of locator_set, if ~0 then the mapping
683  is negative
684  @param action - negative map request action
685  @param is_local - local if non-zero, else remote
686  @param eid_type:
687  0 : ipv4
688  1 : ipv6
689  2 : mac
690  @param is_src_dst - EID is type of source/destination
691  @param eid - EID can be ip4, ip6 or mac
692  @param eid_prefix_len - prefix length
693  @param seid - source EID can be ip4, ip6 or mac
694  @param seid_prefix_len - source prefix length
695  @param vni - virtual network instance
696  @param ttl - time to live
697  @param authoritative - authoritative
698  @param key_id
699  HMAC_NO_KEY 0
700  HMAC_SHA_1_96 1
701  HMAC_SHA_256_128 2
702  @param key - secret key
703 */
704 
705 define one_eid_table_details
706 {
714  u8 eid[16];
716  u8 seid[16];
721  u8 key[64];
722 };
723 
724 /** \brief Request for eid table summary status
725  @param client_index - opaque cookie to identify the sender
726  @param context - sender context, to match reply w/ request
727  @param eid_set - if non-zero request info about specific mapping
728  @param vni - virtual network instance; valid only if eid_set != 0
729  @param prefix_length - prefix length if EID is IP address;
730  valid only if eid_set != 0
731  @param eid_type - EID type; valid only if eid_set != 0
732  Supported values:
733  0: EID is IPv4
734  1: EID is IPv6
735  2: EID is ethernet address
736  3 : NSH : both information (service path ID and service index) are
737  encoded in 'eid' field in a following way:
738 
739  |4 B |1 B |
740  -----------
741  |SPI | SI |
742  @param eid - endpoint identifier
743  @param filter - filter type;
744  Support values:
745  0: all eid
746  1: local eid
747  2: remote eid
748  */
749 define one_eid_table_dump
750 {
757  u8 eid[16];
759 };
760 
761 /** \brief ONE adjacency
762  @param eid_type -
763  0 : ipv4
764  1 : ipv6
765  2 : mac
766  @param reid - remote EID
767  @param leid - local EID
768  @param reid_prefix_len - remote EID IP prefix length
769  @param leid_prefix_len - local EID IP prefix length
770  */
771 typeonly manual_print manual_endian define one_adjacency
772 {
774  u8 reid[16];
775  u8 leid[16];
778 };
779 
780 /** \brief ONE adjacency reply
781  @param count - number of adjacencies
782  @param adjacencies - array of adjacencies
783  */
784 manual_endian manual_print define one_adjacencies_get_reply
785 {
790 };
791 
792 /** \brief Request for ONE adjacencies
793  @param client_index - opaque cookie to identify the sender
794  @param context - sender context, to match reply w/ request
795  @param vni - filter adjacencies by VNI
796  */
797 define one_adjacencies_get
798 {
802 };
803 
804 /** \brief Shows relationship between vni and vrf/bd
805  @param dp_table - VRF index or bridge domain index
806  @param vni - vitual network instance
807  */
808 define one_eid_table_map_details
809 {
813 };
814 
815 /** \brief Request for one_eid_table_map_details
816  @param client_index - opaque cookie to identify the sender
817  @param context - sender context, to match reply w/ request
818  @param is_l2 - if set dump vni/bd mappings else vni/vrf
819  */
820 define one_eid_table_map_dump
821 {
825 };
826 
827 /** \brief Dumps all VNIs used in mappings
828  @param client_index - opaque cookie to identify the sender
829  @param context - sender context, to match reply w/ request
830  */
831 define one_eid_table_vni_dump
832 {
835 };
836 
837 /** \brief reply to one_eid_table_vni_dump
838  @param client_index - opaque cookie to identify the sender
839  @param context - sender context, to match reply w/ request
840  @param vni - virtual network instance
841  */
842 define one_eid_table_vni_details
843 {
847 };
848 
849 /** \brief ONE map resolver status
850  @param is_ipv6 - if non-zero the address is ipv6, else ipv4
851  @param ip_address - array of address bytes
852  */
853 define one_map_resolver_details
854 {
857  u8 ip_address[16];
858 };
859 
860 /** \brief Request for map resolver summary status
861  @param client_index - opaque cookie to identify the sender
862  @param context - sender context, to match reply w/ request
863  */
864 define one_map_resolver_dump
865 {
868 };
869 
870 /** \brief ONE map server details
871  @param is_ipv6 - if non-zero the address is ipv6, else ipv4
872  @param ip_address - array of address bytes
873  */
874 define one_map_server_details
875 {
878  u8 ip_address[16];
879 };
880 
881 /** \brief Request for map server summary status
882  @param client_index - opaque cookie to identify the sender
883  @param context - sender context, to match reply w/ request
884  */
885 define one_map_server_dump
886 {
889 };
890 
891 /** \brief Request for ONE status
892  @param client_index - opaque cookie to identify the sender
893  @param context - sender context, to match reply w/ request
894 */
895 define show_one_status
896 {
899 };
900 
901 /** \brief ONE status
902  @param context - sender context, to match reply w/ request
903  @param feature_status - enabled if non-zero, else disabled
904  @param gpe_status - enabled if non-zero, else disabled
905 */
906 define show_one_status_reply
907 {
912 };
913 
914 /** \brief Get ONE map request itr rlocs status
915  @param context - sender context, to match reply w/ request
916  @param locator_set_name - name of the locator_set
917  */
918 define one_get_map_request_itr_rlocs
919 {
922 };
923 
924 /** \brief Request for map request itr rlocs summary status
925  */
926 define one_get_map_request_itr_rlocs_reply
927 {
930  u8 locator_set_name[64];
931 };
932 
933 /** \brief Request for ONE NSH mapping
934  @param client_index - opaque cookie to identify the sender
935  @param context - sender context, to match reply w/ request
936 */
937 define show_one_nsh_mapping
938 {
941 };
942 
943 /** \brief Reply for ONE NSH mapping
944  @param context - sender context, to match reply w/ request
945  @param is_set - is ONE NSH mapping set
946  @param locator_set_name - name of the locator_set if NSH mapping is set
947 */
948 define show_one_nsh_mapping_reply
949 {
953  u8 locator_set_name[64];
954 };
955 
956 /** \brief Request for ONE PITR status
957  @param client_index - opaque cookie to identify the sender
958  @param context - sender context, to match reply w/ request
959 */
960 define show_one_pitr
961 {
964 };
965 
966 /** \brief Status of ONE PITR, enable or disable
967  @param context - sender context, to match reply w/ request
968  @param status - ONE PITR enable if non-zero, else disable
969  @param locator_set_name - name of the locator_set
970 */
971 define show_one_pitr_reply
972 {
976  u8 locator_set_name[64];
977 };
978 
979 define one_stats_dump
980 {
983 };
984 
985 define one_stats_details
986 {
990  u8 deid[16];
991  u8 seid[16];
995  u8 rloc[16];
996  u8 lloc[16];
997 
1000 };
1001 
1002 autoreply define one_stats_flush
1003 {
1006 };
1007 
1008 autoreply define one_stats_enable_disable
1009 {
1013 };
1014 
1015 define show_one_stats_enable_disable
1016 {
1019 };
1020 
1021 define show_one_stats_enable_disable_reply
1022 {
1026 };
1027 
1028 autoreply define one_map_register_fallback_threshold
1029 {
1033 };
1034 
1035 define show_one_map_register_fallback_threshold
1036 {
1039 };
1040 
1041 define show_one_map_register_fallback_threshold_reply
1042 {
1046 };
1047 
1048 autoreply define one_enable_disable_xtr_mode
1049 {
1053 };
1054 
1055 define one_show_xtr_mode
1056 {
1059 };
1060 
1061 define one_show_xtr_mode_reply
1062 {
1066 };
1067 
1068 autoreply define one_enable_disable_petr_mode
1069 {
1073 };
1074 
1075 define one_show_petr_mode
1076 {
1079 };
1080 
1081 define one_show_petr_mode_reply
1082 {
1086 };
1087 
1088 autoreply define one_enable_disable_pitr_mode
1089 {
1093 };
1094 
1095 define one_show_pitr_mode
1096 {
1099 };
1100 
1101 define one_show_pitr_mode_reply
1102 {
1106 };
1107 
1108 /*
1109  * Local Variables:
1110  * eval: (c-set-style "gnu")
1111  * End:
1112  */
typedef address
Definition: ip_types.api:34
Definition: one.api:474
u32 client_index
Definition: one.api:417
ONE adjacency.
Definition: one.api:771
unsigned char u8
Definition: types.h:56
u32 ip4
Definition: one.api:422
u32 context
Definition: one.api:460
u32 ip4
Definition: one.api:440
unsigned int u32
Definition: types.h:88
u32 bd
Definition: one.api:421
u32 context
Definition: one.api:418
unsigned short u16
Definition: types.h:57
Definition: one.api:437
signed int i32
Definition: types.h:81
option version
Definition: one.api:16
u8 is_add
Definition: one.api:419
u32 client_index
Definition: one.api:459
size_t count
Definition: vapi.c:42
u32 entries
u8 is_add
Definition: one.api:461
vhost_vring_addr_t addr
Definition: vhost-user.h:83
u32 bd
Definition: one.api:463