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