syslinux-6.00-pre5
efi: Add network support

Add TCP and UDP support to the EFI firmware backend. This necessitated
moving all tcp functions to a core_tcp_* prefix so that they could be
implemented differently for BIOS+lwip and EFI. Unfortunately, the tcp_*
prefix is already in use by the lwip code.

To maintain symmetry, the UDP functions were also moved from net_core_*
to core_udp_*. The net_core API was introduced in 5.x to allow the
legacy PXE and lwip stacks to live side by side, and the intention was
that net_core_init() would take a protocol argument to build a
protocol-specific object. It turned out to be easier to call either udp
or tcp functions directly because the semantics of read/write differ
between protocols.

Booting an IPv4 EFI PXE stack using tftp and http has been tested.

There are a couple of TODO items left,

  o dns resolve code is missing
  o ftp hasn't been tested

Signed-off-by: Matt Fleming <matt.fleming@intel.com>
19 files changed