#ifndef CONFIG_DHCP_H #define CONFIG_DHCP_H /** @file * * DHCP configuration * */ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); #include /* * DHCP and PXE Boot Server timeout parameters * * Initial and final timeout for DHCP discovery * * The PXE spec indicates discover request are sent 4 times, with * timeouts of 4, 8, 16, 32 seconds. iPXE by default uses 1, 2, 4, 8. */ #define DHCP_DISC_START_TIMEOUT_SEC 1 #define DHCP_DISC_END_TIMEOUT_SEC 10 //#define DHCP_DISC_START_TIMEOUT_SEC 4 /* as per PXE spec */ //#define DHCP_DISC_END_TIMEOUT_SEC 32 /* as per PXE spec */ /* * Maximum number of discovery deferrals due to blocked links * (e.g. from non-forwarding STP ports) */ #define DHCP_DISC_MAX_DEFERRALS 60 /* * ProxyDHCP offers are given precedence by continue to wait for them * after a valid DHCPOFFER is received. We'll wait through this * timeout for it. The PXE spec indicates waiting through the 4 & 8 * second timeouts, iPXE by default stops after 2. */ #define DHCP_DISC_PROXY_TIMEOUT_SEC 2 //#define DHCP_DISC_PROXY_TIMEOUT_SEC 11 /* as per PXE spec */ /* * Per the PXE spec, requests are also tried 4 times, but at timeout * intervals of 1, 2, 3, 4 seconds. To adapt this to an exponential * backoff timer, we can either do 1, 2, 4, 8, ie. 4 retires with a * longer interval or start at 0 (0.25s) for 0.25, 0.5, 1, 2, 4, * ie. one extra try and shorter initial timeouts. iPXE by default * does a combination of both, starting at 0 and going through the 8 * second timeout. */ #define DHCP_REQ_START_TIMEOUT_SEC 0 #define DHCP_REQ_END_TIMEOUT_SEC 10 //#define DHCP_REQ_END_TIMEOUT_SEC 4 /* as per PXE spec */ /* * A ProxyDHCP offer without PXE options also goes through a request * phase using these same parameters, but note the early break below. */ #define DHCP_PROXY_START_TIMEOUT_SEC 0 #define DHCP_PROXY_END_TIMEOUT_SEC 10 //#define DHCP_PROXY_END_TIMEOUT_SEC 8 /* as per PXE spec */ /* * A ProxyDHCP request timeout should not induce a failure condition, * so we always want to break before the above set of timers expire. * The iPXE default value of 2 breaks at the first timeout after 2 * seconds, which will be after the 2 second timeout. */ #define DHCP_REQ_PROXY_TIMEOUT_SEC 2 //#define DHCP_REQ_PROXY_TIMEOUT_SEC 7 /* as per PXE spec */ /* * Per the PXE spec, a PXE boot server request is also be retried 4 * times at timeouts of 1, 2, 3, 4. iPXE uses the same timeouts as * discovery, 1, 2, 4, 8, but will move on to the next server if * available after an elapsed time greater than 3 seconds, therefore * effectively only sending 3 tries at timeouts of 1, 2, 4. */ #define PXEBS_START_TIMEOUT_SEC 1 #define PXEBS_END_TIMEOUT_SEC 10 //#define PXEBS_START_TIMEOUT_SEC 0 /* as per PXE spec */ //#define PXEBS_END_TIMEOUT_SEC 8 /* as per PXE spec */ /* * Increment to the next PXE Boot server, if available, after this * this much time has elapsed. */ #define PXEBS_MAX_TIMEOUT_SEC 3 //#define PXEBS_MAX_TIMEOUT_SEC 7 /* as per PXE spec */ #include #endif /* CONFIG_DHCP_H */