send router solicitation for ipv6 address autoconf v2

Many routers have long router advertisment interval configured by
default. The Neighbor Discovery protocol (RFC4861) has defined default
MaxRtrAdvInterval value as 600 seconds and
MinRtrAdvInterval as 0.33*MaxRtrAdvInterval. This makes
net_ipv6_autoconf fails more often than not as currently it passively
listens the RA message to perfom address autoconfiguration.

This patch tries to send router solicitation to overcome the problem of
long RA interval.

v2:
use cpu_to_be macro for network byte order conversion
add missing error handling
This commit is contained in:
Michael Chang 2014-11-18 16:03:08 +08:00 committed by Andrei Borzenkov
parent e2dd6daa8c
commit 7c4b6b7bb4
3 changed files with 88 additions and 1 deletions

View file

@ -92,4 +92,6 @@ grub_err_t
grub_net_icmp6_send_request (struct grub_net_network_level_interface *inf,
const grub_net_network_level_address_t *proto_addr);
grub_err_t
grub_net_icmp6_send_router_solicit (struct grub_net_network_level_interface *inf);
#endif