FD.io VPP  v16.06
Vector Packet Processing
ip6_neighbor.c File Reference
+ Include dependency graph for ip6_neighbor.c:

Go to the source code of this file.

Data Structures

struct  ip6_neighbor_key_t
 
struct  ip6_neighbor_t
 
struct  ip6_radv_prefix_t
 
struct  ip6_mldp_group_t
 
struct  ip6_radv_t
 
struct  pending_resolution_t
 
struct  ip6_neighbor_main_t
 
struct  ip6_neighbor_set_unset_rpc_args_t
 

Macros

#define ETHER_MAC_ADDR_LEN   6
 
#define IP6_NEIGHBOR_FLAG_STATIC   (1 << 0)
 
#define IP6_NEIGHBOR_FLAG_GLEAN   (2 << 0)
 
#define MIN_ADV_VALID_LIFETIME   7203 /* seconds */
 
#define DEF_ADV_VALID_LIFETIME   2592000
 
#define DEF_ADV_PREF_LIFETIME   604800
 
#define DEF_MAX_RADV_INTERVAL   200
 
#define DEF_MIN_RADV_INTERVAL   .75 * DEF_MAX_RADV_INTERVAL
 
#define DEF_CURR_HOP_LIMIT   64
 
#define DEF_DEF_RTR_LIFETIME   3 * DEF_MAX_RADV_INTERVAL
 
#define MAX_DEF_RTR_LIFETIME   9000
 
#define MAX_INITIAL_RTR_ADVERT_INTERVAL   16 /* seconds */
 
#define MAX_INITIAL_RTR_ADVERTISEMENTS   3 /*transmissions */
 
#define MIN_DELAY_BETWEEN_RAS   3 /* seconds */
 
#define MAX_DELAY_BETWEEN_RAS   1800 /* seconds */
 
#define MAX_RA_DELAY_TIME   .5 /* seconds */
 
#define foreach_log_level
 

Enumerations

enum  icmp6_neighbor_solicitation_or_advertisement_next_t { ICMP6_NEIGHBOR_SOLICITATION_NEXT_DROP, ICMP6_NEIGHBOR_SOLICITATION_NEXT_REPLY, ICMP6_NEIGHBOR_SOLICITATION_N_NEXT }
 
enum  log_level_t { foreach_log_level }
 
enum  icmp6_router_solicitation_or_advertisement_next_t { ICMP6_ROUTER_SOLICITATION_NEXT_DROP, ICMP6_ROUTER_SOLICITATION_NEXT_REPLY_RW, ICMP6_ROUTER_SOLICITATION_NEXT_REPLY_TX, ICMP6_ROUTER_SOLICITATION_N_NEXT }
 

Functions

static u8format_ip6_neighbor_ip6_entry (u8 *s, va_list *va)
 
static clib_error_tip6_neighbor_sw_interface_up_down (vnet_main_t *vnm, u32 sw_if_index, u32 flags)
 
 VNET_SW_INTERFACE_ADMIN_UP_DOWN_FUNCTION (ip6_neighbor_sw_interface_up_down)
 
static void unset_random_neighbor_entry (void)
 
int vnet_set_ip6_ethernet_neighbor (vlib_main_t *vm, u32 sw_if_index, ip6_address_t *a, u8 *link_layer_address, uword n_bytes_link_layer_address, int is_static)
 
int vnet_unset_ip6_ethernet_neighbor (vlib_main_t *vm, u32 sw_if_index, ip6_address_t *a, u8 *link_layer_address, uword n_bytes_link_layer_address)
 
u32 vnet_ip6_neighbor_glean_add (u32 fib_index, void *next_hop_arg)
 
static int ip6_neighbor_sort (void *a1, void *a2)
 
static clib_error_tshow_ip6_neighbors (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tset_ip6_neighbor (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static_always_inline uword icmp6_neighbor_solicitation_or_advertisement (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, uword is_solicitation)
 
static void ip6_neighbor_syslog (vlib_main_t *vm, int priority, char *fmt,...)
 
static_always_inline uword icmp6_router_solicitation (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static_always_inline uword icmp6_router_advertisement (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static u32 ip6_neighbor_sw_interface_add_del (vnet_main_t *vnm, u32 sw_if_index, u32 is_add)
 
static void ip6_neighbor_send_mldpv2_report (u32 sw_if_index)
 
static uword ip6_neighbor_process_timer_event (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword ip6_icmp_neighbor_discovery_event_process (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword icmp6_neighbor_solicitation (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword icmp6_neighbor_advertisement (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
int ip6_neighbor_ra_config (vlib_main_t *vm, u32 sw_if_index, u8 surpress, u8 managed, u8 other, u8 ll_option, u8 send_unicast, u8 cease, u8 use_lifetime, u32 lifetime, u32 initial_count, u32 initial_interval, u32 max_interval, u32 min_interval, u8 is_no)
 
int ip6_neighbor_ra_prefix (vlib_main_t *vm, u32 sw_if_index, ip6_address_t *prefix_addr, u8 prefix_len, u8 use_default, u32 val_lifetime, u32 pref_lifetime, u8 no_advertise, u8 off_link, u8 no_autoconfig, u8 no_onlink, u8 is_no)
 
clib_error_tip6_neighbor_cmd (vlib_main_t *vm, unformat_input_t *main_input, vlib_cli_command_t *cmd)
 
static clib_error_tshow_ip6_interface_cmd (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
clib_error_tdisable_ip6_interface (vlib_main_t *vm, u32 sw_if_index)
 
int ip6_interface_enabled (vlib_main_t *vm, u32 sw_if_index)
 
clib_error_tenable_ip6_interface (vlib_main_t *vm, u32 sw_if_index)
 
static clib_error_tenable_ip6_interface_cmd (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tdisable_ip6_interface_cmd (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
clib_error_tset_ip6_link_local_address (vlib_main_t *vm, u32 sw_if_index, ip6_address_t *address, u8 address_length)
 
clib_error_tset_ip6_link_local_address_cmd (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static void ip6_neighbor_add_del_interface_address (ip6_main_t *im, uword opaque, u32 sw_if_index, ip6_address_t *address, u32 address_length, u32 if_address_index, u32 is_delete)
 
clib_error_tip6_set_neighbor_limit (u32 neighbor_limit)
 
static void ip6_neighbor_entry_del_adj (ip6_neighbor_t *n, u32 adj_index)
 
static void ip6_neighbor_entry_add_adj (ip6_neighbor_t *n, u32 adj_index)
 
static void ip6_neighbor_add_del_adj_cb (struct ip_lookup_main_t *lm, u32 adj_index, ip_adjacency_t *adj, u32 is_del)
 
static clib_error_tip6_neighbor_init (vlib_main_t *vm)
 
void vnet_register_ip6_neighbor_resolution_event (vnet_main_t *vnm, void *address_arg, uword node_index, uword type_opaque, uword data)
 

Variables

static ip6_neighbor_main_t ip6_neighbor_main
 
vlib_cli_command_t show_ip6_neighbors_command
 (constructor) VLIB_CLI_COMMAND (show_ip6_neighbors_command) More...
 
vlib_cli_command_t set_ip6_neighbor_command
 (constructor) VLIB_CLI_COMMAND (set_ip6_neighbor_command) More...
 
static char * log_level_strings []
 
static int logmask = 1 << LOG_DEBUG
 
vlib_node_registration_t ip6_icmp_router_solicitation_node
 (constructor) VLIB_REGISTER_NODE (ip6_icmp_router_solicitation_node) More...
 
vlib_node_registration_t ip6_icmp_router_advertisement_node
 (constructor) VLIB_REGISTER_NODE (ip6_icmp_router_advertisement_node) More...
 
vlib_node_registration_t ip6_icmp_neighbor_discovery_event_node
 
vlib_node_registration_t ip6_icmp_neighbor_solicitation_node
 (constructor) VLIB_REGISTER_NODE (ip6_icmp_neighbor_solicitation_node) More...
 
vlib_node_registration_t ip6_icmp_neighbor_advertisement_node
 (constructor) VLIB_REGISTER_NODE (ip6_icmp_neighbor_advertisement_node) More...
 
vlib_cli_command_t show_ip6_interface_command
 (constructor) VLIB_CLI_COMMAND (show_ip6_interface_command) More...
 
vlib_cli_command_t enable_ip6_interface_command
 (constructor) VLIB_CLI_COMMAND (enable_ip6_interface_command) More...
 
vlib_cli_command_t disable_ip6_interface_command
 (constructor) VLIB_CLI_COMMAND (disable_ip6_interface_command) More...
 
vlib_cli_command_t ip6_nd_command
 (constructor) VLIB_CLI_COMMAND (ip6_nd_command) More...
 
vlib_cli_command_t set_ip6_link_local_address_command
 (constructor) VLIB_CLI_COMMAND (set_ip6_link_local_address_command) More...
 

Macro Definition Documentation

#define DEF_ADV_PREF_LIFETIME   604800

Definition at line 67 of file ip6_neighbor.c.

#define DEF_ADV_VALID_LIFETIME   2592000

Definition at line 66 of file ip6_neighbor.c.

#define DEF_CURR_HOP_LIMIT   64

Definition at line 131 of file ip6_neighbor.c.

#define DEF_DEF_RTR_LIFETIME   3 * DEF_MAX_RADV_INTERVAL

Definition at line 132 of file ip6_neighbor.c.

#define DEF_MAX_RADV_INTERVAL   200

Definition at line 129 of file ip6_neighbor.c.

#define DEF_MIN_RADV_INTERVAL   .75 * DEF_MAX_RADV_INTERVAL

Definition at line 130 of file ip6_neighbor.c.

#define ETHER_MAC_ADDR_LEN   6

Definition at line 34 of file ip6_neighbor.c.

#define foreach_log_level
Value:
_ (DEBUG, "DEBUG") \
_ (INFO, "INFORMATION") \
_ (NOTICE, "NOTICE") \
_ (WARNING, "WARNING") \
_ (ERR, "ERROR") \
_ (CRIT, "CRITICAL") \
_ (ALERT, "ALERT") \
_ (EMERG, "EMERGENCY")

Definition at line 881 of file ip6_neighbor.c.

#define IP6_NEIGHBOR_FLAG_GLEAN   (2 << 0)

Definition at line 41 of file ip6_neighbor.c.

#define IP6_NEIGHBOR_FLAG_STATIC   (1 << 0)

Definition at line 40 of file ip6_neighbor.c.

#define MAX_DEF_RTR_LIFETIME   9000

Definition at line 133 of file ip6_neighbor.c.

#define MAX_DELAY_BETWEEN_RAS   1800 /* seconds */

Definition at line 138 of file ip6_neighbor.c.

#define MAX_INITIAL_RTR_ADVERT_INTERVAL   16 /* seconds */

Definition at line 135 of file ip6_neighbor.c.

#define MAX_INITIAL_RTR_ADVERTISEMENTS   3 /*transmissions */

Definition at line 136 of file ip6_neighbor.c.

#define MAX_RA_DELAY_TIME   .5 /* seconds */

Definition at line 139 of file ip6_neighbor.c.

#define MIN_ADV_VALID_LIFETIME   7203 /* seconds */

Definition at line 65 of file ip6_neighbor.c.

#define MIN_DELAY_BETWEEN_RAS   3 /* seconds */

Definition at line 137 of file ip6_neighbor.c.

Enumeration Type Documentation

Enumerator
ICMP6_NEIGHBOR_SOLICITATION_NEXT_DROP 
ICMP6_NEIGHBOR_SOLICITATION_NEXT_REPLY 
ICMP6_NEIGHBOR_SOLICITATION_N_NEXT 

Definition at line 676 of file ip6_neighbor.c.

Enumerator
ICMP6_ROUTER_SOLICITATION_NEXT_DROP 
ICMP6_ROUTER_SOLICITATION_NEXT_REPLY_RW 
ICMP6_ROUTER_SOLICITATION_NEXT_REPLY_TX 
ICMP6_ROUTER_SOLICITATION_N_NEXT 

Definition at line 935 of file ip6_neighbor.c.

Enumerator
foreach_log_level 

Definition at line 891 of file ip6_neighbor.c.

Function Documentation

clib_error_t* disable_ip6_interface ( vlib_main_t vm,
u32  sw_if_index 
)

Definition at line 2783 of file ip6_neighbor.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 2946 of file ip6_neighbor.c.

+ Here is the call graph for this function:

clib_error_t* enable_ip6_interface ( vlib_main_t vm,
u32  sw_if_index 
)

Definition at line 2833 of file ip6_neighbor.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 2915 of file ip6_neighbor.c.

+ Here is the call graph for this function:

static u8* format_ip6_neighbor_ip6_entry ( u8 s,
va_list *  va 
)
static

Definition at line 201 of file ip6_neighbor.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static uword icmp6_neighbor_advertisement ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 2195 of file ip6_neighbor.c.

+ Here is the call graph for this function:

static uword icmp6_neighbor_solicitation ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 2189 of file ip6_neighbor.c.

+ Here is the call graph for this function:

static_always_inline uword icmp6_neighbor_solicitation_or_advertisement ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame,
uword  is_solicitation 
)

Definition at line 683 of file ip6_neighbor.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static_always_inline uword icmp6_router_advertisement ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)

Definition at line 1301 of file ip6_neighbor.c.

+ Here is the call graph for this function:

static_always_inline uword icmp6_router_solicitation ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)

Definition at line 943 of file ip6_neighbor.c.

+ Here is the call graph for this function:

static uword ip6_icmp_neighbor_discovery_event_process ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 2125 of file ip6_neighbor.c.

+ Here is the call graph for this function:

int ip6_interface_enabled ( vlib_main_t vm,
u32  sw_if_index 
)

Definition at line 2818 of file ip6_neighbor.c.

+ Here is the caller graph for this function:

static void ip6_neighbor_add_del_adj_cb ( struct ip_lookup_main_t lm,
u32  adj_index,
ip_adjacency_t adj,
u32  is_del 
)
static

Definition at line 3212 of file ip6_neighbor.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void ip6_neighbor_add_del_interface_address ( ip6_main_t im,
uword  opaque,
u32  sw_if_index,
ip6_address_t address,
u32  address_length,
u32  if_address_index,
u32  is_delete 
)
static

Definition at line 3082 of file ip6_neighbor.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_error_t* ip6_neighbor_cmd ( vlib_main_t vm,
unformat_input_t main_input,
vlib_cli_command_t cmd 
)

Definition at line 2446 of file ip6_neighbor.c.

+ Here is the call graph for this function:

static void ip6_neighbor_entry_add_adj ( ip6_neighbor_t n,
u32  adj_index 
)
static

Definition at line 3202 of file ip6_neighbor.c.

+ Here is the caller graph for this function:

static void ip6_neighbor_entry_del_adj ( ip6_neighbor_t n,
u32  adj_index 
)
static

Definition at line 3185 of file ip6_neighbor.c.

+ Here is the caller graph for this function:

static clib_error_t* ip6_neighbor_init ( vlib_main_t vm)
static

Definition at line 3259 of file ip6_neighbor.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static uword ip6_neighbor_process_timer_event ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 1996 of file ip6_neighbor.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int ip6_neighbor_ra_config ( vlib_main_t vm,
u32  sw_if_index,
u8  surpress,
u8  managed,
u8  other,
u8  ll_option,
u8  send_unicast,
u8  cease,
u8  use_lifetime,
u32  lifetime,
u32  initial_count,
u32  initial_interval,
u32  max_interval,
u32  min_interval,
u8  is_no 
)

Definition at line 2231 of file ip6_neighbor.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int ip6_neighbor_ra_prefix ( vlib_main_t vm,
u32  sw_if_index,
ip6_address_t prefix_addr,
u8  prefix_len,
u8  use_default,
u32  val_lifetime,
u32  pref_lifetime,
u8  no_advertise,
u8  off_link,
u8  no_autoconfig,
u8  no_onlink,
u8  is_no 
)

Definition at line 2314 of file ip6_neighbor.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void ip6_neighbor_send_mldpv2_report ( u32  sw_if_index)
static

Definition at line 1830 of file ip6_neighbor.c.

+ Here is the call graph for this function:

static int ip6_neighbor_sort ( void a1,
void a2 
)
static

Definition at line 581 of file ip6_neighbor.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u32 ip6_neighbor_sw_interface_add_del ( vnet_main_t vnm,
u32  sw_if_index,
u32  is_add 
)
static

Definition at line 1563 of file ip6_neighbor.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_error_t* ip6_neighbor_sw_interface_up_down ( vnet_main_t vnm,
u32  sw_if_index,
u32  flags 
)
static

Definition at line 231 of file ip6_neighbor.c.

+ Here is the call graph for this function:

static void ip6_neighbor_syslog ( vlib_main_t vm,
int  priority,
char *  fmt,
  ... 
)
static

Definition at line 906 of file ip6_neighbor.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_error_t* ip6_set_neighbor_limit ( u32  neighbor_limit)

Definition at line 3175 of file ip6_neighbor.c.

+ Here is the caller graph for this function:

clib_error_t* set_ip6_link_local_address ( vlib_main_t vm,
u32  sw_if_index,
ip6_address_t address,
u8  address_length 
)

Definition at line 2983 of file ip6_neighbor.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_error_t* set_ip6_link_local_address_cmd ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)

Definition at line 3043 of file ip6_neighbor.c.

+ Here is the call graph for this function:

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

Definition at line 629 of file ip6_neighbor.c.

+ Here is the call graph for this function:

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

Definition at line 2660 of file ip6_neighbor.c.

+ Here is the call graph for this function:

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

Definition at line 594 of file ip6_neighbor.c.

+ Here is the call graph for this function:

static void unset_random_neighbor_entry ( void  )
static

Definition at line 262 of file ip6_neighbor.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 vnet_ip6_neighbor_glean_add ( u32  fib_index,
void next_hop_arg 
)

Definition at line 518 of file ip6_neighbor.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void vnet_register_ip6_neighbor_resolution_event ( vnet_main_t vnm,
void address_arg,
uword  node_index,
uword  type_opaque,
uword  data 
)

Definition at line 3307 of file ip6_neighbor.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vnet_set_ip6_ethernet_neighbor ( vlib_main_t vm,
u32  sw_if_index,
ip6_address_t a,
u8 link_layer_address,
uword  n_bytes_link_layer_address,
int  is_static 
)

Definition at line 326 of file ip6_neighbor.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

VNET_SW_INTERFACE_ADMIN_UP_DOWN_FUNCTION ( ip6_neighbor_sw_interface_up_down  )

+ Here is the caller graph for this function:

int vnet_unset_ip6_ethernet_neighbor ( vlib_main_t vm,
u32  sw_if_index,
ip6_address_t a,
u8 link_layer_address,
uword  n_bytes_link_layer_address 
)

Definition at line 462 of file ip6_neighbor.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

vlib_cli_command_t disable_ip6_interface_command
Initial value:
= {
.path = "disable ip6 interface",
.short_help = "disable ip6 interface <iface name>",
}
static clib_error_t * disable_ip6_interface_cmd(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)

(constructor) VLIB_CLI_COMMAND (disable_ip6_interface_command)

Definition at line 2970 of file ip6_neighbor.c.

vlib_cli_command_t enable_ip6_interface_command
Initial value:
= {
.path = "enable ip6 interface",
.short_help = "enable ip6 interface <iface name>",
}
static clib_error_t * enable_ip6_interface_cmd(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)

(constructor) VLIB_CLI_COMMAND (enable_ip6_interface_command)

Definition at line 2939 of file ip6_neighbor.c.

vlib_node_registration_t ip6_icmp_neighbor_advertisement_node
Initial value:
= {
.name = "icmp6-neighbor-advertisement",
.vector_size = sizeof (u32),
.format_trace = format_icmp6_input_trace,
.n_next_nodes = 1,
.next_nodes = {
[0] = "error-drop",
},
}
static uword icmp6_neighbor_advertisement(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
unsigned int u32
Definition: types.h:88
format_function_t format_icmp6_input_trace
Definition: icmp6.h:66

(constructor) VLIB_REGISTER_NODE (ip6_icmp_neighbor_advertisement_node)

Definition at line 2215 of file ip6_neighbor.c.

vlib_node_registration_t ip6_icmp_neighbor_discovery_event_node
Initial value:
= {
.name = "ip6-icmp-neighbor-discovery-event-process",
}
static uword ip6_icmp_neighbor_discovery_event_process(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)

Definition at line 2181 of file ip6_neighbor.c.

vlib_node_registration_t ip6_icmp_neighbor_solicitation_node
Initial value:
= {
.name = "icmp6-neighbor-solicitation",
.vector_size = sizeof (u32),
.format_trace = format_icmp6_input_trace,
.next_nodes = {
},
}
unsigned int u32
Definition: types.h:88
static uword icmp6_neighbor_solicitation(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
format_function_t format_icmp6_input_trace
Definition: icmp6.h:66

(constructor) VLIB_REGISTER_NODE (ip6_icmp_neighbor_solicitation_node)

Definition at line 2200 of file ip6_neighbor.c.

vlib_node_registration_t ip6_icmp_router_advertisement_node
Initial value:
= {
.name = "icmp6-router-advertisement",
.vector_size = sizeof (u32),
.format_trace = format_icmp6_input_trace,
.n_next_nodes = 1,
.next_nodes = {
[0] = "error-drop",
},
}
unsigned int u32
Definition: types.h:88
static_always_inline uword icmp6_router_advertisement(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
format_function_t format_icmp6_input_trace
Definition: icmp6.h:66

(constructor) VLIB_REGISTER_NODE (ip6_icmp_router_advertisement_node)

Definition at line 2167 of file ip6_neighbor.c.

vlib_node_registration_t ip6_icmp_router_solicitation_node
Initial value:
= {
.name = "icmp6-router-solicitation",
.vector_size = sizeof (u32),
.format_trace = format_icmp6_input_trace,
.next_nodes = {
[ICMP6_ROUTER_SOLICITATION_NEXT_REPLY_RW] = "ip6-rewrite-local",
},
}
unsigned int u32
Definition: types.h:88
static_always_inline uword icmp6_router_solicitation(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: ip6_neighbor.c:943
format_function_t format_icmp6_input_trace
Definition: icmp6.h:66

(constructor) VLIB_REGISTER_NODE (ip6_icmp_router_solicitation_node)

Definition at line 1978 of file ip6_neighbor.c.

vlib_cli_command_t ip6_nd_command
Initial value:
= {
.path = "ip6 nd",
.short_help = "Set ip6 neighbor discovery parameters",
.function = ip6_neighbor_cmd,
}
clib_error_t * ip6_neighbor_cmd(vlib_main_t *vm, unformat_input_t *main_input, vlib_cli_command_t *cmd)

(constructor) VLIB_CLI_COMMAND (ip6_nd_command)

Definition at line 2976 of file ip6_neighbor.c.

ip6_neighbor_main_t ip6_neighbor_main
static

Definition at line 199 of file ip6_neighbor.c.

char* log_level_strings[]
static
Initial value:
= {
#define _(f,s)
}
#define foreach_log_level
Definition: ip6_neighbor.c:881

Definition at line 897 of file ip6_neighbor.c.

int logmask = 1 << LOG_DEBUG
static

Definition at line 903 of file ip6_neighbor.c.

vlib_cli_command_t set_ip6_link_local_address_command
Initial value:
= {
.path = "set ip6 link-local address",
.short_help = "Set ip6 interface link-local address <intfc> <address.>",
}
clib_error_t * set_ip6_link_local_address_cmd(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)

(constructor) VLIB_CLI_COMMAND (set_ip6_link_local_address_command)

Definition at line 3074 of file ip6_neighbor.c.

vlib_cli_command_t set_ip6_neighbor_command
Initial value:
= {
.path = "set ip6 neighbor",
.function = set_ip6_neighbor,
.short_help = "set ip6 neighbor [del] <intfc> <ip6-address> <mac-address> [static]",
}
static clib_error_t * set_ip6_neighbor(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: ip6_neighbor.c:629

(constructor) VLIB_CLI_COMMAND (set_ip6_neighbor_command)

Definition at line 670 of file ip6_neighbor.c.

vlib_cli_command_t show_ip6_interface_command
Initial value:
= {
.path = "show ip6 interface",
.short_help = "Show ip6 interface <iface name>",
}
static clib_error_t * show_ip6_interface_cmd(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)

(constructor) VLIB_CLI_COMMAND (show_ip6_interface_command)

Definition at line 2776 of file ip6_neighbor.c.

vlib_cli_command_t show_ip6_neighbors_command
Initial value:
= {
.path = "show ip6 neighbors",
.function = show_ip6_neighbors,
.short_help = "Show ip6 neighbors",
}
static clib_error_t * show_ip6_neighbors(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: ip6_neighbor.c:594

(constructor) VLIB_CLI_COMMAND (show_ip6_neighbors_command)

Definition at line 622 of file ip6_neighbor.c.