iPXE identifies the device it was pxe booted from by searching parents of the 
LoadedImage which support SNP and NII and uses the address of the installed NII 
and SNP as a discriminant to see if a device is in fact the one it was pxe 
booted from. This convoluted process is done to shoehorn chainload drivers into 
the ipxe driver api.

Then it will chainload NII or SNP drivers on all devices if they pass the above 
check. My driver used a global static NII struct and installed that as NII on 
all ports so ipxe then tried to bind its NIIONLY driver on all ports on the 
adapter, not just the one it was pxebooted with. Thus it kicked off the network 
stack including the iSCSI connection on the second port even though it was pxe 
booted into using the first port.

Ugh.

-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Laszlo Ersek
Sent: 21 May 2019 20:48
To: Devel EDK2 <devel@edk2.groups.io>; Tomas Pilar <tpi...@solarflare.com>
Subject: Re: [edk2-devel] iSCSI and iBFT

On 05/21/19 16:54, Tomas Pilar (tpilar) wrote:
> I am going to commit the cardinal sin of online dev support.

heh :)

> 'Never mind, found the problem'

What was it?

I didn't ignore your original email -- I looked at iPXE briefly, but couldn't 
blame anything at once, and then I quickly ran out of steam.
There wasn't anything I could have added to the thread.

Thanks,
Laszlo

> From: Tomas Pilar
> Sent: 20 May 2019 16:57
> To: 'devel@edk2.groups.io' <devel@edk2.groups.io>
> Subject: iSCSI and iBFT
> 
> Hi,
> 
> I have a bit of an esoteric problem. When I configure the software iscsi 
> intiator that is part of EDK2 platform network stack, the platform network 
> stack with install iBFT table into the ACPI tables so that the configuration 
> can be picked up by further boot loaders and the OS. So far so good.
> 
> Problem: When I PXE boot into iPXE using my adapter, exit back into boot 
> manager, the iBFT has disappeared. Alternatively, if I use iPXE to then boot 
> WDS, the software initiator in WinPE won't find the iBFT table and therefore 
> won't hook the network drive.
> 
> Observations:
> * When I boot into UEFI shell on disk and exit back into boot manager, the 
> iBFT is preserved.
> 
> * When I PXE boot into UEFI shell and exit, the iBFT is preserved.
> 
> * When I boot into iPXE on disk and exit, the iBFT is preserved.
> 
> * When I use a different adapter (Intel) to pxe boot into iBFT and exit back 
> to boot manager, the iBFT has moved from the penultimate position to the last 
> position in the ACPI tables. Almost as if something uninstalled the iBFT and 
> reinstalled it.
> 
> Any ideas?
> 
> Cheers
> Tom
> 
> 
> 
> 





-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#41221): https://edk2.groups.io/g/devel/message/41221
Mute This Topic: https://groups.io/mt/31686860/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to