[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCHv2] EFI - PXE - include details from proxy (altserviceboot) of
From: |
Andrey Borzenkov |
Subject: |
Re: [PATCHv2] EFI - PXE - include details from proxy (altserviceboot) offer when available (resend) |
Date: |
Tue, 11 Feb 2014 20:06:20 +0400 |
В Tue, 11 Feb 2014 02:20:19 +0000
"Mroczek, Joseph T" <address@hidden> пишет:
> Updated efi api.h with more of pxe mode structure. Definitions from uEFI
> specification v2.4 errata A.
>
> I had to update the typedef for grub_efi_ip_address_t, but it did not seem to
> be used anywhere at this point.
>
> There is a minor issue that it is still not capturing the file name. It is
> beyond my skill level to track down exactly why and fix it safely.
>
> Please let me know if there is anything more I can do.
>
> ~joe
>
> diff -Naur grub-2.02~beta2/grub-core/net/drivers/efi/efinet.c
> grub-2.02~beta2-bug41488-jtm/grub-core/net/drivers/efi/efinet.c
> --- grub-2.02~beta2/grub-core/net/drivers/efi/efinet.c 2013-12-24
> 11:29:27.000000000 -0500
> +++ grub-2.02~beta2-bug41488-jtm/grub-core/net/drivers/efi/efinet.c
> 2014-02-10 20:21:29.342895600 -0500
> @@ -250,6 +250,12 @@
>
> &pxe_mode->dhcp_ack,
> sizeof
> (pxe_mode->dhcp_ack),
> 1, device,
> path);
> + if (pxe_mode->proxy_offer_received)
Should not preceding grub_net_configure_by_dhcp_ack be made conditional
on pxe_mode->dhcp_ack_received as well?
> + grub_net_configure_by_dhcp_ack (card->name, card, 0,
> + (struct
> grub_net_bootp_packet *)
> +
> &pxe_mode->proxy_offer,
> + sizeof
> (pxe_mode->proxy_offer),
> + 1, device,
> path);
> return;
> }
> }
> diff -Naur grub-2.02~beta2/include/grub/efi/api.h
> grub-2.02~beta2-bug41488-jtm/include/grub/efi/api.h
> --- grub-2.02~beta2/include/grub/efi/api.h 2013-12-24
> 12:04:54.000000000 -0500
> +++ grub-2.02~beta2-bug41488-jtm/include/grub/efi/api.h 2014-02-10
> 20:30:32.754895600 -0500
> @@ -526,7 +526,7 @@
> typedef grub_uint8_t grub_efi_mac_address_t[32];
> typedef grub_uint8_t grub_efi_ipv4_address_t[4];
> typedef grub_uint16_t grub_efi_ipv6_address_t[8];
> -typedef grub_uint8_t grub_efi_ip_address_t[8] __attribute__ ((aligned(4)));
> +typedef grub_uint8_t grub_efi_ip_address_t[16] __attribute__ ((aligned(4)));
> typedef grub_efi_uint64_t grub_efi_physical_address_t;
> typedef grub_efi_uint64_t grub_efi_virtual_address_t;
>
> @@ -1342,12 +1342,33 @@
>
> typedef struct grub_efi_pxe_mode
> {
> - grub_uint8_t unused[52];
> + grub_uint8_t started;
> + grub_uint8_t ipv6_available;
> + grub_uint8_t ipv6_supported;
> + grub_uint8_t using_ipv6;
> + grub_uint8_t bis_supported;
> + grub_uint8_t bis_detected;
> + grub_uint8_t auto_arp;
> + grub_uint8_t send_guid;
> + grub_uint8_t dhcp_discover_valid;
> + grub_uint8_t dhcp_ack_received;
> + grub_uint8_t proxy_offer_received;
> + grub_uint8_t pxe_discover_valid;
> + grub_uint8_t pxe_reply_received;
> + grub_uint8_t pxe_bis_reply_received;
> + grub_uint8_t icmp_error_received;
> + grub_uint8_t tftp_error_received;
> + grub_uint8_t make_callbacks;
> + grub_uint8_t ttl;
> + grub_uint8_t tos;
> + grub_efi_ip_address_t station_ip;
> + grub_efi_ip_address_t subnet_mask;
> grub_efi_pxe_packet_t dhcp_discover;
> grub_efi_pxe_packet_t dhcp_ack;
> grub_efi_pxe_packet_t proxy_offer;
> grub_efi_pxe_packet_t pxe_discover;
> grub_efi_pxe_packet_t pxe_reply;
> + grub_efi_pxe_packet_t pxe_bis_reply;
> } grub_efi_pxe_mode_t;
>
> typedef struct grub_efi_pxe
>
>
> _______________________________________________
> Grub-devel mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/grub-devel