[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [PATCHv2] EFI - PXE - include details from proxy (altserviceboot) of
From: |
Mroczek, Joseph T |
Subject: |
RE: [PATCHv2] EFI - PXE - include details from proxy (altserviceboot) offer when available (resend) |
Date: |
Wed, 12 Feb 2014 19:33:20 +0000 |
> From: Andrey Borzenkov [mailto:address@hidden
> Sent: Wednesday, February 12, 2014 7:59 AM
>
> В 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)
> > + 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);
>
> I think these two must be reverted. According to pxe spec, data provided by
> DHCP server takes precedent over data provided by DHCP Proxy and this
> patch does the opposite. This should hopefully give client valid address
> again.
>
Ok. It is going to require some reworking of grub_net_configure_by_dhcp_ack.
When I tested loading the proxy offer first, it did not work. If I recall
correctly, the IP address got set to 0.0.0.0.
~joe