407caebb6ad55897a4dd68873623c9adf94e8bd5
[govpp.git] / binapi / ipsec_types / ipsec_types.ba.go
1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
2 // versions:
3 //  binapi-generator: v0.4.0-dev
4 //  VPP:              20.05-release
5
6 // Package ipsec_types contains generated bindings for API file ipsec_types.api.
7 //
8 // Contents:
9 //   4 enums
10 //   2 structs
11 //
12 package ipsec_types
13
14 import (
15         "strconv"
16
17         api "git.fd.io/govpp.git/api"
18         ip_types "git.fd.io/govpp.git/binapi/ip_types"
19 )
20
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
26
27 // IpsecCryptoAlg defines enum 'ipsec_crypto_alg'.
28 type IpsecCryptoAlg uint32
29
30 const (
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
43 )
44
45 var (
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",
59         }
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,
73         }
74 )
75
76 func (x IpsecCryptoAlg) String() string {
77         s, ok := IpsecCryptoAlg_name[uint32(x)]
78         if ok {
79                 return s
80         }
81         return "IpsecCryptoAlg(" + strconv.Itoa(int(x)) + ")"
82 }
83
84 // IpsecIntegAlg defines enum 'ipsec_integ_alg'.
85 type IpsecIntegAlg uint32
86
87 const (
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
95 )
96
97 var (
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",
106         }
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,
115         }
116 )
117
118 func (x IpsecIntegAlg) String() string {
119         s, ok := IpsecIntegAlg_name[uint32(x)]
120         if ok {
121                 return s
122         }
123         return "IpsecIntegAlg(" + strconv.Itoa(int(x)) + ")"
124 }
125
126 // IpsecProto defines enum 'ipsec_proto'.
127 type IpsecProto uint32
128
129 const (
130         IPSEC_API_PROTO_ESP IpsecProto = 50
131         IPSEC_API_PROTO_AH  IpsecProto = 51
132 )
133
134 var (
135         IpsecProto_name = map[uint32]string{
136                 50: "IPSEC_API_PROTO_ESP",
137                 51: "IPSEC_API_PROTO_AH",
138         }
139         IpsecProto_value = map[string]uint32{
140                 "IPSEC_API_PROTO_ESP": 50,
141                 "IPSEC_API_PROTO_AH":  51,
142         }
143 )
144
145 func (x IpsecProto) String() string {
146         s, ok := IpsecProto_name[uint32(x)]
147         if ok {
148                 return s
149         }
150         return "IpsecProto(" + strconv.Itoa(int(x)) + ")"
151 }
152
153 // IpsecSadFlags defines enum 'ipsec_sad_flags'.
154 type IpsecSadFlags uint32
155
156 const (
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
164 )
165
166 var (
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",
175         }
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,
184         }
185 )
186
187 func (x IpsecSadFlags) String() string {
188         s, ok := IpsecSadFlags_name[uint32(x)]
189         if ok {
190                 return s
191         }
192         str := func(n uint32) string {
193                 s, ok := IpsecSadFlags_name[uint32(n)]
194                 if ok {
195                         return s
196                 }
197                 return "IpsecSadFlags(" + strconv.Itoa(int(n)) + ")"
198         }
199         for i := uint32(0); i <= 32; i++ {
200                 val := uint32(x)
201                 if val&(1<<i) != 0 {
202                         if s != "" {
203                                 s += "|"
204                         }
205                         s += str(1 << i)
206                 }
207         }
208         if s == "" {
209                 return str(uint32(x))
210         }
211         return s
212 }
213
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"`
230 }
231
232 // Key defines type 'key'.
233 type Key struct {
234         Length uint8  `binapi:"u8,name=length" json:"length,omitempty"`
235         Data   []byte `binapi:"u8[128],name=data" json:"data,omitempty"`
236 }