Adds basic support for ProxyDHCP
authorLyle Franklin <lylejfranklin@gmail.com>
Mon, 5 Aug 2019 10:23:42 +0000 (06:23 -0400)
committerTom Rini <trini@konsulko.com>
Tue, 1 Dec 2020 15:33:37 +0000 (10:33 -0500)
commitc8e251f82af97562741e51110ed8828a5c5744c6
treef4c4cc6fce067d4aeb070896d72eb71901e7751d
parentdb3667413d99b8ec1b1e7e9b34c20a8883ec413d
Adds basic support for ProxyDHCP

- ProxyDHCP allows a second DHCP server to exist alongside your main
  DHCP server and supply additional BOOTP related options
- When u-boot sends out a DHCP request, the real DHCP server will
  respond with a normal response containing the new client IP address
  while simultaneously the ProxyDHCP server will respond with a blank
  client IP address and a `bootfile` option
- This patch adds CONFIG_SERVERIP_FROM_PROXYDHCP (default false) to
  enable this behavior and CONFIG_SERVERIP_FROM_PROXYDHCP_DELAY_MS
  (default 100) which tells u-boot to wait additional time after
  receiving the main DHCP response to give the ProxyDHCP response time
  to arrive
- The PXE spec for ProxyDHCP is more complicated than the solution
  added here as diagramed on page 16:
  http://www.pix.net/software/pxeboot/archive/pxespec.pdf:

```
DHCP Discover will be retried four times. The four timeouts are 4, 8, 16
and 32 seconds respectively. If a DHCPOFFER is received without an Option
timeouts in an attempt to receive a PXE response.
```

- Adding a simple delay worked for my purposes but let me know if a
  more robust solution is required

Signed-off-by: Lyle Franklin <lylejfranklin@gmail.com>
net/Kconfig
net/bootp.c