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