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