1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
3 // binapi-generator: v0.5.0-dev
5 // source: /usr/share/vpp/api/core/ipsec_types.api.json
7 // Package ipsec_types contains generated bindings for API file ipsec_types.api.
18 api "git.fd.io/govpp.git/api"
19 _ "git.fd.io/govpp.git/binapi/interface_types"
20 ip_types "git.fd.io/govpp.git/binapi/ip_types"
21 tunnel_types "git.fd.io/govpp.git/binapi/tunnel_types"
24 // This is a compile-time assertion to ensure that this generated file
25 // is compatible with the GoVPP api package it is being compiled against.
26 // A compilation error at this line likely means your copy of the
27 // GoVPP api package needs to be updated.
28 const _ = api.GoVppAPIPackageIsVersion2
31 APIFile = "ipsec_types"
33 VersionCrc = 0x48f74470
36 // IpsecCryptoAlg defines enum 'ipsec_crypto_alg'.
37 type IpsecCryptoAlg uint32
40 IPSEC_API_CRYPTO_ALG_NONE IpsecCryptoAlg = 0
41 IPSEC_API_CRYPTO_ALG_AES_CBC_128 IpsecCryptoAlg = 1
42 IPSEC_API_CRYPTO_ALG_AES_CBC_192 IpsecCryptoAlg = 2
43 IPSEC_API_CRYPTO_ALG_AES_CBC_256 IpsecCryptoAlg = 3
44 IPSEC_API_CRYPTO_ALG_AES_CTR_128 IpsecCryptoAlg = 4
45 IPSEC_API_CRYPTO_ALG_AES_CTR_192 IpsecCryptoAlg = 5
46 IPSEC_API_CRYPTO_ALG_AES_CTR_256 IpsecCryptoAlg = 6
47 IPSEC_API_CRYPTO_ALG_AES_GCM_128 IpsecCryptoAlg = 7
48 IPSEC_API_CRYPTO_ALG_AES_GCM_192 IpsecCryptoAlg = 8
49 IPSEC_API_CRYPTO_ALG_AES_GCM_256 IpsecCryptoAlg = 9
50 IPSEC_API_CRYPTO_ALG_DES_CBC IpsecCryptoAlg = 10
51 IPSEC_API_CRYPTO_ALG_3DES_CBC IpsecCryptoAlg = 11
55 IpsecCryptoAlg_name = map[uint32]string{
56 0: "IPSEC_API_CRYPTO_ALG_NONE",
57 1: "IPSEC_API_CRYPTO_ALG_AES_CBC_128",
58 2: "IPSEC_API_CRYPTO_ALG_AES_CBC_192",
59 3: "IPSEC_API_CRYPTO_ALG_AES_CBC_256",
60 4: "IPSEC_API_CRYPTO_ALG_AES_CTR_128",
61 5: "IPSEC_API_CRYPTO_ALG_AES_CTR_192",
62 6: "IPSEC_API_CRYPTO_ALG_AES_CTR_256",
63 7: "IPSEC_API_CRYPTO_ALG_AES_GCM_128",
64 8: "IPSEC_API_CRYPTO_ALG_AES_GCM_192",
65 9: "IPSEC_API_CRYPTO_ALG_AES_GCM_256",
66 10: "IPSEC_API_CRYPTO_ALG_DES_CBC",
67 11: "IPSEC_API_CRYPTO_ALG_3DES_CBC",
69 IpsecCryptoAlg_value = map[string]uint32{
70 "IPSEC_API_CRYPTO_ALG_NONE": 0,
71 "IPSEC_API_CRYPTO_ALG_AES_CBC_128": 1,
72 "IPSEC_API_CRYPTO_ALG_AES_CBC_192": 2,
73 "IPSEC_API_CRYPTO_ALG_AES_CBC_256": 3,
74 "IPSEC_API_CRYPTO_ALG_AES_CTR_128": 4,
75 "IPSEC_API_CRYPTO_ALG_AES_CTR_192": 5,
76 "IPSEC_API_CRYPTO_ALG_AES_CTR_256": 6,
77 "IPSEC_API_CRYPTO_ALG_AES_GCM_128": 7,
78 "IPSEC_API_CRYPTO_ALG_AES_GCM_192": 8,
79 "IPSEC_API_CRYPTO_ALG_AES_GCM_256": 9,
80 "IPSEC_API_CRYPTO_ALG_DES_CBC": 10,
81 "IPSEC_API_CRYPTO_ALG_3DES_CBC": 11,
85 func (x IpsecCryptoAlg) String() string {
86 s, ok := IpsecCryptoAlg_name[uint32(x)]
90 return "IpsecCryptoAlg(" + strconv.Itoa(int(x)) + ")"
93 // IpsecIntegAlg defines enum 'ipsec_integ_alg'.
94 type IpsecIntegAlg uint32
97 IPSEC_API_INTEG_ALG_NONE IpsecIntegAlg = 0
98 IPSEC_API_INTEG_ALG_MD5_96 IpsecIntegAlg = 1
99 IPSEC_API_INTEG_ALG_SHA1_96 IpsecIntegAlg = 2
100 IPSEC_API_INTEG_ALG_SHA_256_96 IpsecIntegAlg = 3
101 IPSEC_API_INTEG_ALG_SHA_256_128 IpsecIntegAlg = 4
102 IPSEC_API_INTEG_ALG_SHA_384_192 IpsecIntegAlg = 5
103 IPSEC_API_INTEG_ALG_SHA_512_256 IpsecIntegAlg = 6
107 IpsecIntegAlg_name = map[uint32]string{
108 0: "IPSEC_API_INTEG_ALG_NONE",
109 1: "IPSEC_API_INTEG_ALG_MD5_96",
110 2: "IPSEC_API_INTEG_ALG_SHA1_96",
111 3: "IPSEC_API_INTEG_ALG_SHA_256_96",
112 4: "IPSEC_API_INTEG_ALG_SHA_256_128",
113 5: "IPSEC_API_INTEG_ALG_SHA_384_192",
114 6: "IPSEC_API_INTEG_ALG_SHA_512_256",
116 IpsecIntegAlg_value = map[string]uint32{
117 "IPSEC_API_INTEG_ALG_NONE": 0,
118 "IPSEC_API_INTEG_ALG_MD5_96": 1,
119 "IPSEC_API_INTEG_ALG_SHA1_96": 2,
120 "IPSEC_API_INTEG_ALG_SHA_256_96": 3,
121 "IPSEC_API_INTEG_ALG_SHA_256_128": 4,
122 "IPSEC_API_INTEG_ALG_SHA_384_192": 5,
123 "IPSEC_API_INTEG_ALG_SHA_512_256": 6,
127 func (x IpsecIntegAlg) String() string {
128 s, ok := IpsecIntegAlg_name[uint32(x)]
132 return "IpsecIntegAlg(" + strconv.Itoa(int(x)) + ")"
135 // IpsecProto defines enum 'ipsec_proto'.
136 type IpsecProto uint32
139 IPSEC_API_PROTO_ESP IpsecProto = 50
140 IPSEC_API_PROTO_AH IpsecProto = 51
144 IpsecProto_name = map[uint32]string{
145 50: "IPSEC_API_PROTO_ESP",
146 51: "IPSEC_API_PROTO_AH",
148 IpsecProto_value = map[string]uint32{
149 "IPSEC_API_PROTO_ESP": 50,
150 "IPSEC_API_PROTO_AH": 51,
154 func (x IpsecProto) String() string {
155 s, ok := IpsecProto_name[uint32(x)]
159 return "IpsecProto(" + strconv.Itoa(int(x)) + ")"
162 // IpsecSadFlags defines enum 'ipsec_sad_flags'.
163 type IpsecSadFlags uint32
166 IPSEC_API_SAD_FLAG_NONE IpsecSadFlags = 0
167 IPSEC_API_SAD_FLAG_USE_ESN IpsecSadFlags = 1
168 IPSEC_API_SAD_FLAG_USE_ANTI_REPLAY IpsecSadFlags = 2
169 IPSEC_API_SAD_FLAG_IS_TUNNEL IpsecSadFlags = 4
170 IPSEC_API_SAD_FLAG_IS_TUNNEL_V6 IpsecSadFlags = 8
171 IPSEC_API_SAD_FLAG_UDP_ENCAP IpsecSadFlags = 16
172 IPSEC_API_SAD_FLAG_IS_INBOUND IpsecSadFlags = 64
173 IPSEC_API_SAD_FLAG_ASYNC IpsecSadFlags = 128
177 IpsecSadFlags_name = map[uint32]string{
178 0: "IPSEC_API_SAD_FLAG_NONE",
179 1: "IPSEC_API_SAD_FLAG_USE_ESN",
180 2: "IPSEC_API_SAD_FLAG_USE_ANTI_REPLAY",
181 4: "IPSEC_API_SAD_FLAG_IS_TUNNEL",
182 8: "IPSEC_API_SAD_FLAG_IS_TUNNEL_V6",
183 16: "IPSEC_API_SAD_FLAG_UDP_ENCAP",
184 64: "IPSEC_API_SAD_FLAG_IS_INBOUND",
185 128: "IPSEC_API_SAD_FLAG_ASYNC",
187 IpsecSadFlags_value = map[string]uint32{
188 "IPSEC_API_SAD_FLAG_NONE": 0,
189 "IPSEC_API_SAD_FLAG_USE_ESN": 1,
190 "IPSEC_API_SAD_FLAG_USE_ANTI_REPLAY": 2,
191 "IPSEC_API_SAD_FLAG_IS_TUNNEL": 4,
192 "IPSEC_API_SAD_FLAG_IS_TUNNEL_V6": 8,
193 "IPSEC_API_SAD_FLAG_UDP_ENCAP": 16,
194 "IPSEC_API_SAD_FLAG_IS_INBOUND": 64,
195 "IPSEC_API_SAD_FLAG_ASYNC": 128,
199 func (x IpsecSadFlags) String() string {
200 s, ok := IpsecSadFlags_name[uint32(x)]
204 str := func(n uint32) string {
205 s, ok := IpsecSadFlags_name[uint32(n)]
209 return "IpsecSadFlags(" + strconv.Itoa(int(n)) + ")"
211 for i := uint32(0); i <= 32; i++ {
221 return str(uint32(x))
226 // IpsecSadEntry defines type 'ipsec_sad_entry'.
227 type IpsecSadEntry struct {
228 SadID uint32 `binapi:"u32,name=sad_id" json:"sad_id,omitempty"`
229 Spi uint32 `binapi:"u32,name=spi" json:"spi,omitempty"`
230 Protocol IpsecProto `binapi:"ipsec_proto,name=protocol" json:"protocol,omitempty"`
231 CryptoAlgorithm IpsecCryptoAlg `binapi:"ipsec_crypto_alg,name=crypto_algorithm" json:"crypto_algorithm,omitempty"`
232 CryptoKey Key `binapi:"key,name=crypto_key" json:"crypto_key,omitempty"`
233 IntegrityAlgorithm IpsecIntegAlg `binapi:"ipsec_integ_alg,name=integrity_algorithm" json:"integrity_algorithm,omitempty"`
234 IntegrityKey Key `binapi:"key,name=integrity_key" json:"integrity_key,omitempty"`
235 Flags IpsecSadFlags `binapi:"ipsec_sad_flags,name=flags" json:"flags,omitempty"`
236 TunnelSrc ip_types.Address `binapi:"address,name=tunnel_src" json:"tunnel_src,omitempty"`
237 TunnelDst ip_types.Address `binapi:"address,name=tunnel_dst" json:"tunnel_dst,omitempty"`
238 TxTableID uint32 `binapi:"u32,name=tx_table_id" json:"tx_table_id,omitempty"`
239 Salt uint32 `binapi:"u32,name=salt" json:"salt,omitempty"`
240 UDPSrcPort uint16 `binapi:"u16,name=udp_src_port,default=4500" json:"udp_src_port,omitempty"`
241 UDPDstPort uint16 `binapi:"u16,name=udp_dst_port,default=4500" json:"udp_dst_port,omitempty"`
244 // IpsecSadEntryV2 defines type 'ipsec_sad_entry_v2'.
245 type IpsecSadEntryV2 struct {
246 SadID uint32 `binapi:"u32,name=sad_id" json:"sad_id,omitempty"`
247 Spi uint32 `binapi:"u32,name=spi" json:"spi,omitempty"`
248 Protocol IpsecProto `binapi:"ipsec_proto,name=protocol" json:"protocol,omitempty"`
249 CryptoAlgorithm IpsecCryptoAlg `binapi:"ipsec_crypto_alg,name=crypto_algorithm" json:"crypto_algorithm,omitempty"`
250 CryptoKey Key `binapi:"key,name=crypto_key" json:"crypto_key,omitempty"`
251 IntegrityAlgorithm IpsecIntegAlg `binapi:"ipsec_integ_alg,name=integrity_algorithm" json:"integrity_algorithm,omitempty"`
252 IntegrityKey Key `binapi:"key,name=integrity_key" json:"integrity_key,omitempty"`
253 Flags IpsecSadFlags `binapi:"ipsec_sad_flags,name=flags" json:"flags,omitempty"`
254 TunnelSrc ip_types.Address `binapi:"address,name=tunnel_src" json:"tunnel_src,omitempty"`
255 TunnelDst ip_types.Address `binapi:"address,name=tunnel_dst" json:"tunnel_dst,omitempty"`
256 TunnelFlags tunnel_types.TunnelEncapDecapFlags `binapi:"tunnel_encap_decap_flags,name=tunnel_flags" json:"tunnel_flags,omitempty"`
257 Dscp ip_types.IPDscp `binapi:"ip_dscp,name=dscp" json:"dscp,omitempty"`
258 TxTableID uint32 `binapi:"u32,name=tx_table_id" json:"tx_table_id,omitempty"`
259 Salt uint32 `binapi:"u32,name=salt" json:"salt,omitempty"`
260 UDPSrcPort uint16 `binapi:"u16,name=udp_src_port,default=4500" json:"udp_src_port,omitempty"`
261 UDPDstPort uint16 `binapi:"u16,name=udp_dst_port,default=4500" json:"udp_dst_port,omitempty"`
264 // IpsecSadEntryV3 defines type 'ipsec_sad_entry_v3'.
265 type IpsecSadEntryV3 struct {
266 SadID uint32 `binapi:"u32,name=sad_id" json:"sad_id,omitempty"`
267 Spi uint32 `binapi:"u32,name=spi" json:"spi,omitempty"`
268 Protocol IpsecProto `binapi:"ipsec_proto,name=protocol" json:"protocol,omitempty"`
269 CryptoAlgorithm IpsecCryptoAlg `binapi:"ipsec_crypto_alg,name=crypto_algorithm" json:"crypto_algorithm,omitempty"`
270 CryptoKey Key `binapi:"key,name=crypto_key" json:"crypto_key,omitempty"`
271 IntegrityAlgorithm IpsecIntegAlg `binapi:"ipsec_integ_alg,name=integrity_algorithm" json:"integrity_algorithm,omitempty"`
272 IntegrityKey Key `binapi:"key,name=integrity_key" json:"integrity_key,omitempty"`
273 Flags IpsecSadFlags `binapi:"ipsec_sad_flags,name=flags" json:"flags,omitempty"`
274 Tunnel tunnel_types.Tunnel `binapi:"tunnel,name=tunnel" json:"tunnel,omitempty"`
275 Salt uint32 `binapi:"u32,name=salt" json:"salt,omitempty"`
276 UDPSrcPort uint16 `binapi:"u16,name=udp_src_port,default=4500" json:"udp_src_port,omitempty"`
277 UDPDstPort uint16 `binapi:"u16,name=udp_dst_port,default=4500" json:"udp_dst_port,omitempty"`
280 // Key defines type 'key'.
282 Length uint8 `binapi:"u8,name=length" json:"length,omitempty"`
283 Data []byte `binapi:"u8[128],name=data" json:"data,omitempty"`