Hi Duane, On 04/24/13 17:34, Duane Voth wrote: > Gentlemen, pardon the intrusion but I'm approaching a deadline and need > to attract a little attention to posts with the subject: [edk2] OVMF > networking for real this time > > I noticed the two of you discussing this a few months ago: > > On Thu, Jan 17, 2013 at 10:53 AM, Laszlo Ersek <ler...@redhat.com > <mailto:ler...@redhat.com>> wrote: > > On 01/17/13 16:00, Gerd Hoffmann wrote: > > > > I'm running ovmf with networking enabled and ipxe efi roms. Network > > driver seems to work properly. In efi shell I can ifconfig the > > interface with a static ip address and ping the default gateway. > > I tried something similar, but didn't get this far. > > > > I also am using an ipxe based PXE boot payload in OVMF with -D > NETWORK_ENABLE. "ifconfig -s eth0 dhcp" appears to work but > suspiciously returns immediately with the PXE boot IP with *no* network > traffic for the dhcp handshake. (I would be thrilled if the dhcp lease > negotiation during the PXE boot was carried forward to uEFI, but doubt > that this is actually what is happening!) > > In any case I canNOT ping the gateway after ifconfig. The error is: > > "There is no route to the destination '192.168.1.1' from the source > '<null string>' was found." > > I don't recall ever seeing routing table configs in uEFI - could someone > explain how the uEFI routing tables are setup? > > GetServByPort.efi btw, works fine.
I'm not ignoring you in the least, I just can't help. The most that I got out of OVMF networking I documented in this exact thread. As usual I have no better idea than to read the relevant edk2 docs, narrow down the affected source (eg. starting with the ifconfig utility), and carpet-bomb it with DEBUGs. Wrt. identifying the source code, there's the question of which shell you're using. For Shell2 you need a -D option at build time, and in that case I *think* your ifconfig would come from "ShellPkg/Library/UefiShellNetwork1CommandsLib/Ifconfig.c". If you use Shell1 (which I think is the default), then the build process embeds the Shell1 binary present in the edk2 tree into the firmware. The source is available (see "EdkShellBinPkg/ReadMe.txt") from a separate repo. The ifconfig utility is implemented in "IfConfig/IfConfig.c" in this case. http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=Shell_FAQ http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=Efi-shell http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=ShellPkg Anyway both seem to call mHiiConfigRouting->RouteConfig() at some point. The protocol providing this function seems to be EFI_HII_CONFIG_ROUTING_PROTOCOL, with a GUID ("gEfiHiiConfigRoutingProtocolGuid") that starts with 0x587e72d7. In my OVMF build that protocol is installed by InitializeHiiDatabase() in MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseEntry.c. The protocol implementation seems to consist of HiiConfigRoutingExtractConfig, HiiConfigRoutingExportConfig, HiiConfigRoutingRouteConfig, HiiBlockToConfig, HiiConfigToBlock, HiiGetAltCfg See "30.3 EFI HII Configuration Routing Protocol" in the UEFI spec, and HiiConfigRoutingRouteConfig() in "MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c". Just an idea anyway, no idea how much of the routing configuration happens in the proprietary "Intel3.5/EFIX64/E3507X2.EFI" driver. Laszlo ------------------------------------------------------------------------------ Try New Relic Now & We'll Send You this Cool Shirt New Relic is the only SaaS-based application performance monitoring service that delivers powerful full stack analytics. Optimize and monitor your browser, app, & servers with just a few lines of code. Try New Relic and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel