FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
pot.api
Go to the documentation of this file.
1 /* Hey Emacs use -*- mode: C -*- */
2 /*
3  * Copyright (c) 2016 Cisco and/or its affiliates.
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at:
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 option version = "1.0.0";
18 
19 /** \brief Proof of Transit(POT): Set POT profile
20  @param id - id of the profile
21  @param validator - True/False to indicate if this is verifier
22  @param secret_key - Verification key
23  @param secret_share - Share of the 1st polynomial
24  @param prime - Prime number used for modulo operation
25  @param max_bits - Max bits to be used for Random number generation
26  @param lpc - Lagrange basis polynomial
27  @param polynomial_public - pre-evaluated public polynomial
28  @param list_name - name of this profile list
29 */
30 autoreply define pot_profile_add {
33  u8 id;
41  string list_name[];
42 };
43 
44 /** \brief Proof of Transit(POT): Activate POT profile in the list
45  @param id - id of the profile
46  @param list_name - name of this profile list
47 */
48 autoreply define pot_profile_activate {
51  u8 id;
52  string list_name[];
53 };
54 
55 /** \brief Delete POT Profile
56  @param client_index - opaque cookie to identify the sender
57  @param context - sender context, to match reply w/ request
58  @param list_name - name of profile list to delete
59 */
60 autoreply define pot_profile_del {
63  string list_name[];
64 };
65 
66 /** \brief Show POT Profiles
67  @param client_index - opaque cookie to identify the sender
68  @param context - sender context, to match reply w/ request
69  @param id - id of the profile
70 */
71 define pot_profile_show_config_dump {
74  u8 id;
75 };
76 
77 /** \brief Show POT profile reply
78  @param id - id of the profile
79  @param validator - True/False to indicate if this is verifier
80  @param secret_key - Verification key
81  @param secret_share - Share of the 1st polynomial
82  @param prime - Prime number used for modulo operation
83  @param max_bits - Max bits to be used for Random number generation
84  @param lpc - Lagrange basis polynomial
85  @param polynomial_public - pre-evaluated public polynomial
86  @param list_name_len - length of the name of this profile list
87  @param list_name - name of this profile list
88 */
89 define pot_profile_show_config_details {
92  u8 id;
100 };
version
option version
Definition: pot.api:17
vl_api_pot_profile_show_config_dump_t::context
u32 context
Definition: pot.api:73
vl_api_pot_profile_add_t::secret_key
u64 secret_key
Definition: pot.api:35
vl_api_pot_profile_activate_t::context
u32 context
Definition: pot.api:50
vl_api_pot_profile_del_t
Delete POT Profile.
Definition: pot.api:60
vl_api_pot_profile_show_config_details_t::id
u8 id
Definition: pot.api:92
vl_api_pot_profile_show_config_details_t::context
u32 context
Definition: pot.api:90
vl_api_pot_profile_add_t::prime
u64 prime
Definition: pot.api:37
vl_api_pot_profile_add_t::list_name
string list_name[]
Definition: pot.api:41
vl_api_pot_profile_activate_t::list_name
string list_name[]
Definition: pot.api:52
vl_api_pot_profile_show_config_dump_t::id
u8 id
Definition: pot.api:74
vl_api_pot_profile_show_config_details_t::prime
u64 prime
Definition: pot.api:96
vl_api_pot_profile_add_t::client_index
u32 client_index
Definition: pot.api:31
vl_api_pot_profile_show_config_details_t::polynomial_public
u64 polynomial_public
Definition: pot.api:99
vl_api_pot_profile_add_t::validator
u8 validator
Definition: pot.api:34
i32
signed int i32
Definition: types.h:77
vl_api_pot_profile_activate_t
Proof of Transit(POT): Activate POT profile in the list.
Definition: pot.api:48
vl_api_pot_profile_show_config_details_t::secret_key
u64 secret_key
Definition: pot.api:94
vl_api_pot_profile_show_config_details_t::bit_mask
u64 bit_mask
Definition: pot.api:97
vl_api_pot_profile_show_config_details_t::retval
i32 retval
Definition: pot.api:91
vl_api_pot_profile_add_t::max_bits
u8 max_bits
Definition: pot.api:38
vl_api_pot_profile_add_t::lpc
u64 lpc
Definition: pot.api:39
vl_api_pot_profile_show_config_dump_t::client_index
u32 client_index
Definition: pot.api:72
vl_api_pot_profile_show_config_details_t::lpc
u64 lpc
Definition: pot.api:98
vl_api_pot_profile_add_t::secret_share
u64 secret_share
Definition: pot.api:36
vl_api_pot_profile_show_config_details_t::secret_share
u64 secret_share
Definition: pot.api:95
vl_api_pot_profile_activate_t::id
u8 id
Definition: pot.api:51
vl_api_pot_profile_del_t::list_name
string list_name[]
Definition: pot.api:63
vl_api_pot_profile_del_t::context
u32 context
Definition: pot.api:62
vl_api_pot_profile_add_t::polynomial_public
u64 polynomial_public
Definition: pot.api:40
vl_api_pot_profile_add_t::id
u8 id
Definition: pot.api:33
u64
unsigned long u64
Definition: types.h:89
vl_api_pot_profile_add_t
Proof of Transit(POT): Set POT profile.
Definition: pot.api:30
u32
unsigned int u32
Definition: types.h:88
vl_api_pot_profile_add_t::context
u32 context
Definition: pot.api:32
vl_api_pot_profile_show_config_details_t
Show POT profile reply.
Definition: pot.api:89
vl_api_pot_profile_del_t::client_index
u32 client_index
Definition: pot.api:61
u8
unsigned char u8
Definition: types.h:56
vl_api_pot_profile_show_config_dump_t
Show POT Profiles.
Definition: pot.api:71
vl_api_pot_profile_activate_t::client_index
u32 client_index
Definition: pot.api:49
vl_api_pot_profile_show_config_details_t::validator
u8 validator
Definition: pot.api:93