![]() |
FD.io VPP
v21.01
Vector Packet Processing
|
IPv6 Router Advertisements. More...
Go to the source code of this file.
Data Structures | |
struct | ip6_radv_prefix_t |
struct | ip6_ra_t_ |
Macros | |
#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 | MIN_ADV_VALID_LIFETIME 7203 /* seconds */ |
#define | DEF_ADV_VALID_LIFETIME 2592000 |
#define | DEF_ADV_PREF_LIFETIME 604800 |
#define | foreach_log_level |
Typedefs | |
typedef struct ip6_ra_t_ | ip6_ra_t |
Variables | |
icmp6_router_advertisement_packet_t | |
static ip6_link_delegate_id_t | ip6_ra_delegate_id |
static ip6_ra_t * | ip6_ra_pool |
static ip6_ra_report_notify_t * | ip6_ra_listeners |
static char * | log_level_strings [] |
static int | logmask = 1 << LOG_DEBUG |
static vlib_node_registration_t | ip6_icmp_router_solicitation_node |
(constructor) VLIB_REGISTER_NODE (ip6_icmp_router_solicitation_node) More... | |
static vlib_node_registration_t | ip6_icmp_router_advertisement_node |
(constructor) VLIB_REGISTER_NODE (ip6_icmp_router_advertisement_node) More... | |
vlib_node_registration_t | ip6_rs_process_node |
(constructor) VLIB_REGISTER_NODE (ip6_rs_process_node) More... | |
vlib_node_registration_t | ip6_ra_process_node |
(constructor) VLIB_REGISTER_NODE (ip6_ra_process_node) More... | |
static vlib_cli_command_t | ip6_nd_command |
(constructor) VLIB_CLI_COMMAND (ip6_nd_command) More... | |
static const ip6_link_delegate_vft_t | ip6_ra_delegate_vft |
VFT for registering as a delegate to an IP6 link. More... | |
IPv6 Router Advertisements.
The files contains the API and CLI code for managing IPv6 RAs
Definition in file ip6_ra.c.
#define DEF_DEF_RTR_LIFETIME 3 * DEF_MAX_RADV_INTERVAL |
#define DEF_MIN_RADV_INTERVAL .75 * DEF_MAX_RADV_INTERVAL |
#define foreach_log_level |
enum log_level_t |
|
inlinestatic |
typedef CLIB_PACKED | ( | struct { ip6_header_t ip;icmp6_neighbor_discovery_header_t neighbor;icmp6_neighbor_discovery_ethernet_link_layer_address_option_t link_layer_option;} | ) |
|
inlinestatic |
static_always_inline uword icmp6_router_advertisement | ( | vlib_main_t * | vm, |
vlib_node_runtime_t * | node, | ||
vlib_frame_t * | frame | ||
) |
static_always_inline uword icmp6_router_solicitation | ( | vlib_main_t * | vm, |
vlib_node_runtime_t * | node, | ||
vlib_frame_t * | frame | ||
) |
void icmp6_send_router_solicitation | ( | vlib_main_t * | vm, |
u32 | sw_if_index, | ||
u8 | stop, | ||
const icmp6_send_router_solicitation_params_t * | params | ||
) |
|
static |
clib_error_t* ip6_ra_cmd | ( | vlib_main_t * | vm, |
unformat_input_t * | main_input, | ||
vlib_cli_command_t * | cmd | ||
) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
void ip6_ra_report_register | ( | ip6_ra_report_notify_t | fn | ) |
void ip6_ra_report_unregister | ( | ip6_ra_report_notify_t | fn | ) |
|
static |
|
static |
|
inlinestatic |
|
static |
(constructor) VLIB_REGISTER_NODE (ip6_icmp_router_advertisement_node)
|
static |
(constructor) VLIB_REGISTER_NODE (ip6_icmp_router_solicitation_node)
|
static |
(constructor) VLIB_CLI_COMMAND (ip6_nd_command)
|
static |
|
static |
VFT for registering as a delegate to an IP6 link.
|
static |
vlib_node_registration_t ip6_ra_process_node |
(constructor) VLIB_REGISTER_NODE (ip6_ra_process_node)
vlib_node_registration_t ip6_rs_process_node |
(constructor) VLIB_REGISTER_NODE (ip6_rs_process_node)
|
static |