1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
3 // binapi-generator: v0.4.0-dev
6 // Package ipsec_types contains generated bindings for API file ipsec_types.api.
17 api "git.fd.io/govpp.git/api"
18 ip_types "git.fd.io/govpp.git/binapi/ip_types"
21 // This is a compile-time assertion to ensure that this generated file
22 // is compatible with the GoVPP api package it is being compiled against.
23 // A compilation error at this line likely means your copy of the
24 // GoVPP api package needs to be updated.
25 const _ = api.GoVppAPIPackageIsVersion2
27 // IpsecCryptoAlg defines enum 'ipsec_crypto_alg'.
28 type IpsecCryptoAlg uint32
31 IPSEC_API_CRYPTO_ALG_NONE IpsecCryptoAlg = 0
32 IPSEC_API_CRYPTO_ALG_AES_CBC_128 IpsecCryptoAlg = 1
33 IPSEC_API_CRYPTO_ALG_AES_CBC_192 IpsecCryptoAlg = 2
34 IPSEC_API_CRYPTO_ALG_AES_CBC_256 IpsecCryptoAlg = 3
35 IPSEC_API_CRYPTO_ALG_AES_CTR_128 IpsecCryptoAlg = 4
36 IPSEC_API_CRYPTO_ALG_AES_CTR_192 IpsecCryptoAlg = 5
37 IPSEC_API_CRYPTO_ALG_AES_CTR_256 IpsecCryptoAlg = 6
38 IPSEC_API_CRYPTO_ALG_AES_GCM_128 IpsecCryptoAlg = 7
39 IPSEC_API_CRYPTO_ALG_AES_GCM_192 IpsecCryptoAlg = 8
40 IPSEC_API_CRYPTO_ALG_AES_GCM_256 IpsecCryptoAlg = 9
41 IPSEC_API_CRYPTO_ALG_DES_CBC IpsecCryptoAlg = 10
42 IPSEC_API_CRYPTO_ALG_3DES_CBC IpsecCryptoAlg = 11
46 IpsecCryptoAlg_name = map[uint32]string{
47 0: "IPSEC_API_CRYPTO_ALG_NONE",
48 1: "IPSEC_API_CRYPTO_ALG_AES_CBC_128",
49 2: "IPSEC_API_CRYPTO_ALG_AES_CBC_192",
50 3: "IPSEC_API_CRYPTO_ALG_AES_CBC_256",
51 4: "IPSEC_API_CRYPTO_ALG_AES_CTR_128",
52 5: "IPSEC_API_CRYPTO_ALG_AES_CTR_192",
53 6: "IPSEC_API_CRYPTO_ALG_AES_CTR_256",
54 7: "IPSEC_API_CRYPTO_ALG_AES_GCM_128",
55 8: "IPSEC_API_CRYPTO_ALG_AES_GCM_192",
56 9: "IPSEC_API_CRYPTO_ALG_AES_GCM_256",
57 10: "IPSEC_API_CRYPTO_ALG_DES_CBC",
58 11: "IPSEC_API_CRYPTO_ALG_3DES_CBC",
60 IpsecCryptoAlg_value = map[string]uint32{
61 "IPSEC_API_CRYPTO_ALG_NONE": 0,
62 "IPSEC_API_CRYPTO_ALG_AES_CBC_128": 1,
63 "IPSEC_API_CRYPTO_ALG_AES_CBC_192": 2,
64 "IPSEC_API_CRYPTO_ALG_AES_CBC_256": 3,
65 "IPSEC_API_CRYPTO_ALG_AES_CTR_128": 4,
66 "IPSEC_API_CRYPTO_ALG_AES_CTR_192": 5,
67 "IPSEC_API_CRYPTO_ALG_AES_CTR_256": 6,
68 "IPSEC_API_CRYPTO_ALG_AES_GCM_128": 7,
69 "IPSEC_API_CRYPTO_ALG_AES_GCM_192": 8,
70 "IPSEC_API_CRYPTO_ALG_AES_GCM_256": 9,
71 "IPSEC_API_CRYPTO_ALG_DES_CBC": 10,
72 "IPSEC_API_CRYPTO_ALG_3DES_CBC": 11,
76 func (x IpsecCryptoAlg) String() string {
77 s, ok := IpsecCryptoAlg_name[uint32(x)]
81 return "IpsecCryptoAlg(" + strconv.Itoa(int(x)) + ")"
84 // IpsecIntegAlg defines enum 'ipsec_integ_alg'.
85 type IpsecIntegAlg uint32
88 IPSEC_API_INTEG_ALG_NONE IpsecIntegAlg = 0
89 IPSEC_API_INTEG_ALG_MD5_96 IpsecIntegAlg = 1
90 IPSEC_API_INTEG_ALG_SHA1_96 IpsecIntegAlg = 2
91 IPSEC_API_INTEG_ALG_SHA_256_96 IpsecIntegAlg = 3
92 IPSEC_API_INTEG_ALG_SHA_256_128 IpsecIntegAlg = 4
93 IPSEC_API_INTEG_ALG_SHA_384_192 IpsecIntegAlg = 5
94 IPSEC_API_INTEG_ALG_SHA_512_256 IpsecIntegAlg = 6
98 IpsecIntegAlg_name = map[uint32]string{
99 0: "IPSEC_API_INTEG_ALG_NONE",
100 1: "IPSEC_API_INTEG_ALG_MD5_96",
101 2: "IPSEC_API_INTEG_ALG_SHA1_96",
102 3: "IPSEC_API_INTEG_ALG_SHA_256_96",
103 4: "IPSEC_API_INTEG_ALG_SHA_256_128",
104 5: "IPSEC_API_INTEG_ALG_SHA_384_192",
105 6: "IPSEC_API_INTEG_ALG_SHA_512_256",
107 IpsecIntegAlg_value = map[string]uint32{
108 "IPSEC_API_INTEG_ALG_NONE": 0,
109 "IPSEC_API_INTEG_ALG_MD5_96": 1,
110 "IPSEC_API_INTEG_ALG_SHA1_96": 2,
111 "IPSEC_API_INTEG_ALG_SHA_256_96": 3,
112 "IPSEC_API_INTEG_ALG_SHA_256_128": 4,
113 "IPSEC_API_INTEG_ALG_SHA_384_192": 5,
114 "IPSEC_API_INTEG_ALG_SHA_512_256": 6,
118 func (x IpsecIntegAlg) String() string {
119 s, ok := IpsecIntegAlg_name[uint32(x)]
123 return "IpsecIntegAlg(" + strconv.Itoa(int(x)) + ")"
126 // IpsecProto defines enum 'ipsec_proto'.
127 type IpsecProto uint32
130 IPSEC_API_PROTO_ESP IpsecProto = 50
131 IPSEC_API_PROTO_AH IpsecProto = 51
135 IpsecProto_name = map[uint32]string{
136 50: "IPSEC_API_PROTO_ESP",
137 51: "IPSEC_API_PROTO_AH",
139 IpsecProto_value = map[string]uint32{
140 "IPSEC_API_PROTO_ESP": 50,
141 "IPSEC_API_PROTO_AH": 51,
145 func (x IpsecProto) String() string {
146 s, ok := IpsecProto_name[uint32(x)]
150 return "IpsecProto(" + strconv.Itoa(int(x)) + ")"
153 // IpsecSadFlags defines enum 'ipsec_sad_flags'.
154 type IpsecSadFlags uint32
157 IPSEC_API_SAD_FLAG_NONE IpsecSadFlags = 0
158 IPSEC_API_SAD_FLAG_USE_ESN IpsecSadFlags = 1
159 IPSEC_API_SAD_FLAG_USE_ANTI_REPLAY IpsecSadFlags = 2
160 IPSEC_API_SAD_FLAG_IS_TUNNEL IpsecSadFlags = 4
161 IPSEC_API_SAD_FLAG_IS_TUNNEL_V6 IpsecSadFlags = 8
162 IPSEC_API_SAD_FLAG_UDP_ENCAP IpsecSadFlags = 16
163 IPSEC_API_SAD_FLAG_IS_INBOUND IpsecSadFlags = 64
167 IpsecSadFlags_name = map[uint32]string{
168 0: "IPSEC_API_SAD_FLAG_NONE",
169 1: "IPSEC_API_SAD_FLAG_USE_ESN",
170 2: "IPSEC_API_SAD_FLAG_USE_ANTI_REPLAY",
171 4: "IPSEC_API_SAD_FLAG_IS_TUNNEL",
172 8: "IPSEC_API_SAD_FLAG_IS_TUNNEL_V6",
173 16: "IPSEC_API_SAD_FLAG_UDP_ENCAP",
174 64: "IPSEC_API_SAD_FLAG_IS_INBOUND",
176 IpsecSadFlags_value = map[string]uint32{
177 "IPSEC_API_SAD_FLAG_NONE": 0,
178 "IPSEC_API_SAD_FLAG_USE_ESN": 1,
179 "IPSEC_API_SAD_FLAG_USE_ANTI_REPLAY": 2,
180 "IPSEC_API_SAD_FLAG_IS_TUNNEL": 4,
181 "IPSEC_API_SAD_FLAG_IS_TUNNEL_V6": 8,
182 "IPSEC_API_SAD_FLAG_UDP_ENCAP": 16,
183 "IPSEC_API_SAD_FLAG_IS_INBOUND": 64,
187 func (x IpsecSadFlags) String() string {
188 s, ok := IpsecSadFlags_name[uint32(x)]
192 str := func(n uint32) string {
193 s, ok := IpsecSadFlags_name[uint32(n)]
197 return "IpsecSadFlags(" + strconv.Itoa(int(n)) + ")"
199 for i := uint32(0); i <= 32; i++ {
209 return str(uint32(x))
214 // IpsecSadEntry defines type 'ipsec_sad_entry'.
215 type IpsecSadEntry struct {
216 SadID uint32 `binapi:"u32,name=sad_id" json:"sad_id,omitempty"`
217 Spi uint32 `binapi:"u32,name=spi" json:"spi,omitempty"`
218 Protocol IpsecProto `binapi:"ipsec_proto,name=protocol" json:"protocol,omitempty"`
219 CryptoAlgorithm IpsecCryptoAlg `binapi:"ipsec_crypto_alg,name=crypto_algorithm" json:"crypto_algorithm,omitempty"`
220 CryptoKey Key `binapi:"key,name=crypto_key" json:"crypto_key,omitempty"`
221 IntegrityAlgorithm IpsecIntegAlg `binapi:"ipsec_integ_alg,name=integrity_algorithm" json:"integrity_algorithm,omitempty"`
222 IntegrityKey Key `binapi:"key,name=integrity_key" json:"integrity_key,omitempty"`
223 Flags IpsecSadFlags `binapi:"ipsec_sad_flags,name=flags" json:"flags,omitempty"`
224 TunnelSrc ip_types.Address `binapi:"address,name=tunnel_src" json:"tunnel_src,omitempty"`
225 TunnelDst ip_types.Address `binapi:"address,name=tunnel_dst" json:"tunnel_dst,omitempty"`
226 TxTableID uint32 `binapi:"u32,name=tx_table_id" json:"tx_table_id,omitempty"`
227 Salt uint32 `binapi:"u32,name=salt" json:"salt,omitempty"`
228 UDPSrcPort uint16 `binapi:"u16,name=udp_src_port,default=4500" json:"udp_src_port,omitempty"`
229 UDPDstPort uint16 `binapi:"u16,name=udp_dst_port,default=4500" json:"udp_dst_port,omitempty"`
232 // Key defines type 'key'.
234 Length uint8 `binapi:"u8,name=length" json:"length,omitempty"`
235 Data []byte `binapi:"u8[128],name=data" json:"data,omitempty"`