FD.io VPP  v17.04-9-g99c0734
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 define one_add_del_locator
63 {
67  u8 locator_set_name[64];
71 };
72 
73 /** \brief Reply for locator add/del
74  @param context - returned sender context, to match reply w/ request
75  @param retval - return code
76 */
77 define one_add_del_locator_reply
78 {
81 };
82 
83 /** \brief add or delete ONE eid-table
84  @param client_index - opaque cookie to identify the sender
85  @param context - sender context, to match reply w/ request
86  @param is_add - add address if non-zero, else delete
87  @param eid_type:
88  0 : ipv4
89  1 : ipv6
90  2 : mac
91  @param eid - EID can be ip4, ip6 or mac
92  @param prefix_len - prefix len
93  @param locator_set_name - name of locator_set to add/del eid-table
94  @param vni - virtual network instance
95  @param key_id
96  HMAC_NO_KEY 0
97  HMAC_SHA_1_96 1
98  HMAC_SHA_256_128 2
99  @param key - secret key
100 */
101 define one_add_del_local_eid
102 {
107  u8 eid[16];
109  u8 locator_set_name[64];
112  u8 key[64];
113 };
114 
115 /** \brief Reply for local_eid add/del
116  @param context - returned sender context, to match reply w/ request
117  @param retval - return code
118 */
119 define one_add_del_local_eid_reply
120 {
123 };
124 
125 /** \brief Add/delete map server
126  @param client_index - opaque cookie to identify the sender
127  @param context - sender context, to match reply w/ request
128  @param is_add - add address if non-zero; delete otherwise
129  @param is_ipv6 - if non-zero the address is ipv6, else ipv4
130  @param ip_address - map server IP address
131 */
132 define one_add_del_map_server
133 {
138  u8 ip_address[16];
139 };
140 
141 /** \brief Reply for one_add_del_map_server
142  @param context - returned sender context, to match reply w/ request
143  @param retval - return code
144 */
145 define one_add_del_map_server_reply
146 {
149 };
150 
151 /** \brief add or delete map-resolver
152  @param client_index - opaque cookie to identify the sender
153  @param context - sender context, to match reply w/ request
154  @param is_add - add address if non-zero, else delete
155  @param is_ipv6 - if non-zero the address is ipv6, else ipv4
156  @param ip_address - array of address bytes
157 */
158 define one_add_del_map_resolver
159 {
164  u8 ip_address[16];
165 };
166 
167 /** \brief Reply for map_resolver add/del
168  @param context - returned sender context, to match reply w/ request
169  @param retval - return code
170 */
171 define one_add_del_map_resolver_reply
172 {
175 };
176 
177 /** \brief enable or disable ONE feature
178  @param client_index - opaque cookie to identify the sender
179  @param context - sender context, to match reply w/ request
180  @param is_en - enable protocol if non-zero, else disable
181 */
182 define one_enable_disable
183 {
187 };
188 
189 /** \brief Reply for gpe enable/disable
190  @param context - returned sender context, to match reply w/ request
191  @param retval - return code
192 */
193 define one_enable_disable_reply
194 {
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 define one_pitr_set_locator_set
206 {
210  u8 ls_name[64];
211 };
212 
213 /** \brief Reply for one_pitr_set_locator_set
214  @param context - returned sender context, to match reply w/ request
215  @param retval - return code
216 */
217 define one_pitr_set_locator_set_reply
218 {
221 };
222 
223 /** \brief configure or disable use of PETR
224  @param client_index - opaque cookie to identify the sender
225  @param context - sender context, to match reply w/ request
226  @param is_ip4 - Address is IPv4 if set and IPv6 otherwise
227  @param address - PETR IP address
228  @param is_add - add locator set if non-zero, else disable PETR
229 */
230 define one_use_petr
231 {
235  u8 address[16];
237 };
238 
239 /** \brief Reply for one_use_petr
240  @param context - returned sender context, to match reply w/ request
241  @param retval - return code
242 */
243 define one_use_petr_reply
244 {
247 };
248 
249 /** \brief Request for ONE PETR status
250  @param client_index - opaque cookie to identify the sender
251  @param context - sender context, to match reply w/ request
252 */
253 define show_one_use_petr
254 {
257 };
258 
259 /** \brief ONE PETR status, enable or disable
260  @param context - sender context, to match reply w/ request
261  @param status - ONE PETR enable if non-zero, else disable
262  @param is_ip4 - Address is IPv4 if non-zero, else IPv6
263  @param address - PETR IP address
264 */
265 define show_one_use_petr_reply
266 {
271  u8 address[16];
272 };
273 
274 /** \brief Get state of ONE RLOC probing
275  @param client_index - opaque cookie to identify the sender
276  @param context - sender context, to match reply w/ request
277 */
278 define show_one_rloc_probe_state
279 {
282 };
283 
284 /** \brief Reply for show_one_rloc_probe_state
285  @param context - returned sender context, to match reply w/ request
286  @param retval - return code
287  @param is_enabled - state of RLOC probing
288 */
289 define show_one_rloc_probe_state_reply
290 {
294 };
295 
296 /** \brief enable/disable ONE RLOC probing
297  @param client_index - opaque cookie to identify the sender
298  @param context - sender context, to match reply w/ request
299  @param is_enable - enable if non-zero; disable otherwise
300 */
301 define one_rloc_probe_enable_disable
302 {
306 };
307 
308 /** \brief Reply for one_rloc_probe_enable_disable
309  @param context - returned sender context, to match reply w/ request
310  @param retval - return code
311 */
312 define one_rloc_probe_enable_disable_reply
313 {
316 };
317 
318 /** \brief enable/disable ONE map-register
319  @param client_index - opaque cookie to identify the sender
320  @param context - sender context, to match reply w/ request
321  @param is_enable - enable if non-zero; disable otherwise
322 */
323 define one_map_register_enable_disable
324 {
328 };
329 
330 /** \brief Reply for one_map_register_enable_disable
331  @param context - returned sender context, to match reply w/ request
332  @param retval - return code
333 */
334 define one_map_register_enable_disable_reply
335 {
338 };
339 
340 /** \brief Get state of ONE map-register
341  @param client_index - opaque cookie to identify the sender
342  @param context - sender context, to match reply w/ request
343 */
344 define show_one_map_register_state
345 {
348 };
349 
350 /** \brief Reply for show_one_map_register_state
351  @param context - returned sender context, to match reply w/ request
352  @param retval - return code
353 */
354 define show_one_map_register_state_reply
355 {
359 };
360 
361 /** \brief set ONE map-request mode. Based on configuration VPP will send
362  src/dest or just normal destination map requests.
363  @param client_index - opaque cookie to identify the sender
364  @param context - sender context, to match reply w/ request
365  @param mode - new map-request mode. Supported values are:
366  0 - destination only
367  1 - source/destaination
368 */
369 define one_map_request_mode
370 {
374 };
375 
376 /** \brief Reply for one_map_request_mode
377  @param context - returned sender context, to match reply w/ request
378  @param retval - return code
379 */
380 define one_map_request_mode_reply
381 {
384 };
385 
386 /** \brief Request for ONE map-request mode
387  @param client_index - opaque cookie to identify the sender
388  @param context - sender context, to match reply w/ request
389 */
390 define show_one_map_request_mode
391 {
394 };
395 
396 /** \brief Reply for show_one_map_request_mode
397  @param context - returned sender context, to match reply w/ request
398  @param retval - return code
399  @param mode - map-request mode
400 */
401 define show_one_map_request_mode_reply
402 {
406 };
407 
408 typeonly manual_endian manual_print define one_remote_locator
409 {
413  u8 addr[16];
414 };
415 
416 /** \brief add or delete remote static mapping
417  @param client_index - opaque cookie to identify the sender
418  @param context - sender context, to match reply w/ request
419  @param is_add - add address if non-zero, else delete
420  @param is_src_dst - flag indicating src/dst based routing policy
421  @param del_all - if set, delete all remote mappings
422  @param vni - virtual network instance
423  @param action - negative map-reply action
424  @param eid_type -
425  0 : ipv4
426  1 : ipv6
427  2 : mac
428  @param deid - dst EID
429  @param seid - src EID, valid only if is_src_dst is enabled
430  @param rloc_num - number of remote locators
431  @param rlocs - remote locator records
432 */
433 manual_print manual_endian define one_add_del_remote_mapping
434 {
443  u8 eid[16];
445  u8 seid[16];
449 };
450 
451 /** \brief Reply for one_add_del_remote_mapping
452  @param context - returned sender context, to match reply w/ request
453  @param retval - return code
454 */
455 define one_add_del_remote_mapping_reply
456 {
459 };
460 
461 /** \brief add or delete ONE adjacency adjacency
462  @param client_index - opaque cookie to identify the sender
463  @param context - sender context, to match reply w/ request
464  @param is_add - add address if non-zero, else delete
465  @param vni - virtual network instance
466  @param eid_type -
467  0 : ipv4
468  1 : ipv6
469  2 : mac
470  @param reid - remote EID
471  @param leid - local EID
472 */
473 define one_add_del_adjacency
474 {
480  u8 reid[16];
481  u8 leid[16];
484 };
485 
486 /** \brief Reply for one_add_del_adjacency
487  @param context - returned sender context, to match reply w/ request
488  @param retval - return code
489 */
490 define one_add_del_adjacency_reply
491 {
494 };
495 
496 /** \brief add or delete map request itr rlocs
497  @param client_index - opaque cookie to identify the sender
498  @param context - sender context, to match reply w/ request
499  @param is_add - add address if non-zero, else delete
500  @param locator_set_name - locator set name
501 */
502 define one_add_del_map_request_itr_rlocs
503 {
507  u8 locator_set_name[64];
508 };
509 
510 /** \brief Reply for one_add_del_map_request_itr_rlocs
511  @param context - returned sender context, to match reply w/ request
512  @param retval - return code
513 */
514 
515 define one_add_del_map_request_itr_rlocs_reply
516 {
519 };
520 
521 /** \brief map/unmap vni/bd_index to vrf
522  @param client_index - opaque cookie to identify the sender
523  @param context - sender context, to match reply w/ request
524  @param is_add - add or delete mapping
525  @param dp_table - virtual network id/bridge domain index
526  @param vrf - vrf
527 */
528 define one_eid_table_add_del_map
529 {
536 };
537 
538 /** \brief Reply for one_eid_table_add_del_map
539  @param context - returned sender context, to match reply w/ request
540  @param retval - return code
541 */
542 define one_eid_table_add_del_map_reply
543 {
546 };
547 
548 /** \brief Request for map one locator status
549  @param client_index - opaque cookie to identify the sender
550  @param context - sender context, to match reply w/ request
551  @param locator_set_index - index of locator_set
552  @param ls_name - locator set name
553  @param is_index_set - flag indicating whether ls_name or ls_index is set
554  */
555 define one_locator_dump
556 {
560  u8 ls_name[64];
562 };
563 
564 /** \brief ONE locator_set status
565  @param local - if is set, then locator is local
566  @param locator_set_name - name of the locator_set
567  @param sw_if_index - sw_if_index of the locator
568  @param priority - locator priority
569  @param weight - locator weight
570  */
571 define one_locator_details
572 {
577  u8 ip_address[16];
580 };
581 
582 /** \brief ONE locator_set status
583  @param context - sender context, to match reply w/ request
584  @param ls_index - locator set index
585  @param ls_name - name of the locator set
586  */
587 define one_locator_set_details
588 {
591  u8 ls_name[64];
592 };
593 
594 /** \brief Request for locator_set summary status
595  @param client_index - opaque cookie to identify the sender
596  @param context - sender context, to match reply w/ request
597  @param filter - filter type
598  Supported values:
599  0: all locator sets
600  1: local locator sets
601  2: remote locator sets
602  */
603 define one_locator_set_dump
604 {
608 };
609 
610 /** \brief Dump ONE eid-table
611  @param client_index - opaque cookie to identify the sender
612  @param context - sender context, to match reply w/ request
613  @param locator_set_index - index of locator_set, if ~0 then the mapping
614  is negative
615  @param action - negative map request action
616  @param is_local - local if non-zero, else remote
617  @param eid_type:
618  0 : ipv4
619  1 : ipv6
620  2 : mac
621  @param is_src_dst - EID is type of source/destination
622  @param eid - EID can be ip4, ip6 or mac
623  @param eid_prefix_len - prefix length
624  @param seid - source EID can be ip4, ip6 or mac
625  @param seid_prefix_len - source prefix length
626  @param vni - virtual network instance
627  @param ttl - time to live
628  @param authoritative - authoritative
629  @param key_id
630  HMAC_NO_KEY 0
631  HMAC_SHA_1_96 1
632  HMAC_SHA_256_128 2
633  @param key - secret key
634 */
635 
636 define one_eid_table_details
637 {
645  u8 eid[16];
647  u8 seid[16];
652  u8 key[64];
653 };
654 
655 /** \brief Request for eid table summary status
656  @param client_index - opaque cookie to identify the sender
657  @param context - sender context, to match reply w/ request
658  @param eid_set - if non-zero request info about specific mapping
659  @param vni - virtual network instance; valid only if eid_set != 0
660  @param prefix_length - prefix length if EID is IP address;
661  valid only if eid_set != 0
662  @param eid_type - EID type; valid only if eid_set != 0
663  Supported values:
664  0: EID is IPv4
665  1: EID is IPv6
666  2: EID is ethernet address
667  @param eid - endpoint identifier
668  @param filter - filter type;
669  Support values:
670  0: all eid
671  1: local eid
672  2: remote eid
673  */
674 define one_eid_table_dump
675 {
682  u8 eid[16];
684 };
685 
686 /** \brief ONE adjacency
687  @param eid_type -
688  0 : ipv4
689  1 : ipv6
690  2 : mac
691  @param reid - remote EID
692  @param leid - local EID
693  @param reid_prefix_len - remote EID IP prefix length
694  @param leid_prefix_len - local EID IP prefix length
695  */
696 typeonly manual_print manual_endian define one_adjacency
697 {
699  u8 reid[16];
700  u8 leid[16];
703 };
704 
705 /** \brief ONE adjacency reply
706  @param count - number of adjacencies
707  @param adjacencies - array of adjacencies
708  */
709 manual_endian manual_print define one_adjacencies_get_reply
710 {
714  vl_api_one_adjacency_t adjacencies[count];
715 };
716 
717 /** \brief Request for ONE adjacencies
718  @param client_index - opaque cookie to identify the sender
719  @param context - sender context, to match reply w/ request
720  @param vni - filter adjacencies by VNI
721  */
722 define one_adjacencies_get
723 {
727 };
728 
729 /** \brief Shows relationship between vni and vrf/bd
730  @param dp_table - VRF index or bridge domain index
731  @param vni - vitual network instance
732  */
733 define one_eid_table_map_details
734 {
738 };
739 
740 /** \brief Request for one_eid_table_map_details
741  @param client_index - opaque cookie to identify the sender
742  @param context - sender context, to match reply w/ request
743  @param is_l2 - if set dump vni/bd mappings else vni/vrf
744  */
745 define one_eid_table_map_dump
746 {
750 };
751 
752 /** \brief Dumps all VNIs used in mappings
753  @param client_index - opaque cookie to identify the sender
754  @param context - sender context, to match reply w/ request
755  */
756 define one_eid_table_vni_dump
757 {
760 };
761 
762 /** \brief reply to one_eid_table_vni_dump
763  @param client_index - opaque cookie to identify the sender
764  @param context - sender context, to match reply w/ request
765  @param vni - virtual network instance
766  */
767 define one_eid_table_vni_details
768 {
772 };
773 
774 /** \brief ONE map resolver status
775  @param is_ipv6 - if non-zero the address is ipv6, else ipv4
776  @param ip_address - array of address bytes
777  */
778 define one_map_resolver_details
779 {
782  u8 ip_address[16];
783 };
784 
785 /** \brief Request for map resolver summary status
786  @param client_index - opaque cookie to identify the sender
787  @param context - sender context, to match reply w/ request
788  */
789 define one_map_resolver_dump
790 {
793 };
794 
795 /** \brief ONE map server details
796  @param is_ipv6 - if non-zero the address is ipv6, else ipv4
797  @param ip_address - array of address bytes
798  */
799 define one_map_server_details
800 {
803  u8 ip_address[16];
804 };
805 
806 /** \brief Request for map server summary status
807  @param client_index - opaque cookie to identify the sender
808  @param context - sender context, to match reply w/ request
809  */
810 define one_map_server_dump
811 {
814 };
815 
816 /** \brief Request for ONE status
817  @param client_index - opaque cookie to identify the sender
818  @param context - sender context, to match reply w/ request
819 */
820 define show_one_status
821 {
824 };
825 
826 /** \brief ONE status
827  @param context - sender context, to match reply w/ request
828  @param feature_status - enabled if non-zero, else disabled
829  @param gpe_status - enabled if non-zero, else disabled
830 */
831 define show_one_status_reply
832 {
837 };
838 
839 /** \brief Get ONE map request itr rlocs status
840  @param context - sender context, to match reply w/ request
841  @param locator_set_name - name of the locator_set
842  */
843 define one_get_map_request_itr_rlocs
844 {
847 };
848 
849 /** \brief Request for map request itr rlocs summary status
850  */
851 define one_get_map_request_itr_rlocs_reply
852 {
855  u8 locator_set_name[64];
856 };
857 
858 /** \brief Request for ONE PITR status
859  @param client_index - opaque cookie to identify the sender
860  @param context - sender context, to match reply w/ request
861 */
862 define show_one_pitr
863 {
866 };
867 
868 /** \brief Status of ONE PITR, enable or disable
869  @param context - sender context, to match reply w/ request
870  @param status - ONE PITR enable if non-zero, else disable
871  @param locator_set_name - name of the locator_set
872 */
873 define show_one_pitr_reply
874 {
878  u8 locator_set_name[64];
879 };
880 
881 define one_stats_dump
882 {
885 };
886 
887 define one_stats_details
888 {
892  u8 deid[16];
893  u8 seid[16];
897  u8 rloc[16];
898  u8 lloc[16];
899 
902 };
903 
904 define one_stats_enable_disable
905 {
909 };
910 
911 define one_stats_enable_disable_reply
912 {
915 };
916 
917 define show_one_stats_enable_disable
918 {
921 };
922 
923 define show_one_stats_enable_disable_reply
924 {
928 };
929 
930 /*
931  * Local Variables:
932  * eval: (c-set-style "gnu")
933  * End:
934  */
ONE adjacency.
Definition: one.api:696
int i32
Definition: types.h:81
unsigned int u32
Definition: types.h:88
unsigned short u16
Definition: types.h:57
unsigned char u8
Definition: types.h:56
vhost_vring_addr_t addr
Definition: vhost-user.h:84