18 #ifndef __INCLUDE_IP_NEIGHBOR_H__ 19 #define __INCLUDE_IP_NEIGHBOR_H__ 38 u32 limit,
u32 age,
bool recycle);
59 const ip46_address_t *
ip);
83 const ip6_address_t *
addr);
85 const ip6_address_t *
addr);
96 const ip6_address_t *
addr);
int ip_neighbor_del(const ip_address_t *ip, u32 sw_if_index)
void ip_neighbor_probe(const ip_adjacency_t *adj)
vl_api_wireguard_peer_flags_t flags
ip_neighbor_t * ip_neighbor_get(index_t ipni)
void ip_neighbor_learn(const ip_neighbor_learn_t *l)
int(* ip4_neighbor_proxy_cfg_t)(u32 sw_if_index)
void ip_neighbor_sweep(ip_address_family_t af)
u32 index_t
A Data-Path Object is an object that represents actions that are applied to packets are they are swit...
void ip_neighbor_handle_event(ip_neighbor_event_t *ipne)
From the watcher to the API to publish a new neighbor.
ip4_neighbor_proxy_addr_t inv_proxy4_del
const mac_address_t * ip_neighbor_get_mac(const ip_neighbor_t *ipn)
enum walk_rc_t_ walk_rc_t
Walk return code.
int(* ip6_neighbor_proxy_cfg_t)(u32 sw_if_index, const ip6_address_t *addr)
int ip6_neighbor_proxy_add(u32 sw_if_index, const ip6_address_t *addr)
int ip4_neighbor_proxy_disable(u32 sw_if_index)
A representation of an IP neighbour/peer.
ip6_neighbor_proxy_cfg_t inv_proxy6_del
int ip4_neighbor_proxy_enable(u32 sw_if_index)
ip6_neighbor_proxy_cfg_t inv_proxy6_add
walk_rc_t(* ip_neighbor_walk_cb_t)(index_t ipni, void *ctx)
void ip_neighbor_probe_dst(u32 sw_if_index, ip_address_family_t af, const ip46_address_t *ip)
struct ip_neighbor_vft_t_ ip_neighbor_vft_t
Virtual function Table for neighbor protocol implementations to register.
void ip_neighbor_register(ip_address_family_t af, const ip_neighbor_vft_t *vft)
const ip_address_t * ip_neighbor_get_ip(const ip_neighbor_t *ipn)
ip4_neighbor_proxy_cfg_t inv_proxy4_disable
Virtual function Table for neighbor protocol implementations to register.
u32 adj_index_t
An index for adjacencies.
int ip6_neighbor_proxy_del(u32 sw_if_index, const ip6_address_t *addr)
int ip4_neighbor_proxy_add(u32 fib_index, const ip4_address_t *start, const ip4_address_t *end)
The set of function that vnet requires from the IP neighbour module.
int ip4_neighbor_proxy_delete(u32 fib_index, const ip4_address_t *start, const ip4_address_t *end)
int ip_neighbor_config(ip_address_family_t af, u32 limit, u32 age, bool recycle)
enum ip_neighbor_flags_t_ ip_neighbor_flags_t
void ip_neighbor_update(vnet_main_t *vnm, adj_index_t ai)
const u32 ip_neighbor_get_sw_if_index(const ip_neighbor_t *ipn)
void ip_neighbor_walk(ip_address_family_t af, u32 sw_if_index, ip_neighbor_walk_cb_t fn, void *ctx)
enum ip_address_family_t_ ip_address_family_t
void ip_neighbor_mark(ip_address_family_t af)
int(* ip4_neighbor_proxy_addr_t)(u32 fib_index, const ip4_address_t *start, const ip4_address_t *end)
neighbor protocol implementation registration functions this are provided by ARP and IP-ND ...
f64 end
end of the time range
ip4_neighbor_proxy_cfg_t inv_proxy4_enable
ip_address_family_t ip_neighbor_get_af(const ip_neighbor_t *ipn)
void ip_neighbor_del_all(ip_address_family_t af, u32 sw_if_index)
ip4_neighbor_proxy_addr_t inv_proxy4_add
vl_api_interface_index_t sw_if_index
int ip_neighbor_add(const ip_address_t *ip, const mac_address_t *mac, u32 sw_if_index, ip_neighbor_flags_t flags, u32 *stats_index)