|
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the documentation of this file.
16 #ifndef __UDP_ENCAP_H__
17 #define __UDP_ENCAP_H__
62 } __attribute__ ((packed))
ip4;
67 } __attribute__ ((packed))
ip6;
68 } __attribute__ ((packed))
ue_hdrs;
109 const ip46_address_t *
src_ip,
110 const ip46_address_t *
dst_ip,
vl_api_ip_port_and_mask_t dst_port
index_t ue_fib_index
The FIB index in which the encap destination resides.
enum dpo_proto_t_ dpo_proto_t
Data path protocol.
#define pool_elt_at_index(p, i)
Returns pointer to element at given index.
void udp_encap_unlock(index_t uei)
walk_rc_t(* udp_encap_walk_cb_t)(index_t uei, void *ctx)
Callback function invoked when walking all encap objects.
The UDP encap representation.
void udp_encap_get_stats(index_t uei, u64 *packets, u64 *bytes)
udp_encap_fixup_flags_t ue_flags
Flags controlling fixup behaviour.
u32 index_t
A Data-Path Object is an object that represents actions that are applied to packets are they are swit...
u32 fib_node_index_t
A typedef of a node index.
@ UDP_ENCAP_FIXUP_UDP_SRC_PORT_ENTROPY
UDP source port contains an entropy/hash value for load-balancing by downstream peers.
u8 * format_udp_encap(u8 *s, va_list *args)
enum udp_encap_fixup_flags_t_ udp_encap_fixup_flags_t
UDP encapsulation.
vl_api_ip_port_and_mask_t src_port
CLIB_CACHE_LINE_ALIGN_MARK(cacheline0)
The first cacheline contains the data used in the data-plane.
static udp_encap_t * udp_encap_get(index_t uei)
struct udp_encap_t_ udp_encap_t
The UDP encap representation.
enum fib_protocol_t_ fib_protocol_t
Protocol Type.
struct udp_encap_t_::@559::@561 ip6
fib_protocol_t ue_ip_proto
the protocol of the IP header imposed
udp_encap_fixup_flags_t_
UDP encapsulation.
fib_node_index_t ue_fib_entry_index
Tracking information for the IP destination.
struct udp_encap_t_::@559::@560 ip4
udp_encap_t * udp_encap_pool
Pool of encaps.
void udp_encap_contribute_forwarding(index_t uei, dpo_proto_t proto, dpo_id_t *dpo)
index_t udp_encap_add_and_lock(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)
dpo_id_t ue_dpo
The DPO used to forward to the next node in the VLIB graph.
fib_node_t ue_fib_node
linkage into the FIB graph
An node in the FIB graph.
void udp_encap_walk(udp_encap_walk_cb_t cb, void *ctx)
Walk each of the encap objects.
void udp_encap_lock(index_t uei)
The identity of a DPO is a combination of its type and its instance number/index of objects of that t...
union udp_encap_t_::@559 ue_hdrs
The headers to paint, in packet painting order.
enum walk_rc_t_ walk_rc_t
Walk return code.
vl_api_wireguard_peer_flags_t flags