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