FD.io VPP  v21.01.1
Vector Packet Processing
ikev2_payload.c File Reference
+ Include dependency graph for ikev2_payload.c:

Go to the source code of this file.

Functions

typedef CLIB_PACKED (struct { u8 nextpayload;u8 flags;u16 length;u8 protocol_id;u8 spi_size;u16 msg_type;u8 payload[0];})
 
typedef CLIB_PACKED (struct { ip6_address_t start_addr;ip6_address_t end_addr;})
 
typedef CLIB_PACKED (struct { u8 nextpayload;u8 flags;u16 length;u8 num_ts;u8 reserved[3];ikev2_ts_payload_entry_t ts[0];})
 
typedef CLIB_PACKED (struct { u8 last_or_more;u8 reserved;u16 transform_len;u8 transform_type;u8 reserved2;u16 transform_id;u8 attributes[0];})
 
static ike_payload_header_t * ikev2_payload_add_hdr (ikev2_payload_chain_t *c, u8 payload_type, int len)
 
static void ikev2_payload_add_data (ikev2_payload_chain_t *c, u8 *data)
 
void ikev2_payload_add_notify (ikev2_payload_chain_t *c, u16 msg_type, u8 *data)
 
void ikev2_payload_add_notify_2 (ikev2_payload_chain_t *c, u16 msg_type, u8 *data, ikev2_notify_t *notify)
 
void ikev2_payload_add_sa (ikev2_payload_chain_t *c, ikev2_sa_proposal_t *proposals)
 
void ikev2_payload_add_ke (ikev2_payload_chain_t *c, u16 dh_group, u8 *dh_data)
 
void ikev2_payload_add_nonce (ikev2_payload_chain_t *c, u8 *nonce)
 
void ikev2_payload_add_id (ikev2_payload_chain_t *c, ikev2_id_t *id, u8 type)
 
void ikev2_payload_add_delete (ikev2_payload_chain_t *c, ikev2_delete_t *d)
 
void ikev2_payload_add_auth (ikev2_payload_chain_t *c, ikev2_auth_t *auth)
 
static void ikev2_payload_add_ts_entry (u8 **data, ikev2_ts_t *ts)
 
void ikev2_payload_add_ts (ikev2_payload_chain_t *c, ikev2_ts_t *ts, u8 type)
 
void ikev2_payload_chain_add_padding (ikev2_payload_chain_t *c, int bs)
 
ikev2_sa_proposal_tikev2_parse_sa_payload (ike_payload_header_t *ikep, u32 rlen)
 
ikev2_ts_tikev2_parse_ts_payload (ike_payload_header_t *ikep, u32 rlen)
 
ikev2_notify_tikev2_parse_notify_payload (ike_payload_header_t *ikep, u32 rlen)
 
void ikev2_parse_vendor_payload (ike_payload_header_t *ikep)
 
ikev2_delete_tikev2_parse_delete_payload (ike_payload_header_t *ikep, u32 rlen)
 
u8ikev2_find_ike_notify_payload (ike_header_t *ike, u32 msg_type)
 

Variables

 ikev2_ip4_addr_pair_t
 
 ikev2_ts_payload_entry_t
 
 ike_sa_proposal_data_t
 
 ike_delete_payload_header_t
 

Function Documentation

◆ CLIB_PACKED() [1/4]

typedef CLIB_PACKED ( struct { u8 nextpayload;u8 flags;u16 length;u8 protocol_id;u8 spi_size;u16 msg_type;u8 payload[0];}  )

Definition at line 28 of file ikev2_payload.c.

+ Here is the caller graph for this function:

◆ CLIB_PACKED() [2/4]

typedef CLIB_PACKED ( struct { ip6_address_t start_addr;ip6_address_t end_addr;}  )

Definition at line 45 of file ikev2_payload.c.

+ Here is the call graph for this function:

◆ CLIB_PACKED() [3/4]

typedef CLIB_PACKED ( struct { u8 nextpayload;u8 flags;u16 length;u8 num_ts;u8 reserved[3];ikev2_ts_payload_entry_t ts[0];}  )

Definition at line 61 of file ikev2_payload.c.

+ Here is the call graph for this function:

◆ CLIB_PACKED() [4/4]

typedef CLIB_PACKED ( struct { u8 last_or_more;u8 reserved;u16 transform_len;u8 transform_type;u8 reserved2;u16 transform_id;u8 attributes[0];}  )

Definition at line 84 of file ikev2_payload.c.

+ Here is the call graph for this function:

◆ ikev2_find_ike_notify_payload()

u8* ikev2_find_ike_notify_payload ( ike_header_t *  ike,
u32  msg_type 
)

Definition at line 592 of file ikev2_payload.c.

+ Here is the caller graph for this function:

◆ ikev2_parse_delete_payload()

ikev2_delete_t* ikev2_parse_delete_payload ( ike_payload_header_t *  ikep,
u32  rlen 
)

Definition at line 560 of file ikev2_payload.c.

+ Here is the caller graph for this function:

◆ ikev2_parse_notify_payload()

ikev2_notify_t* ikev2_parse_notify_payload ( ike_payload_header_t *  ikep,
u32  rlen 
)

Definition at line 505 of file ikev2_payload.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ikev2_parse_sa_payload()

ikev2_sa_proposal_t* ikev2_parse_sa_payload ( ike_payload_header_t *  ikep,
u32  rlen 
)

Definition at line 365 of file ikev2_payload.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ikev2_parse_ts_payload()

ikev2_ts_t* ikev2_parse_ts_payload ( ike_payload_header_t *  ikep,
u32  rlen 
)

Definition at line 447 of file ikev2_payload.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ikev2_parse_vendor_payload()

void ikev2_parse_vendor_payload ( ike_payload_header_t *  ikep)

Definition at line 553 of file ikev2_payload.c.

+ Here is the caller graph for this function:

◆ ikev2_payload_add_auth()

void ikev2_payload_add_auth ( ikev2_payload_chain_t c,
ikev2_auth_t auth 
)

Definition at line 286 of file ikev2_payload.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ikev2_payload_add_data()

static void ikev2_payload_add_data ( ikev2_payload_chain_t c,
u8 data 
)
static

Definition at line 130 of file ikev2_payload.c.

+ Here is the caller graph for this function:

◆ ikev2_payload_add_delete()

void ikev2_payload_add_delete ( ikev2_payload_chain_t c,
ikev2_delete_t d 
)

Definition at line 255 of file ikev2_payload.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ikev2_payload_add_hdr()

static ike_payload_header_t* ikev2_payload_add_hdr ( ikev2_payload_chain_t c,
u8  payload_type,
int  len 
)
static

Definition at line 108 of file ikev2_payload.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ikev2_payload_add_id()

void ikev2_payload_add_id ( ikev2_payload_chain_t c,
ikev2_id_t id,
u8  type 
)

Definition at line 243 of file ikev2_payload.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ikev2_payload_add_ke()

void ikev2_payload_add_ke ( ikev2_payload_chain_t c,
u16  dh_group,
u8 dh_data 
)

Definition at line 224 of file ikev2_payload.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ikev2_payload_add_nonce()

void ikev2_payload_add_nonce ( ikev2_payload_chain_t c,
u8 nonce 
)

Definition at line 235 of file ikev2_payload.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ikev2_payload_add_notify()

void ikev2_payload_add_notify ( ikev2_payload_chain_t c,
u16  msg_type,
u8 data 
)

Definition at line 142 of file ikev2_payload.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ikev2_payload_add_notify_2()

void ikev2_payload_add_notify_2 ( ikev2_payload_chain_t c,
u16  msg_type,
u8 data,
ikev2_notify_t notify 
)

Definition at line 148 of file ikev2_payload.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ikev2_payload_add_sa()

void ikev2_payload_add_sa ( ikev2_payload_chain_t c,
ikev2_sa_proposal_t proposals 
)

Definition at line 170 of file ikev2_payload.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ikev2_payload_add_ts()

void ikev2_payload_add_ts ( ikev2_payload_chain_t c,
ikev2_ts_t ts,
u8  type 
)

Definition at line 333 of file ikev2_payload.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ikev2_payload_add_ts_entry()

static void ikev2_payload_add_ts_entry ( u8 **  data,
ikev2_ts_t ts 
)
static

Definition at line 299 of file ikev2_payload.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ikev2_payload_chain_add_padding()

void ikev2_payload_chain_add_padding ( ikev2_payload_chain_t c,
int  bs 
)

Definition at line 356 of file ikev2_payload.c.

+ Here is the caller graph for this function:

Variable Documentation

◆ ike_delete_payload_header_t

ike_delete_payload_header_t

Definition at line 104 of file ikev2_payload.c.

◆ ike_sa_proposal_data_t

ike_sa_proposal_data_t

Definition at line 80 of file ikev2_payload.c.

◆ ikev2_ip4_addr_pair_t

ikev2_ip4_addr_pair_t

Definition at line 43 of file ikev2_payload.c.

◆ ikev2_ts_payload_entry_t

ikev2_ts_payload_entry_t

Definition at line 57 of file ikev2_payload.c.