[syslinux] [PATCH] Updated udp.c to use real client ip and subnetmask values if on local subnet
Gene Cumm
gene.cumm at gmail.com
Fri Jul 17 16:44:24 PDT 2015
On Tue, Jul 14, 2015 at 4:26 PM, <jeff_sloan at selinc.com> wrote:
>>>>
> I have seen the capture but I couldn't find anything wrong there;
> When you get a minute please assemble the rest of info;
> so far it's not clear what the symptoms really are.
> <<<
>
> The IP4 config data struct contents from core_udp_open is included below.
> When UseDefaultAddress is TRUE, it passes 0.0.0.0 for StationAddress and
> NetMask. core_udp_open calls core_udp_configure which calls efiip4configure
> (BIOS). BIOS validates SA and NM but special-cases both null to allow for
> proxy. BIOS tries to find the GUID to configure but fails and returns
> EFI_UNSUPPORTED error, EFIERR(3).
Ahh! I think I have a better solution then.
A pedantic note: BIOS implies non-EFI mode. Firmware is a more correct term.
What uEFI specification version does your system claim to be compliant
with? I'd like to read over the spec for the call to verify things.
> Then core_udp_sendto attempts to send the packet even though it was never
> configured. It does not check for problems, instead relying on the
I see why.
> core_udp_recv to timeout. It retries based on the timeout table but before
> completing all of the retries, the watchdog timer triggers a reset.
>
> So the net is that no udp packets hit the wire once syslinux starts
> executing. I was able to circumvent this by setting UseDefaultAddress to
> FALSE and populating SA and NM to correct values. Is there a better/more
> global approach if the SA/NM values are NULL?
>
> The other question I have is how should we handle a fail from the configure?
> Thoughts?
>
>>>>
> >>>
> but I am headed out the door to see
> if a doctor can keep me alive... (I think I have bubonic plague.)
> <<<
>
> I hope our health is OK
> <<<
>
> Thanks! A bad bout of bronchitis but with a full pharmacy of meds, I'm doing
> much better. Better living through chemistry.
>
>
> ip4 config data contents:
> This is a mem copy from an Arium so the first column is the address, second
> and third are 64 bit contents and the fourth is ASCII. The RemoteAddress is
> 10.39.31.250 (FA1F270A on the second row). Both SA and NM are 0.
>
> 00000000C78CEF50L 0000400000000100 0000000000000000 ..... at ..........
> 00000000C78CEF60L 0000000000000001 FA1F270A06290000 ..........)..'.z
> 00000000C78CEF70L 0000000000000045 00000000C78CF003 E........p.G....
>
> ip4 handle that results in EFI_UNSUPPORTED:
>
> 00000000C99E2318L 000000006C646E68 00000000C8E1DBA0 hndl.... [aH....
> 00000000C99E2328L 00000000C9BC07A0 00000000C8E0C828 .<I....(H`H....
> 00000000C99E2338L 00000000C99DDF28 000000000000780A (_.I.....x......
> 00000000C99E2348L 0000000000000401 000000586C617470 ........ptalX...
> 00000000C99E2358L 7E840FE73B45017E 0002D68E0F000002 ~.E;g..~.....V..
> 00000000C99E2368L 44227E03FC834100 850FE53B45046E8D .A.|.~"D.n.E;e..
> 00000000C99E2378L 0FED8548000002C3 0000005030646870 C...H.m.phd0P...
> 00000000C99E2388L AFAFAFAF00000004 AFAFAFAFAFAFAFAF ....////////////
>
> Any questions or additional details needed, just ask.
On Wed, Jul 8, 2015 at 7:34 PM, Gene Cumm <gene.cumm at gmail.com> wrote:
> Have you tested this with accessing both subnet-local and
> subnet-remote servers (ie, TFTP servers)?
Reasoning is simple: if your clients can't deal with UseDefaultAddress
for subnet-remote TFTP, then you can NOT use subnet-locality to
indicate whether UseDefaultAddress is "broken". Loading only 1 file
from a subnet-remote TFTP after booting from a subnet-local TFTP will
suffice.
--
-Gene
More information about the Syslinux
mailing list