FD.io VPP  v18.04-17-g3a0d853
Vector Packet Processing
udp_encap.h File Reference
+ Include dependency graph for udp_encap.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  udp_encap_t_
 The UDP encap represenation. More...
 

Typedefs

typedef enum udp_encap_fixup_flags_t_ udp_encap_fixup_flags_t
 UDP encapsualtion. More...
 
typedef struct udp_encap_t_ udp_encap_t
 The UDP encap represenation. More...
 
typedef int(* udp_encap_walk_cb_t) (index_t uei, void *ctx)
 Callback function invoked when walking all encap objects. More...
 

Enumerations

enum  udp_encap_fixup_flags_t_ { UDP_ENCAP_FIXUP_NONE = 0, UDP_ENCAP_FIXUP_UDP_SRC_PORT_ENTROPY = (1 << 0) }
 UDP encapsualtion. More...
 

Functions

index_t udp_encap_add_and_lock (u32 id, fib_protocol_t proto, index_t fib_index, const ip46_address_t *src_ip, const ip46_address_t *dst_ip, u16 src_port, u16 dst_port, udp_encap_fixup_flags_t flags)
 
index_t udp_encap_find (u32 id)
 
void udp_encap_lock (u32 id)
 
void udp_encap_unlock (u32 id)
 
u8format_udp_encap (u8 *s, va_list *args)
 
void udp_encap_unlock_w_index (index_t uei)
 
void udp_encap_contribute_forwarding (u32 id, dpo_proto_t proto, dpo_id_t *dpo)
 
void udp_encap_get_stats (index_t uei, u64 *packets, u64 *bytes)
 
void udp_encap_walk (udp_encap_walk_cb_t cb, void *ctx)
 Walk each of the encap objects. More...
 
static udp_encap_tudp_encap_get (index_t uei)
 

Variables

udp_encap_tudp_encap_pool
 Pool of encaps. More...
 

Typedef Documentation

UDP encapsualtion.

A representation of the encapsulation of packets in UDP-over-IP. This is encapsulation only, there is no tunnel interface, hence it is uni-directional. For decap register a handler with the UDP port dispatcher. Fixup behaviour. Actions performed on the encap in the data-plance

typedef struct udp_encap_t_ udp_encap_t

The UDP encap represenation.

typedef int(* udp_encap_walk_cb_t) (index_t uei, void *ctx)

Callback function invoked when walking all encap objects.

Return non-zero to continue the walk.

Definition at line 134 of file udp_encap.h.

Enumeration Type Documentation

UDP encapsualtion.

A representation of the encapsulation of packets in UDP-over-IP. This is encapsulation only, there is no tunnel interface, hence it is uni-directional. For decap register a handler with the UDP port dispatcher. Fixup behaviour. Actions performed on the encap in the data-plance

Enumerator
UDP_ENCAP_FIXUP_NONE 
UDP_ENCAP_FIXUP_UDP_SRC_PORT_ENTROPY 

UDP source port contains an entropy/hash value for load-balancing by downstream peers.

Definition at line 34 of file udp_encap.h.

Function Documentation

u8* format_udp_encap ( u8 s,
va_list *  args 
)

Definition at line 332 of file udp_encap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

index_t udp_encap_add_and_lock ( u32  id,
fib_protocol_t  proto,
index_t  fib_index,
const ip46_address_t *  src_ip,
const ip46_address_t *  dst_ip,
u16  src_port,
u16  dst_port,
udp_encap_fixup_flags_t  flags 
)

Definition at line 67 of file udp_encap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void udp_encap_contribute_forwarding ( u32  id,
dpo_proto_t  proto,
dpo_id_t dpo 
)

Definition at line 166 of file udp_encap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

index_t udp_encap_find ( u32  id)

Definition at line 187 of file udp_encap.c.

+ Here is the caller graph for this function:

static udp_encap_t* udp_encap_get ( index_t  uei)
inlinestatic

Definition at line 147 of file udp_encap.h.

+ Here is the caller graph for this function:

void udp_encap_get_stats ( index_t  uei,
u64 packets,
u64 bytes 
)

Definition at line 312 of file udp_encap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void udp_encap_lock ( u32  id)

Definition at line 200 of file udp_encap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void udp_encap_unlock ( u32  id)

Definition at line 231 of file udp_encap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void udp_encap_unlock_w_index ( index_t  uei)

Definition at line 213 of file udp_encap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void udp_encap_walk ( udp_encap_walk_cb_t  cb,
void *  ctx 
)

Walk each of the encap objects.

Definition at line 595 of file udp_encap.c.

+ Here is the caller graph for this function:

Variable Documentation

udp_encap_t* udp_encap_pool

Pool of encaps.

Definition at line 34 of file udp_encap.c.