FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
ip_neighbor_watch.c File Reference
+ Include dependency graph for ip_neighbor_watch.c:

Go to the source code of this file.

Data Structures

struct  ip_neighbor_watch_db_t_
 Database of registered watchers The key for a watcher is {type, sw_if_index, addreess} interface=~0 / address=all-zeros imples any. More...
 

Typedefs

typedef struct ip_neighbor_watch_db_t_ ip_neighbor_watch_db_t
 Database of registered watchers The key for a watcher is {type, sw_if_index, addreess} interface=~0 / address=all-zeros imples any. More...
 

Functions

static uword ip_neighbor_event_process (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
 
static clib_error_twant_ip_neighbor_events_reaper (u32 client_index)
 
 VL_MSG_API_REAPER_FUNCTION (want_ip_neighbor_events_reaper)
 
static int ip_neighbor_watch_cmp (const ip_neighbor_watcher_t *w1, const ip_neighbor_watcher_t *w2)
 
void ip_neighbor_watch (const ip_address_t *ip, u32 sw_if_index, const ip_neighbor_watcher_t *watch)
 
void ip_neighbor_unwatch (const ip_address_t *ip, u32 sw_if_index, const ip_neighbor_watcher_t *watch)
 
static void ip_neighbor_signal (ip_neighbor_watcher_t *watchers, index_t ipni, ip_neighbor_event_flags_t flags)
 
void ip_neighbor_publish (index_t ipni, ip_neighbor_event_flags_t flags)
 
static clib_error_tip_neighbor_watchers_show (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tip_neighbor_watch_init (vlib_main_t *vm)
 

Variables

static ip_neighbor_watch_db_t ipnw_db
 
vlib_node_registration_t ip_neighbor_event_process_node
 (constructor) VLIB_REGISTER_NODE (ip_neighbor_event_process_node) More...
 
static vlib_cli_command_t show_ip_neighbor_watchers_cmd_node
 (constructor) VLIB_CLI_COMMAND (show_ip_neighbor_watchers_cmd_node) More...
 

Typedef Documentation

◆ ip_neighbor_watch_db_t

Database of registered watchers The key for a watcher is {type, sw_if_index, addreess} interface=~0 / address=all-zeros imples any.

Function Documentation

◆ ip_neighbor_event_process()

static uword ip_neighbor_event_process ( vlib_main_t vm,
vlib_node_runtime_t rt,
vlib_frame_t f 
)
static

Definition at line 41 of file ip_neighbor_watch.c.

+ Here is the call graph for this function:

◆ ip_neighbor_publish()

void ip_neighbor_publish ( index_t  ipni,
ip_neighbor_event_flags_t  flags 
)

Definition at line 197 of file ip_neighbor_watch.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ip_neighbor_signal()

static void ip_neighbor_signal ( ip_neighbor_watcher_t watchers,
index_t  ipni,
ip_neighbor_event_flags_t  flags 
)
static

Definition at line 178 of file ip_neighbor_watch.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ip_neighbor_unwatch()

void ip_neighbor_unwatch ( const ip_address_t ip,
u32  sw_if_index,
const ip_neighbor_watcher_t watch 
)

Definition at line 147 of file ip_neighbor_watch.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ip_neighbor_watch()

void ip_neighbor_watch ( const ip_address_t ip,
u32  sw_if_index,
const ip_neighbor_watcher_t watch 
)

Definition at line 118 of file ip_neighbor_watch.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ip_neighbor_watch_cmp()

static int ip_neighbor_watch_cmp ( const ip_neighbor_watcher_t w1,
const ip_neighbor_watcher_t w2 
)
static

Definition at line 111 of file ip_neighbor_watch.c.

+ Here is the caller graph for this function:

◆ ip_neighbor_watch_init()

static clib_error_t* ip_neighbor_watch_init ( vlib_main_t vm)
static

Definition at line 263 of file ip_neighbor_watch.c.

+ Here is the call graph for this function:

◆ ip_neighbor_watchers_show()

static clib_error_t* ip_neighbor_watchers_show ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 231 of file ip_neighbor_watch.c.

◆ VL_MSG_API_REAPER_FUNCTION()

VL_MSG_API_REAPER_FUNCTION ( want_ip_neighbor_events_reaper  )

◆ want_ip_neighbor_events_reaper()

static clib_error_t* want_ip_neighbor_events_reaper ( u32  client_index)
static

Definition at line 79 of file ip_neighbor_watch.c.

+ Here is the call graph for this function:

Variable Documentation

◆ ip_neighbor_event_process_node

vlib_node_registration_t ip_neighbor_event_process_node
Initial value:
= {
.name = "ip-neighbor-event",
}

(constructor) VLIB_REGISTER_NODE (ip_neighbor_event_process_node)

Definition at line 70 of file ip_neighbor_watch.c.

◆ ipnw_db

ip_neighbor_watch_db_t ipnw_db
static

Definition at line 38 of file ip_neighbor_watch.c.

◆ show_ip_neighbor_watchers_cmd_node

vlib_cli_command_t show_ip_neighbor_watchers_cmd_node
static
Initial value:
= {
.path = "show ip neighbor-watcher",
.short_help = "show ip neighbors-watcher",
}

(constructor) VLIB_CLI_COMMAND (show_ip_neighbor_watchers_cmd_node)

Definition at line 255 of file ip_neighbor_watch.c.

ip_neighbor_event_process
static uword ip_neighbor_event_process(vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
Definition: ip_neighbor_watch.c:41
VLIB_NODE_TYPE_PROCESS
@ VLIB_NODE_TYPE_PROCESS
Definition: node.h:84
ip_neighbor_watchers_show
static clib_error_t * ip_neighbor_watchers_show(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: ip_neighbor_watch.c:231