| The following issues exist with the EFI Socket Library: | |
| * Don't run socket applications or the socket driver for a long time - The IPv4Config | |
| and DHCP protocols are not properly running the renew and lease expiration timers. | |
| When the DHCP lease expires it is possible for a duplicate IP address to exist on | |
| the network. HSD 206136 | |
| * Network adapters must be initialized prior to running the socket application - Static | |
| and dynamic IP address need to be properly assigned to the network adapters on the | |
| system. Note that sockets does not assign the IP addresses since it does not | |
| understand how the system is connected to the network! | |
| * The default device must contain the Efi\etc directory populated with files containing | |
| the proper network configuration - A template set of files is in StdLib\Efi\etc. Note | |
| that the resolv.conf file contains the set of DNS servers. | |
| * Since DHCP is not running when the sockets application is running, the last negotiated | |
| packet is no longer available. As a result, any of the options that DHCP did negotiate | |
| are no longer available for sockets such as the list of DNS servers. | |
| * DHCP does not request the domain name and domain name server (DNS) addresses. This | |
| requires that sockets use configuration files in Efi\etc! | |
| * TCPv4 transfer rate is slow (< 10 Mbits/sec) - This is an unidentified issue. | |
| * Tcp4Dxe transmits more urgent data than is sent through sockets when normal data is | |
| queued for transmission before the urgent data. HSD 206365 | |
| * Raw socket applications are not able to pass the IP header as part of their | |
| payload by using the IP option IP_HDRINCL. This is because the UEFI IPv4 driver | |
| (Ip4Dxe) does not support RawData. HSD 206136 | |
| * Only version 4 of the UEFI network stack is supported | |