mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-26 09:10:53 +00:00
IPv6. Apparently working. At least I could retrieve a file with http6
This commit is contained in:
1 parent
7c006811f8
commit
da1b289afc
11 files changed
+184
-73
No files matched your search
+4
-1
@@ -58,6 +58,7 @@ grub_net_arp_send_request (struct grub_net_network_level_interface *inf,
|
||||
int i;
|
||||
grub_size_t addrlen;
|
||||
grub_uint16_t etherpro;
|
||||
grub_uint8_t *nbd;
|
||||
|
||||
if (proto_addr->type == GRUB_NET_NETWORK_LEVEL_PROTOCOL_IPV4)
|
||||
{
|
||||
@@ -99,6 +100,7 @@ grub_net_arp_send_request (struct grub_net_network_level_interface *inf,
|
||||
grub_memcpy (aux, &proto_addr->ipv4, 4);
|
||||
grub_memset (&target_hw_addr.mac, 0xff, 6);
|
||||
|
||||
nbd = nb.data;
|
||||
send_ethernet_packet (inf, &nb, target_hw_addr, GRUB_NET_ETHERTYPE_ARP);
|
||||
for (i = 0; i < GRUB_NET_TRIES; i++)
|
||||
{
|
||||
@@ -107,6 +109,7 @@ grub_net_arp_send_request (struct grub_net_network_level_interface *inf,
|
||||
grub_net_poll_cards (GRUB_NET_INTERVAL);
|
||||
if (grub_net_link_layer_resolve_check (inf, proto_addr))
|
||||
return GRUB_ERR_NONE;
|
||||
nb.data = nbd;
|
||||
send_ethernet_packet (inf, &nb, target_hw_addr, GRUB_NET_ETHERTYPE_ARP);
|
||||
}
|
||||
|
||||
@@ -142,7 +145,7 @@ grub_net_arp_receive (struct grub_net_buff *nb,
|
||||
return GRUB_ERR_NONE;
|
||||
|
||||
sender_hw_addr.type = GRUB_NET_LINK_LEVEL_PROTOCOL_ETHERNET;
|
||||
grub_memcpy (sender_hw_addr.mac, &sender_hardware_address,
|
||||
grub_memcpy (sender_hw_addr.mac, sender_hardware_address,
|
||||
sizeof (sender_hw_addr.mac));
|
||||
grub_net_link_layer_add_address (card, &sender_addr, &sender_hw_addr, 1);
|
||||
|
||||
|
||||
Reference in new issue
Block a user