16 #ifndef __ADJ_INTERNAL_H__ 17 #define __ADJ_INTERNAL_H__ 35 #define ADJ_DBG(_adj, _fmt, _args...) \ 37 clib_warning("adj:[%d:%p]:" _fmt, \ 38 _adj - adj_pool, _adj, \ 42 #define ADJ_DBG(_e, _fmt, _args...) 108 u32 complete_next_index,
u32 adj_dpo_get_urpf(const dpo_id_t *dpo)
ip_adjacency_t * adj_pool
The global adjacency pool.
vl_api_wireguard_peer_flags_t flags
void adj_delegate_adj_created(ip_adjacency_t *adj)
void adj_glean_remove(fib_protocol_t proto, u32 sw_if_index)
vlib_node_registration_t ip6_rewrite_node
(constructor) VLIB_REGISTER_NODE (ip6_rewrite_node)
void adj_delegate_adj_deleted(ip_adjacency_t *adj)
vlib_node_registration_t adj_nsh_rewrite_node
(constructor) VLIB_REGISTER_NODE (adj_nsh_rewrite_node)
void(* adj_midchain_fixup_t)(vlib_main_t *vm, const struct ip_adjacency_t_ *adj, vlib_buffer_t *b0, const void *data)
A function type for post-rewrite fixups on midchain adjacency.
void adj_nbr_update_rewrite_internal(ip_adjacency_t *adj, ip_lookup_next_t adj_next_index, u32 complete_next_index, u32 next_index, u8 *rewrite)
adj_nbr_update_rewrite_internal
ip_lookup_next_t
An adjacency is a representation of an attached L3 peer.
ip_adjacency_t * adj_alloc(fib_protocol_t proto)
enum fib_protocol_t_ fib_protocol_t
Protocol Type.
void adj_nbr_remove(adj_index_t ai, fib_protocol_t nh_proto, vnet_link_t link_type, const ip46_address_t *nh_addr, u32 sw_if_index)
The identity of a DPO is a combination of its type and its instance number/index of objects of that t...
static adj_index_t adj_get_index(const ip_adjacency_t *adj)
Get a pointer to an adjacency object from its index.
int adj_bfd_is_up(adj_index_t ai)
void adj_mcast_remove(fib_protocol_t proto, u32 sw_if_index)
vlib_node_registration_t ip4_rewrite_node
(constructor) VLIB_REGISTER_NODE (ip4_rewrite_node)
u32 adj_index_t
An index for adjacencies.
enum vnet_link_t_ vnet_link_t
Link Type: A description of the protocol of packets on the link.
static u32 adj_get_rewrite_node(vnet_link_t linkt)
enum adj_flags_t_ adj_flags_t
Flags on an IP adjacency.
u8 * adj_delegate_format(u8 *s, ip_adjacency_t *adj)
void adj_delegate_adj_modified(ip_adjacency_t *adj)
void adj_midchain_setup(adj_index_t adj_index, adj_midchain_fixup_t fixup, const void *data, adj_flags_t flags)
adj_midchain_setup
static vnet_link_t adj_fib_proto_2_nd(fib_protocol_t fp)
vlib_node_registration_t adj_l2_rewrite_node
(constructor) VLIB_REGISTER_NODE (adj_l2_rewrite_node)
void adj_midchain_teardown(ip_adjacency_t *adj)
adj_midchain_setup
vlib_node_registration_t mpls_output_node
(constructor) VLIB_REGISTER_NODE (mpls_output_node)
vl_api_interface_index_t sw_if_index
static ip46_type_t adj_proto_to_46(fib_protocol_t proto)