diff options
author | Juraj Sloboda <jsloboda@cisco.com> | 2018-01-15 10:39:21 +0100 |
---|---|---|
committer | Ole Trøan <otroan@employees.org> | 2018-03-16 10:37:18 +0000 |
commit | 4b9669dc116f6c9be5ef124e4aff7b201404b6ea (patch) | |
tree | 46c6cfe298640f36126693ab4196999adf959c32 /src/vnet/ip/ip6_neighbor.h | |
parent | e1b819efac7f8434f17d0482b631c2450e3dd5bb (diff) |
IPv6 ND Router discovery data plane (VPP-1095)
Add API call to send Router Solicitation messages.
Save info from incoming Router Advertisement messages and notify listeners.
Change-Id: Ie518b5492231e03291bd4c4280be4727bfecab46
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
Diffstat (limited to 'src/vnet/ip/ip6_neighbor.h')
-rw-r--r-- | src/vnet/ip/ip6_neighbor.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/vnet/ip/ip6_neighbor.h b/src/vnet/ip/ip6_neighbor.h index ed80381b35c..e46a6b14221 100644 --- a/src/vnet/ip/ip6_neighbor.h +++ b/src/vnet/ip/ip6_neighbor.h @@ -98,6 +98,44 @@ typedef struct void wc_nd_set_publisher_node (uword node_index, uword event_type); +typedef struct +{ + u32 irt; + u32 mrt; + u32 mrc; + u32 mrd; +} icmp6_send_router_solicitation_params_t; + +void icmp6_send_router_solicitation (vlib_main_t * vm, u32 sw_if_index, + u8 stop, + icmp6_send_router_solicitation_params_t * + params); + +typedef struct +{ + ip6_address_t dst_address; + u8 dst_address_length; + u8 flags; + u32 valid_time; + u32 preferred_time; +} ra_report_prefix_info_t; + +typedef struct +{ + u32 sw_if_index; + u8 router_address[16]; + u8 current_hop_limit; + u8 flags; + u16 router_lifetime_in_sec; + u32 neighbor_reachable_time_in_msec; + u32 time_in_msec_between_retransmitted_neighbor_solicitations; + u8 slla[6]; + u32 mtu; + ra_report_prefix_info_t *prefixes; +} ra_report_t; + +void ra_set_publisher_node (uword node_index, uword event_type); + #endif /* included_ip6_neighbor_h */ /* |