16 #ifndef __UDP_ENCAP_H__ 17 #define __UDP_ENCAP_H__ 62 } __attribute__ ((packed))
ip4;
67 } __attribute__ ((packed))
ip6;
68 } __attribute__ ((packed))
ue_hdrs;
85 CLIB_CACHE_LINE_ALIGN_MARK (cacheline1);
113 const ip46_address_t * src_ip,
114 const ip46_address_t * dst_ip,
fib_protocol_t ue_ip_proto
the protocol of the IP header imposed
void udp_encap_unlock_w_index(index_t uei)
CLIB_CACHE_LINE_ALIGN_MARK(cacheline0)
The first cacheline contains the data used in the data-plane.
The UDP encap represenation.
fib_node_index_t ue_fib_entry_index
Tracking information for the IP destination.
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
struct udp_encap_t_::@293::@295 ip6
enum fib_protocol_t_ fib_protocol_t
Protocol Type.
u32 ue_id
The ID given by the user/client.
u8 * format_udp_encap(u8 *s, va_list *args)
enum dpo_proto_t_ dpo_proto_t
Data path protocol.
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)
enum udp_encap_fixup_flags_t_ udp_encap_fixup_flags_t
UDP encapsualtion.
udp_encap_fixup_flags_t_
UDP encapsualtion.
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_contribute_forwarding(u32 id, 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.
u32 fib_node_index_t
A typedef of a node index.
void udp_encap_lock(u32 id)
struct udp_encap_t_::@293::@294 ip4
union udp_encap_t_::@293 ue_hdrs
The headers to paint, in packet painting order.
void udp_encap_unlock(u32 id)
udp_encap_fixup_flags_t ue_flags
Flags controlling fixup behaviour.
index_t udp_encap_find(u32 id)
static udp_encap_t * udp_encap_get(index_t uei)