Hi Siyuan,

Thanks for your prompt reply.

I want to use my UNDI driver over Infiniband (IB) medium and I currently don't 
want to implement the L3-L2 translations (as I use IPoIB implementation and 
things get nasty there once Ipv6 in picture).
I think that implicitly depending on specific network protocol (in this case - 
Ethernet) is not recommended and should not be taken for granted in specs. 
Moreover - the spec doesn't say anything about Ipv6Supported being used only 
for translation but rather for support as a whole (including L3-L2 
translations).
I also think that I have backed my theorem with the PxeBC section in the spec 
that states that the Ipv6Available flag shall only be used if the SNP driver 
supports Ipv6. And that thing is not being enforced in the current 
implementation.
I'm familiar with the implementation of MnpDxe and indeed it does the 
translation if the IfType is PXE_IFTYPE_ETHERNET but that is not our case, and 
the translation is being forwarded to Snp and eventually to our UNDI 
implementation.

Bottom line - I think there is place to start thinking of how to align current 
Implementation to spec (involves, AFAIK, SnpDxe and Ipv6Dxe drivers).

Ari

From: Fu, Siyuan [mailto:siyuan...@intel.com]
Sent: Tuesday, November 19, 2013 7:57 AM
To: Ari Zigler
Cc: edk2-devel@lists.sourceforge.net
Subject: RE: Ipv6 support in DxePxeBaseCode driver

Hi, Ari

First we need to know whether you are using Ethernet or another network medium. 
The SNP driver doesn't check the Ipv6Supported from UNDI driver indeed, and 
it's not necessary on Ethernet. The "Ipv6Supported" in UNDI layer typically 
means the IPv6 to MAC address translate commands, and over Ethernet the address 
translation mechanism is defined in RFCs and implemented in EDKII MnpDxe 
driver. So I think EDKII IPv6 drivers can provide IPv6 support to PXE driver, 
even though the UNDI doesn't support IPv6. But if you are not using Ethernet, 
then the IPv6 support from UNDI driver is needed at least we need it to 
translate the multicast address.

Best Regards
Fu, Siyuan

From: Ari Zigler [mailto:a...@mellanox.com]
Sent: Monday, November 18, 2013 9:55 PM
To: edk2-devel@lists.sourceforge.net<mailto:edk2-devel@lists.sourceforge.net>
Subject: [edk2] Ipv6 support in DxePxeBaseCode driver

Hi all,

I have a UNDI driver that doesn't support Ipv6. I explicitly set Undi protocol 
structure's "Ipv6Supported" field to FALSE.
The UEFI spec (2.4) dictates that PxeBC shall set its "Ipv6Available" field 
according to its underlying SNP Ipv6 capability (p. 996):
"Ipv6AvailableTRUE if the Simple Network Protocol being used supports IPv6."

Nevertheless, it seems like all of the drivers being used by PxeBC ignores the 
UNDI's "Ipv6Supported" flag, especially DxeIpv6 driver which shall NOT support 
SNP driver if its UNDI driver doesn't support Ipv6. As a consequence, PxeBC 
display an option to boot over IPv6, even though it's impossible!
The problem gets even more complicated when we look at SNP spec as (and I say 
that humbly) there is actually no way of getting this information out of SNP.

Am I missing something? What is the proper way to inform PxeBC of Ipv6 support?

You help will be highly appreciated.

Thanks,

Ari
------------------------------------------------------------------------------
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to