github.com/edwarnicke/govpp@v0.0.0-20230130211138-14ef5d20b1d0/binapi/ikev2_types/ikev2_types.ba.go (about)

     1  // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
     2  // versions:
     3  //  binapi-generator: v0.4.0-dev
     4  //  VPP:              23.02-rc0~189-g57127b32a
     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 "github.com/edwarnicke/govpp/binapi/interface_types"
    17  	ip_types "github.com/edwarnicke/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  // 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  }