Change module name to go.fd.io/govpp
[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.6.0-dev
4 //  VPP:              22.02-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 "go.fd.io/govpp/api"
16         interface_types "go.fd.io/govpp/binapi/interface_types"
17         ip_types "go.fd.io/govpp/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 const (
27         APIFile    = "ikev2_types"
28         APIVersion = "1.0.0"
29         VersionCrc = 0xe7510e
30 )
31
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"`
38 }
39
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"`
50 }
51
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"`
57 }
58
59 // Ikev2ID defines type 'ikev2_id'.
60 type Ikev2ID struct {
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"`
64 }
65
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"`
72 }
73
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"`
90 }
91
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"`
111 }
112
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"`
117 }
118
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"`
135 }
136
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"`
145 }
146
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"`
155 }
156
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"`
167 }