~pmdj/ubuntu/trusty/qemu/2.9+applesmc+fadtv3

« back to all changes in this revision

Viewing changes to roms/ipxe/src/config/dhcp.h

  • Committer: Phil Dennis-Jordan
  • Date: 2017-07-21 08:03:43 UTC
  • mfrom: (1.1.1)
  • Revision ID: phil@philjordan.eu-20170721080343-2yr2vdj7713czahv
New upstream release 2.9.0.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef CONFIG_DHCP_H
 
2
#define CONFIG_DHCP_H
 
3
 
 
4
/** @file
 
5
 *
 
6
 * DHCP configuration
 
7
 *
 
8
 */
 
9
 
 
10
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
 
11
 
 
12
#include <config/defaults.h>
 
13
 
 
14
/*
 
15
 * DHCP and PXE Boot Server timeout parameters
 
16
 *
 
17
 * Initial and final timeout for DHCP discovery
 
18
 *
 
19
 * The PXE spec indicates discover request are sent 4 times, with
 
20
 * timeouts of 4, 8, 16, 32 seconds.  iPXE by default uses 1, 2, 4, 8.
 
21
 */
 
22
#define DHCP_DISC_START_TIMEOUT_SEC     1
 
23
#define DHCP_DISC_END_TIMEOUT_SEC       10
 
24
//#define DHCP_DISC_START_TIMEOUT_SEC   4       /* as per PXE spec */
 
25
//#define DHCP_DISC_END_TIMEOUT_SEC     32      /* as per PXE spec */
 
26
 
 
27
/*
 
28
 * Maximum number of discovery deferrals due to blocked links
 
29
 * (e.g. from non-forwarding STP ports)
 
30
 */
 
31
#define DHCP_DISC_MAX_DEFERRALS         60
 
32
 
 
33
/*
 
34
 * ProxyDHCP offers are given precedence by continue to wait for them
 
35
 * after a valid DHCPOFFER is received.  We'll wait through this
 
36
 * timeout for it.  The PXE spec indicates waiting through the 4 & 8
 
37
 * second timeouts, iPXE by default stops after 2.
 
38
 */
 
39
#define DHCP_DISC_PROXY_TIMEOUT_SEC     2
 
40
//#define DHCP_DISC_PROXY_TIMEOUT_SEC   11      /* as per PXE spec */
 
41
 
 
42
/*
 
43
 * Per the PXE spec, requests are also tried 4 times, but at timeout
 
44
 * intervals of 1, 2, 3, 4 seconds.  To adapt this to an exponential
 
45
 * backoff timer, we can either do 1, 2, 4, 8, ie. 4 retires with a
 
46
 * longer interval or start at 0 (0.25s) for 0.25, 0.5, 1, 2, 4,
 
47
 * ie. one extra try and shorter initial timeouts.  iPXE by default
 
48
 * does a combination of both, starting at 0 and going through the 8
 
49
 * second timeout.
 
50
 */
 
51
#define DHCP_REQ_START_TIMEOUT_SEC      0
 
52
#define DHCP_REQ_END_TIMEOUT_SEC        10
 
53
//#define DHCP_REQ_END_TIMEOUT_SEC      4       /* as per PXE spec */
 
54
 
 
55
/*
 
56
 * A ProxyDHCP offer without PXE options also goes through a request
 
57
 * phase using these same parameters, but note the early break below.
 
58
 */
 
59
#define DHCP_PROXY_START_TIMEOUT_SEC    0
 
60
#define DHCP_PROXY_END_TIMEOUT_SEC      10
 
61
//#define DHCP_PROXY_END_TIMEOUT_SEC    8       /* as per PXE spec */
 
62
 
 
63
/*
 
64
 * A ProxyDHCP request timeout should not induce a failure condition,
 
65
 * so we always want to break before the above set of timers expire.
 
66
 * The iPXE default value of 2 breaks at the first timeout after 2
 
67
 * seconds, which will be after the 2 second timeout.
 
68
 */
 
69
#define DHCP_REQ_PROXY_TIMEOUT_SEC      2
 
70
//#define DHCP_REQ_PROXY_TIMEOUT_SEC    7       /* as per PXE spec */
 
71
 
 
72
/*
 
73
 * Per the PXE spec, a PXE boot server request is also be retried 4
 
74
 * times at timeouts of 1, 2, 3, 4.  iPXE uses the same timeouts as
 
75
 * discovery, 1, 2, 4, 8, but will move on to the next server if
 
76
 * available after an elapsed time greater than 3 seconds, therefore
 
77
 * effectively only sending 3 tries at timeouts of 1, 2, 4.
 
78
 */
 
79
#define PXEBS_START_TIMEOUT_SEC         1
 
80
#define PXEBS_END_TIMEOUT_SEC           10
 
81
//#define PXEBS_START_TIMEOUT_SEC       0       /* as per PXE spec */
 
82
//#define PXEBS_END_TIMEOUT_SEC         8       /* as per PXE spec */
 
83
 
 
84
/*
 
85
 * Increment to the next PXE Boot server, if available, after this
 
86
 * this much time has elapsed.
 
87
 */
 
88
#define PXEBS_MAX_TIMEOUT_SEC           3
 
89
//#define PXEBS_MAX_TIMEOUT_SEC         7       /* as per PXE spec */
 
90
 
 
91
#include <config/local/dhcp.h>
 
92
 
 
93
#endif /* CONFIG_DHCP_H */