FD.io VPP
v19.01.3-6-g70449b9b9
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_len - length of the name of this profile list
29
@param list_name - name of this profile list
30
*/
31
autoreply define pot_profile_add {
32
u32
client_index
;
33
u32
context
;
34
u8
id
;
35
u8
validator
;
36
u64
secret_key
;
37
u64
secret_share
;
38
u64
prime
;
39
u8
max_bits
;
40
u64
lpc
;
41
u64
polynomial_public
;
42
u8
list_name_len
;
43
u8
list_name[list_name_len];
44
};
45
46
/** \brief Proof of Transit(POT): Activate POT profile in the list
47
@param id - id of the profile
48
@param list_name_len - length of the name of this profile list
49
@param list_name - name of this profile list
50
*/
51
autoreply define pot_profile_activate {
52
u32
client_index
;
53
u32
context
;
54
u8
id
;
55
u8
list_name_len
;
56
u8
list_name[list_name_len];
57
};
58
59
/** \brief Delete POT Profile
60
@param client_index - opaque cookie to identify the sender
61
@param context - sender context, to match reply w/ request
62
@param list_name_len - length of the name of the profile list
63
@param list_name - name of profile list to delete
64
*/
65
autoreply define pot_profile_del {
66
u32
client_index
;
67
u32
context
;
68
u8
list_name_len
;
69
u8
list_name[list_name_len];
70
};
71
72
/** \brief Show POT Profiles
73
@param client_index - opaque cookie to identify the sender
74
@param context - sender context, to match reply w/ request
75
@param id - id of the profile
76
*/
77
define pot_profile_show_config_dump {
78
u32
client_index
;
79
u32
context
;
80
u8
id
;
81
};
82
83
/** \brief Show POT profile reply
84
@param id - id of the profile
85
@param validator - True/False to indicate if this is verifier
86
@param secret_key - Verification key
87
@param secret_share - Share of the 1st polynomial
88
@param prime - Prime number used for modulo operation
89
@param max_bits - Max bits to be used for Random number generation
90
@param lpc - Lagrange basis polynomial
91
@param polynomial_public - pre-evaluated public polynomial
92
@param list_name_len - length of the name of this profile list
93
@param list_name - name of this profile list
94
*/
95
define pot_profile_show_config_details {
96
u32
context
;
97
i32
retval
;
98
u8
id
;
99
u8
validator
;
100
u64
secret_key
;
101
u64
secret_share
;
102
u64
prime
;
103
u64
bit_mask
;
104
u64
lpc
;
105
u64
polynomial_public
;
106
};
vl_api_pot_profile_add_t::list_name_len
u8 list_name_len
Definition:
pot.api:42
u64
unsigned long u64
Definition:
types.h:89
vl_api_pot_profile_show_config_dump_t::context
u32 context
Definition:
pot.api:79
vl_api_pot_profile_add_t::polynomial_public
u64 polynomial_public
Definition:
pot.api:41
vl_api_pot_profile_add_t::prime
u64 prime
Definition:
pot.api:38
vl_api_pot_profile_del_t::client_index
u32 client_index
Definition:
pot.api:66
vl_api_pot_profile_show_config_details_t::id
u8 id
Definition:
pot.api:98
u8
unsigned char u8
Definition:
types.h:56
vl_api_pot_profile_show_config_dump_t::client_index
u32 client_index
Definition:
pot.api:78
vl_api_pot_profile_activate_t::list_name_len
u8 list_name_len
Definition:
pot.api:55
u32
unsigned int u32
Definition:
types.h:88
vl_api_pot_profile_add_t::max_bits
u8 max_bits
Definition:
pot.api:39
version
option version
Definition:
pot.api:17
vl_api_pot_profile_add_t::lpc
u64 lpc
Definition:
pot.api:40
vl_api_pot_profile_add_t::secret_key
u64 secret_key
Definition:
pot.api:36
vl_api_pot_profile_add_t::secret_share
u64 secret_share
Definition:
pot.api:37
vl_api_pot_profile_show_config_details_t::lpc
u64 lpc
Definition:
pot.api:104
vl_api_pot_profile_show_config_details_t::validator
u8 validator
Definition:
pot.api:99
vl_api_pot_profile_show_config_details_t::prime
u64 prime
Definition:
pot.api:102
vl_api_pot_profile_show_config_details_t::context
u32 context
Definition:
pot.api:96
vl_api_pot_profile_del_t::context
u32 context
Definition:
pot.api:67
vl_api_pot_profile_activate_t::id
u8 id
Definition:
pot.api:54
vl_api_pot_profile_show_config_details_t::secret_key
u64 secret_key
Definition:
pot.api:100
vl_api_pot_profile_del_t::list_name_len
u8 list_name_len
Definition:
pot.api:68
vl_api_pot_profile_add_t::id
u8 id
Definition:
pot.api:34
i32
signed int i32
Definition:
types.h:77
vl_api_pot_profile_show_config_dump_t::id
u8 id
Definition:
pot.api:80
vl_api_pot_profile_add_t::context
u32 context
Definition:
pot.api:33
vl_api_pot_profile_show_config_details_t::bit_mask
u64 bit_mask
Definition:
pot.api:103
vl_api_pot_profile_activate_t::client_index
u32 client_index
Definition:
pot.api:52
vl_api_pot_profile_show_config_details_t::secret_share
u64 secret_share
Definition:
pot.api:101
vl_api_pot_profile_show_config_details_t::polynomial_public
u64 polynomial_public
Definition:
pot.api:105
vl_api_pot_profile_add_t::validator
u8 validator
Definition:
pot.api:35
vl_api_pot_profile_add_t::client_index
u32 client_index
Definition:
pot.api:32
vl_api_pot_profile_show_config_details_t::retval
i32 retval
Definition:
pot.api:97
vl_api_pot_profile_activate_t::context
u32 context
Definition:
pot.api:53
src
plugins
ioam
lib-pot
pot.api
Generated on Mon Nov 25 2019 16:00:19 for FD.io VPP by
1.8.13