[PATCH 1/3] dhcp: fix request packet's requested IP option
Eric Bénard
eric at eukrea.com
Fri Jan 30 00:13:26 PST 2015
Le Fri, 30 Jan 2015 16:01:46 +0800,
Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com> a écrit :
>
> > On Jan 29, 2015, at 7:37 AM, Eric Bénard <eric at eukrea.com> wrote:
> >
> > In the request packet, we are supposed to copy the IP that the DHCP server
> > provided in the offer packet so that dhcp_extended can fill the option 50.
> > There is actually an error in barebox as the pointer to the packet currently
> > built is used as the source instead of the pointer to the offer packet.
> > With this patch, barebox now sends a request packet which includes the right
> > requested IP in option 50.
> >
> > Signed-off-by: Eric Bénard <eric at eukrea.com>
> > ---
> > net/dhcp.c | 4 +---
> > 1 file changed, 1 insertion(+), 3 deletions(-)
> >
> > diff --git a/net/dhcp.c b/net/dhcp.c
> > index 9551d60..78440dd 100644
> > --- a/net/dhcp.c
> > +++ b/net/dhcp.c
> > @@ -579,7 +579,7 @@ static void dhcp_send_request_packet(struct bootp *bp_offer)
> > /*
> > * Copy options from OFFER packet if present
> > */
> > - net_copy_ip(&OfferedIP, &bp->bp_yiaddr);
> > + net_copy_ip(&OfferedIP, &bp_offer->bp_yiaddr);
> > extlen = dhcp_extended((u8 *)bp->bp_vend, DHCP_REQUEST, net_dhcp_server_ip,
> > OfferedIP);
> >
> > @@ -745,9 +745,7 @@ static int do_dhcp(int argc, char *argv[])
> > ret = net_udp_bind(dhcp_con, PORT_BOOTPC);
> > if (ret)
> > goto out1;
> > -
> > net_set_ip(0);
> > -
>
> one fix at a time
>
> I do prefer the empty it make the code more readable
>
then read v2 ;-)
Eric
More information about the barebox
mailing list