1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
3 // binapi-generator: v0.5.0
5 // source: /usr/share/vpp/api/plugins/ikev2_types.api.json
7 // Package ikev2_types contains generated bindings for API file ikev2_types.api.
15 api "git.fd.io/govpp.git/api"
16 interface_types "git.fd.io/govpp.git/binapi/interface_types"
17 ip_types "git.fd.io/govpp.git/binapi/ip_types"
20 // This is a compile-time assertion to ensure that this generated file
21 // is compatible with the GoVPP api package it is being compiled against.
22 // A compilation error at this line likely means your copy of the
23 // GoVPP api package needs to be updated.
24 const _ = api.GoVppAPIPackageIsVersion2
27 APIFile = "ikev2_types"
32 // Ikev2Auth defines type 'ikev2_auth'.
33 type Ikev2Auth struct {
34 Method uint8 `binapi:"u8,name=method" json:"method,omitempty"`
35 Hex uint8 `binapi:"u8,name=hex" json:"hex,omitempty"`
36 DataLen uint32 `binapi:"u32,name=data_len" json:"-"`
37 Data []byte `binapi:"u8[data_len],name=data" json:"data,omitempty"`
40 // Ikev2ChildSa defines type 'ikev2_child_sa'.
41 type Ikev2ChildSa struct {
42 SaIndex uint32 `binapi:"u32,name=sa_index" json:"sa_index,omitempty"`
43 ChildSaIndex uint32 `binapi:"u32,name=child_sa_index" json:"child_sa_index,omitempty"`
44 ISpi uint32 `binapi:"u32,name=i_spi" json:"i_spi,omitempty"`
45 RSpi uint32 `binapi:"u32,name=r_spi" json:"r_spi,omitempty"`
46 Keys Ikev2Keys `binapi:"ikev2_keys,name=keys" json:"keys,omitempty"`
47 Encryption Ikev2SaTransform `binapi:"ikev2_sa_transform,name=encryption" json:"encryption,omitempty"`
48 Integrity Ikev2SaTransform `binapi:"ikev2_sa_transform,name=integrity" json:"integrity,omitempty"`
49 Esn Ikev2SaTransform `binapi:"ikev2_sa_transform,name=esn" json:"esn,omitempty"`
52 // Ikev2EspTransforms defines type 'ikev2_esp_transforms'.
53 type Ikev2EspTransforms struct {
54 CryptoAlg uint8 `binapi:"u8,name=crypto_alg" json:"crypto_alg,omitempty"`
55 CryptoKeySize uint32 `binapi:"u32,name=crypto_key_size" json:"crypto_key_size,omitempty"`
56 IntegAlg uint8 `binapi:"u8,name=integ_alg" json:"integ_alg,omitempty"`
59 // Ikev2ID defines type 'ikev2_id'.
61 Type uint8 `binapi:"u8,name=type" json:"type,omitempty"`
62 DataLen uint8 `binapi:"u8,name=data_len" json:"data_len,omitempty"`
63 Data string `binapi:"string[64],name=data" json:"data,omitempty"`
66 // Ikev2IkeTransforms defines type 'ikev2_ike_transforms'.
67 type Ikev2IkeTransforms struct {
68 CryptoAlg uint8 `binapi:"u8,name=crypto_alg" json:"crypto_alg,omitempty"`
69 CryptoKeySize uint32 `binapi:"u32,name=crypto_key_size" json:"crypto_key_size,omitempty"`
70 IntegAlg uint8 `binapi:"u8,name=integ_alg" json:"integ_alg,omitempty"`
71 DhGroup uint8 `binapi:"u8,name=dh_group" json:"dh_group,omitempty"`
74 // Ikev2Keys defines type 'ikev2_keys'.
75 type Ikev2Keys struct {
76 SkD []byte `binapi:"u8[64],name=sk_d" json:"sk_d,omitempty"`
77 SkDLen uint8 `binapi:"u8,name=sk_d_len" json:"sk_d_len,omitempty"`
78 SkAi []byte `binapi:"u8[64],name=sk_ai" json:"sk_ai,omitempty"`
79 SkAiLen uint8 `binapi:"u8,name=sk_ai_len" json:"sk_ai_len,omitempty"`
80 SkAr []byte `binapi:"u8[64],name=sk_ar" json:"sk_ar,omitempty"`
81 SkArLen uint8 `binapi:"u8,name=sk_ar_len" json:"sk_ar_len,omitempty"`
82 SkEi []byte `binapi:"u8[64],name=sk_ei" json:"sk_ei,omitempty"`
83 SkEiLen uint8 `binapi:"u8,name=sk_ei_len" json:"sk_ei_len,omitempty"`
84 SkEr []byte `binapi:"u8[64],name=sk_er" json:"sk_er,omitempty"`
85 SkErLen uint8 `binapi:"u8,name=sk_er_len" json:"sk_er_len,omitempty"`
86 SkPi []byte `binapi:"u8[64],name=sk_pi" json:"sk_pi,omitempty"`
87 SkPiLen uint8 `binapi:"u8,name=sk_pi_len" json:"sk_pi_len,omitempty"`
88 SkPr []byte `binapi:"u8[64],name=sk_pr" json:"sk_pr,omitempty"`
89 SkPrLen uint8 `binapi:"u8,name=sk_pr_len" json:"sk_pr_len,omitempty"`
92 // Ikev2Profile defines type 'ikev2_profile'.
93 type Ikev2Profile struct {
94 Name string `binapi:"string[64],name=name" json:"name,omitempty"`
95 LocID Ikev2ID `binapi:"ikev2_id,name=loc_id" json:"loc_id,omitempty"`
96 RemID Ikev2ID `binapi:"ikev2_id,name=rem_id" json:"rem_id,omitempty"`
97 LocTs Ikev2Ts `binapi:"ikev2_ts,name=loc_ts" json:"loc_ts,omitempty"`
98 RemTs Ikev2Ts `binapi:"ikev2_ts,name=rem_ts" json:"rem_ts,omitempty"`
99 Responder Ikev2Responder `binapi:"ikev2_responder,name=responder" json:"responder,omitempty"`
100 IkeTs Ikev2IkeTransforms `binapi:"ikev2_ike_transforms,name=ike_ts" json:"ike_ts,omitempty"`
101 EspTs Ikev2EspTransforms `binapi:"ikev2_esp_transforms,name=esp_ts" json:"esp_ts,omitempty"`
102 Lifetime uint64 `binapi:"u64,name=lifetime" json:"lifetime,omitempty"`
103 LifetimeMaxdata uint64 `binapi:"u64,name=lifetime_maxdata" json:"lifetime_maxdata,omitempty"`
104 LifetimeJitter uint32 `binapi:"u32,name=lifetime_jitter" json:"lifetime_jitter,omitempty"`
105 Handover uint32 `binapi:"u32,name=handover" json:"handover,omitempty"`
106 IpsecOverUDPPort uint16 `binapi:"u16,name=ipsec_over_udp_port" json:"ipsec_over_udp_port,omitempty"`
107 TunItf uint32 `binapi:"u32,name=tun_itf" json:"tun_itf,omitempty"`
108 UDPEncap bool `binapi:"bool,name=udp_encap" json:"udp_encap,omitempty"`
109 NattDisabled bool `binapi:"bool,name=natt_disabled" json:"natt_disabled,omitempty"`
110 Auth Ikev2Auth `binapi:"ikev2_auth,name=auth" json:"auth,omitempty"`
113 // Ikev2Responder defines type 'ikev2_responder'.
114 type Ikev2Responder struct {
115 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
116 Addr ip_types.Address `binapi:"address,name=addr" json:"addr,omitempty"`
119 // Ikev2Sa defines type 'ikev2_sa'.
120 type Ikev2Sa struct {
121 SaIndex uint32 `binapi:"u32,name=sa_index" json:"sa_index,omitempty"`
122 ProfileIndex uint32 `binapi:"u32,name=profile_index" json:"profile_index,omitempty"`
123 Ispi uint64 `binapi:"u64,name=ispi" json:"ispi,omitempty"`
124 Rspi uint64 `binapi:"u64,name=rspi" json:"rspi,omitempty"`
125 Iaddr ip_types.Address `binapi:"address,name=iaddr" json:"iaddr,omitempty"`
126 Raddr ip_types.Address `binapi:"address,name=raddr" json:"raddr,omitempty"`
127 Keys Ikev2Keys `binapi:"ikev2_keys,name=keys" json:"keys,omitempty"`
128 IID Ikev2ID `binapi:"ikev2_id,name=i_id" json:"i_id,omitempty"`
129 RID Ikev2ID `binapi:"ikev2_id,name=r_id" json:"r_id,omitempty"`
130 Encryption Ikev2SaTransform `binapi:"ikev2_sa_transform,name=encryption" json:"encryption,omitempty"`
131 Integrity Ikev2SaTransform `binapi:"ikev2_sa_transform,name=integrity" json:"integrity,omitempty"`
132 Prf Ikev2SaTransform `binapi:"ikev2_sa_transform,name=prf" json:"prf,omitempty"`
133 Dh Ikev2SaTransform `binapi:"ikev2_sa_transform,name=dh" json:"dh,omitempty"`
134 Stats Ikev2SaStats `binapi:"ikev2_sa_stats,name=stats" json:"stats,omitempty"`
137 // Ikev2SaStats defines type 'ikev2_sa_stats'.
138 type Ikev2SaStats struct {
139 NKeepalives uint16 `binapi:"u16,name=n_keepalives" json:"n_keepalives,omitempty"`
140 NRekeyReq uint16 `binapi:"u16,name=n_rekey_req" json:"n_rekey_req,omitempty"`
141 NSaInitReq uint16 `binapi:"u16,name=n_sa_init_req" json:"n_sa_init_req,omitempty"`
142 NSaAuthReq uint16 `binapi:"u16,name=n_sa_auth_req" json:"n_sa_auth_req,omitempty"`
143 NRetransmit uint16 `binapi:"u16,name=n_retransmit" json:"n_retransmit,omitempty"`
144 NInitSaRetransmit uint16 `binapi:"u16,name=n_init_sa_retransmit" json:"n_init_sa_retransmit,omitempty"`
147 // Ikev2SaTransform defines type 'ikev2_sa_transform'.
148 type Ikev2SaTransform struct {
149 TransformType uint8 `binapi:"u8,name=transform_type" json:"transform_type,omitempty"`
150 TransformID uint16 `binapi:"u16,name=transform_id" json:"transform_id,omitempty"`
151 KeyLen uint16 `binapi:"u16,name=key_len" json:"key_len,omitempty"`
152 KeyTrunc uint16 `binapi:"u16,name=key_trunc" json:"key_trunc,omitempty"`
153 BlockSize uint16 `binapi:"u16,name=block_size" json:"block_size,omitempty"`
154 DhGroup uint8 `binapi:"u8,name=dh_group" json:"dh_group,omitempty"`
157 // Ikev2Ts defines type 'ikev2_ts'.
158 type Ikev2Ts struct {
159 SaIndex uint32 `binapi:"u32,name=sa_index" json:"sa_index,omitempty"`
160 ChildSaIndex uint32 `binapi:"u32,name=child_sa_index" json:"child_sa_index,omitempty"`
161 IsLocal bool `binapi:"bool,name=is_local" json:"is_local,omitempty"`
162 ProtocolID uint8 `binapi:"u8,name=protocol_id" json:"protocol_id,omitempty"`
163 StartPort uint16 `binapi:"u16,name=start_port" json:"start_port,omitempty"`
164 EndPort uint16 `binapi:"u16,name=end_port" json:"end_port,omitempty"`
165 StartAddr ip_types.Address `binapi:"address,name=start_addr" json:"start_addr,omitempty"`
166 EndAddr ip_types.Address `binapi:"address,name=end_addr" json:"end_addr,omitempty"`