IPv6. Apparently working. At least I could retrieve a file with http6

This commit is contained in:
Vladimir 'phcoder' Serbinenko 2011-10-13 01:22:56 +02:00
parent 7c006811f8
commit da1b289afc
11 changed files with 184 additions and 73 deletions

View file

@ -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);