18 #ifndef __INCLUDE_IP_NEIGHBOR_H__ 19 #define __INCLUDE_IP_NEIGHBOR_H__ 61 const ip46_address_t *
addr,
65 const ip46_address_t *
ip);
89 const ip6_address_t *
addr);
91 const ip6_address_t *
addr);
102 const ip6_address_t *
addr);
void ip_neighbor_probe(const ip_adjacency_t *adj)
void ip_neighbor_scan_enable_disable(ip_neighbor_scan_arg_t *arg)
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)
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_mark(ip46_type_t type)
void ip_neighbor_register(ip46_type_t type, const ip_neighbor_vft_t *vft)
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)
vl_api_interface_index_t sw_if_index
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)
vl_api_fib_path_type_t type
int ip_neighbor_del(const ip46_address_t *ip, ip46_type_t type, u32 sw_if_index)
void ip_neighbor_handle_event(const ip_neighbor_event_t *ipne)
From the watcher to the API to publish a new neighbor.
void ip_neighbor_advertise(vlib_main_t *vm, ip46_type_t tyoe, const ip46_address_t *addr, u32 sw_if_index)
struct ip_neighbor_vft_t_ ip_neighbor_vft_t
Virtual function Table for neighbor protocol implementations to register.
void ip_neighbor_sweep(ip46_type_t type)
void ip_neighbor_walk(ip46_type_t type, u32 sw_if_index, ip_neighbor_walk_cb_t fn, void *ctx)
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)
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)
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 ...
void ip_neighbor_probe_dst(const ip_adjacency_t *adj, const ip46_address_t *ip)
void ip_neighbor_del_all(ip46_type_t type, u32 sw_if_index)
const ip46_address_t * ip_neighbor_get_ip(const ip_neighbor_t *ipn)
f64 end
end of the time range
int ip_neighbor_add(const ip46_address_t *ip, ip46_type_t type, const mac_address_t *mac, u32 sw_if_index, ip_neighbor_flags_t flags, u32 *stats_index)
ip4_neighbor_proxy_cfg_t inv_proxy4_enable
enum ip_neighbor_flags_t_ ip_neighbor_flags_t
int ip_neighbor_config(ip46_type_t type, u32 limit, u32 age, bool recycle)
ip4_neighbor_proxy_addr_t inv_proxy4_add