grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 3/4] efinet: UEFI IPv6 PXE support


From: Thomas Frauendorfer
Subject: Re: [PATCH 3/4] efinet: UEFI IPv6 PXE support
Date: Thu, 4 Jun 2020 13:37:52 +0200

Hi,

You replace the 'unused[52]' field before dhcp_discover with 51 bytes.
While the UEFI spec also defines the EFI_PXE_BASE_CODE_MODE struct in
this way it also specifies that an EFI_IP_ADDRESS is 16-byte buffer
aligned on a 4-byte boundary.
So there should probably be a grub_efi_uint8_t between tos and
station_ip to ensure the correct alignment

On Thu, Jun 4, 2020 at 9:34 AM Javier Martinez Canillas
<javierm@redhat.com> wrote:
>

>  typedef struct grub_efi_pxe_mode
>  {
> -  grub_uint8_t unused[52];
> +  grub_efi_boolean_t started;
> +  grub_efi_boolean_t ipv6_available;
> +  grub_efi_boolean_t ipv6_supported;
> +  grub_efi_boolean_t using_ipv6;
> +  grub_efi_boolean_t bis_supported;
> +  grub_efi_boolean_t bis_detected;
> +  grub_efi_boolean_t auto_arp;
> +  grub_efi_boolean_t send_guid;
> +  grub_efi_boolean_t dhcp_discover_valid;
> +  grub_efi_boolean_t dhcp_ack_received;
> +  grub_efi_boolean_t proxy_offer_received;
> +  grub_efi_boolean_t pxe_discover_valid;
> +  grub_efi_boolean_t pxe_reply_received;
> +  grub_efi_boolean_t pxe_bis_reply_received;
> +  grub_efi_boolean_t icmp_error_received;
> +  grub_efi_boolean_t tftp_error_received;
> +  grub_efi_boolean_t make_callbacks;
> +  grub_efi_uint8_t ttl;
> +  grub_efi_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_ip_filter_t ip_filter;
> +  grub_efi_uint32_t arp_cache_entries;
> +  grub_efi_pxe_arp_entry_t arp_cache[GRUB_EFI_PXE_BASE_CODE_MAX_ARP_ENTRIES];
> +  grub_efi_uint32_t route_table_entries;
> +  grub_efi_pxe_route_entry_t 
> route_table[GRUB_EFI_PXE_BASE_CODE_MAX_ROUTE_ENTRIES];
> +  grub_efi_pxe_icmp_error_t icmp_error;
> +  grub_efi_pxe_tftp_error_t tftp_error;
>  } grub_efi_pxe_mode_t;
>
>  typedef struct grub_efi_pxe



reply via email to

[Prev in Thread] Current Thread [Next in Thread]