[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