aboutsummaryrefslogtreecommitdiffstats
path: root/binapi/ikev2_types/ikev2_types.ba.go
blob: 46d33fd8d32b5b3fd42bc73729ba751ea3da2557 (plain)
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
162
163
164
165
166
167
// Code generated by GoVPP's binapi-generator. DO NOT EDIT.
// versions:
//  binapi-generator: v0.6.0-dev
//  VPP:              22.02-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 "go.fd.io/govpp/api"
	interface_types "go.fd.io/govpp/binapi/interface_types"
	ip_types "go.fd.io/govpp/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

const (
	APIFile    = "ikev2_types"
	APIVersion = "1.0.0"
	VersionCrc = 0xe7510e
)

// 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"`
}