summaryrefslogtreecommitdiffstats
path: root/src/vnet/ip/ip6_neighbor.h
diff options
context:
space:
mode:
authorJuraj Sloboda <jsloboda@cisco.com>2018-01-15 10:39:21 +0100
committerOle Trøan <otroan@employees.org>2018-03-16 10:37:18 +0000
commit4b9669dc116f6c9be5ef124e4aff7b201404b6ea (patch)
tree46c6cfe298640f36126693ab4196999adf959c32 /src/vnet/ip/ip6_neighbor.h
parente1b819efac7f8434f17d0482b631c2450e3dd5bb (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.h38
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 */
/*