Geert Stappers
2013-Nov-08 23:35 UTC
[syslinux] syslinux.efi pxeboot across multiple subnets
Op 2013-11-08 om 10:48 schreef H. Peter Anvin:> Thank you for posting the pcap files, by the way. Analyzing them in > Wireshark is so much nicer than reading the text output of tcpdump.Fetch the new capture with wget -O pcap2.zip http://ge.tt/api/1/files/136167y/0/blob?downlad The capture[1] shows two[2] TFTP transmissions of sles113/syslinux.efi, but nothing after that. As if syslinux.efi was crashed. Groeten Geert Stappers Notes [1] With a snaplength of 96 bytes or something. Add -S0 to tcpdump to get the full network packets. [2] A previous posting says that the repeated transmission is an artifact of the firmware.
H. Peter Anvin
2013-Nov-08 23:44 UTC
[syslinux] syslinux.efi pxeboot across multiple subnets
On 11/08/2013 03:35 PM, Geert Stappers wrote:> Op 2013-11-08 om 10:48 schreef H. Peter Anvin: >> Thank you for posting the pcap files, by the way. Analyzing them in >> Wireshark is so much nicer than reading the text output of tcpdump. > > Fetch the new capture with > > wget -O pcap2.zip http://ge.tt/api/1/files/136167y/0/blob?downlad > > > The capture[1] shows two[2] TFTP transmissions of sles113/syslinux.efi, > but nothing after that. As if syslinux.efi was crashed. > > Groeten > Geert Stappers > > Notes > [1] With a snaplength of 96 bytes or something. > Add -S0 to tcpdump to get the full network packets. > [2] A previous posting says that the repeated transmission > is an artifact of the firmware.syslinux.efi either crashed or just can't get packets out. Either of which is bad, obviously. -hpa
I tried the patch from hpa directly on branch firmware and I get a different (non-working) behavior. syslinux.efi is correctly downloaded and my tftp server receive requests for ldlinux.e64 and acknowledge options, but receive no response at all. Actually, what happen is that before any packet is actually sent (and Transmit is called), GetModeData return a StationPort = 0. Leading to received packets being discarded by the firmware because of the non-matching port and the absence of AcceptAnyPort flag. Local port, thus, can't be saved before the first call to core_udp_send or core_udp_sendto. Two possible solutions I see: 1) Handle the local port "by hand" instead of relying on the EFI implementation to chose it. 2) Save the StationPort as soon as it is known similarly to what is currently done. 2013/11/9, H. Peter Anvin <hpa at zytor.com>:> On 11/08/2013 03:35 PM, Geert Stappers wrote: >> Op 2013-11-08 om 10:48 schreef H. Peter Anvin: >>> Thank you for posting the pcap files, by the way. Analyzing them in >>> Wireshark is so much nicer than reading the text output of tcpdump. >> >> Fetch the new capture with >> >> wget -O pcap2.zip http://ge.tt/api/1/files/136167y/0/blob?downlad >> >> >> The capture[1] shows two[2] TFTP transmissions of sles113/syslinux.efi, >> but nothing after that. As if syslinux.efi was crashed. >> >> Groeten >> Geert Stappers >> >> Notes >> [1] With a snaplength of 96 bytes or something. >> Add -S0 to tcpdump to get the full network packets. >> [2] A previous posting says that the repeated transmission >> is an artifact of the firmware. > > syslinux.efi either crashed or just can't get packets out. Either of > which is bad, obviously. > > -hpa > > > _______________________________________________ > Syslinux mailing list > Submissions to Syslinux at zytor.com > Unsubscribe or set options at: > http://www.zytor.com/mailman/listinfo/syslinux > Please do not send private replies to mailing list traffic. > >
Geert Stappers
2013-Nov-09 09:33 UTC
[syslinux] syslinux.efi pxeboot across multiple subnets
Op 2013-11-08 om 15:44 schreef H. Peter Anvin:> On 11/08/2013 03:35 PM, Geert Stappers wrote: > > Op 2013-11-08 om 10:48 schreef H. Peter Anvin: > >> Thank you for posting the pcap files, by the way. Analyzing them in > >> Wireshark is so much nicer than reading the text output of tcpdump. > > > > Fetch the new capture with > > > > wget -O pcap2.zip http://ge.tt/api/1/files/136167y/0/blob?downlad > > > > The capture[1] shows two TFTP transmissions of sles113/syslinux.efi, > > but nothing after that. As if syslinux.efi was crashed. > > > > [1] With a snaplength of 96 bytes or something. > > Add -S0 to tcpdump to get the full network packets. > > syslinux.efi either crashed or just can't get packets out. Either of > which is bad, obviously.And a thrid option, still bad: Send out packets didn't get across gateway. That is possible when the mirror port is at the same side of a gateway as the TFTP server is. Euh, I mean visible where I said possible. Please confirm where in the network the tcpdump is made, or even better: capture the packets near the booting machine. Something else: How many gateway / routers are involved? Groeten Geert Stappers Yes, it is good to respect the discussion order -- Leven en laten leven