- 26 Feb, 2016 1 commit
-
-
Josef Bacik authored
ipv6 routing in grub2 is broken, we cannot talk to anything outside our local network or anything that doesn't route in our global namespace. This patch fixes this by doing a couple of things 1) Read the router information off of the router advertisement. If we have a router lifetime we need to take the source address and create a route from it. 2) Changes the routing stuff slightly to allow you to specify a gateway _and_ an interface. Since the router advertisements come in on the link local address we need to associate it with the global address on the card. So when we are processing the router advertisement, either use the SLAAC interface we create and add the route to that interface, or loop through the global addresses we currently have on our interface and associate it with one of those addresses. We need to have a special case here for the default route so that it gets used, we do this by setting the masksize to 0 to mean it encompasses all networks. The routing code will automatically select the best route so if there is a closer match we will use that. With this patch I can now talk to ipv6 addresses outside of my local network. Thanks, Signed-off-by:
Josef Bacik <jbacik@fb.com>
-
- 27 Mar, 2015 1 commit
-
-
Andrei Borzenkov authored
-
- 28 Nov, 2014 1 commit
-
-
Michael Chang authored
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
-
- 03 Nov, 2014 1 commit
-
-
Michael Chang authored
The structure size used in grub_netbuff_pull to get the pointer to option header is apparently wrong, which leads to subsequent range check failed and therefore not responding to any neighbor solicit message in my testing.
-
- 21 Jan, 2014 1 commit
-
-
Paulo Flabiano Smorigo authored
* grub-core/net/arp.c (grub_net_arp_send_request): Increase network try interval gradually. * grub-core/net/icmp6.c (grub_net_icmp6_send_request): Likewise. * grub-core/net/net.c (grub_net_fs_read_real): Likewise. * grub-core/net/tftp.c (tftp_open): Likewise. * include/grub/net.h (GRUB_NET_INTERVAL_ADDITION): New define.
-
- 15 Dec, 2013 1 commit
-
-
Vladimir Serbinenko authored
Just "packed" doesn't always pack the way we expect.
-
- 20 Oct, 2013 1 commit
-
-
Vladimir 'phcoder' Serbinenko authored
* grub-core/net/bootp.c: Likewise. * grub-core/net/dns.c: Likewise. * grub-core/net/icmp6.c: Likewise. * grub-core/net/net.c: Likewise.
-
- 05 Oct, 2012 1 commit
-
-
Colin Watson authored
preferred_address. (grub_cmd_linux): Likewise. * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of preferred_lifetime. Update all users.
-
- 09 Jun, 2012 1 commit
-
-
Vladimir 'phcoder' Serbinenko authored
* include/grub/net.h (grub_net_poll_cards): New argument stop_condition. All users updated. * grub-core/net/arp.c (have_pending): New var. (pending_req): Likewise. (grub_net_arp_send_request): Fill pending_req and use have_pending as stop indicator. (grub_net_arp_receive): Set have_pending. * grub-core/net/dns.c (recv_data): New field stop. (recv_hook): Set stop. (grub_net_dns_lookup): Init stop and use as stop condition. * grub-core/net/http.c (http_establish): Use headers_recv as stop condition. * grub-core/net/net.c (grub_net_poll_cards): New argument stop_condition. Stop when it goes true. * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop indicator. * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
-
- 14 Oct, 2011 1 commit
-
-
Vladimir 'phcoder' Serbinenko authored
-
- 13 Oct, 2011 2 commits
-
-
Vladimir 'phcoder' Serbinenko authored
-
Vladimir 'phcoder' Serbinenko authored
-
- 12 Oct, 2011 1 commit
-
-
Vladimir 'phcoder' Serbinenko authored
-