[syslinux] Sending UDP packets from comboot

Sebastian Herbszt herbszt at gmx.de
Mon Jun 1 14:13:00 PDT 2009


Michael Brown wrote:
> On Saturday 30 May 2009 22:32:20 Sebastian Herbszt wrote:
>> pxe_udp_open_pkt.sip is set to the source ip in udp_init (pxelinux.asm).
>> The packet produced by the module using PXENV_UDP_WRITE has 0.0.0.0 as
>> its source ip according to wireshark tho. This seems to be a documented
>> limitation of gPXE (pxe_udp.c):
>>
>>  * @note Etherboot currently ignores the s_PXENV_UDP_OPEN::src_ip
>>  * parameter.
>>
>> Michael, are there any plans to fix gPXE? This is working fine in
>> Etherboot.
> 
> The comment is out of date; the current gPXE code does store the src_ip 
> parameter from PXENV_UDP_OPEN and uses it to form the source address in 
> PXENV_UDP_WRITE.

I was testing with gPXE from 01/2009 and noticed pxe_udp.c didn't change
since then. A little bit of bisect revealed it works since:

commit d230b53df2f44da477742094e5bbcc1b1520347c
Author: Michael Brown
Date:   Wed Jan 21 03:40:39 2009 +0000

    [tcpip] Allow for transmission to multicast IPv4 addresses

    When sending to a multicast address, it may be necessary to specify
    the source address explicitly, since the multicast destination address
    does not provide enough information to deduce the source address via
    the miniroute table.

    Allow the source address specified via the data-xfer metadata to be
    passed down through the TCP/IP stack to the IPv4 layer, which can use
    it as a default source address.

- Sebastian




More information about the Syslinux mailing list