summaryrefslogtreecommitdiffstats
path: root/src/net/udp
Commit message (Collapse)AuthorAgeFilesLines
...
* [dhcp] Do not transition to DHCPREQUEST without a valid DHCPOFFERMichael Brown2008-06-111-1/+1
| | | | | | A missing test for dhcp->dhcpoffer in dhcp_timer_expired() was causing the client to transition to DHCPREQUEST after timing out on waiting for ProxyDHCP even if no DHCPOFFERs had been received.
* [slam] Request all remaining blocks if we run out of space for the blocklistMichael Brown2008-06-101-22/+41
| | | | | | | | In a SLAM NACK packet, if we run out of space to represent the missing-block list, then indicate all remaining blocks as missing. This avoids the need to wait for the one-second timeout before receiving the blocks that otherwise wouldn't have been requested due to running out of space.
* [slam] Speed up NACK transmission by restricting the block-list lengthMichael Brown2008-06-101-20/+62
| | | | | | | | | | Shorter NACK packets take less time to construct and spew out less debug output, and there's a limit to how useful it is to send a complete missing-block list anyway; if the loss rate is high then we're going to have to retransmit an updated missing-block list anyway. Also add pretty debugging output to show the list of requested blocks.
* [slam] Fix multicast address parsingMichael Brown2008-06-101-8/+11
| | | | | slam_parse_multicast_address() was failing to strip the initial "/" from the URI path.
* [slam] Add Scalable Local Area Multicast (SLAM) protocol supportMichael Brown2008-06-101-0/+749
| | | | | Tested against the mini-slamd server located in contrib/mini-slamd with a single client, on a lossy network.
* [DHCP] Add "dhcp-server" setting to help end-user diagnosticsMichael Brown2008-06-051-0/+8
|
* [Settings] Expose SMBIOS via settings APIMichael Brown2008-03-281-2/+3
| | | | In particular, expose the system UUID as a setting ("smbios/uuid").
* [DHCP] Add support for ProxyDHCP requestsMichael Brown2008-03-271-345/+546
| | | | | | | | | | | | | | | | The PXE spec is (as usual) unclear on precisely when ProxyDHCPREQUESTs should be issued. We adapt the following, slightly paranoid approach: If an offer contains an IP address, then it is a normal DHCPOFFER. If an offer contains an option #60 "PXEClient", then it is a ProxyDHCPOFFER. Note that the same packet can be both a normal DHCPOFFER and a ProxyDHCPOFFER. After receiving the normal DHCPACK, if we have received a ProxyDHCPOFFER, we unicast a ProxyDHCPREQUEST back to the ProxyDHCP server on port 4011. If we time out waiting for a ProxyDHCPACK, we treat this as a non-fatal error.
* [DHCP] Save precious packet-aligned memory by copying DHCP responsesMichael Brown2008-03-261-33/+16Star
| | | | | Copy DHCP responses to a standard malloc()ed buffer, rather than retaining the I/O buffer that they arrived in.
* [Settings] Remove assumption that all settings have DHCP tag valuesMichael Brown2008-03-253-183/+154Star
| | | | | | | | | | | | Allow for settings to be described by something other than a DHCP option tag if desirable. Currently used only for the MAC address setting. Separate out fake DHCP packet creation code from dhcp.c to fakedhcp.c. Remove notion of settings from dhcppkt.c. Rationalise dhcp.c to use settings API only for final registration of the DHCP options, rather than using {store,fetch}_setting throughout.
* [DHCP] Fix DHCP state confusion.Michael Brown2008-03-251-2/+5
| | | | | DHCP code was using an incorrect check for whether to construct a DHCPDISCOVER or DHCPREQUEST packet.
* [Settings] copy_settings() should not fail if some settings are missing!Michael Brown2008-03-241-18/+54
|
* [DHCP] Fix up fake-packet creation as used by PXENV_GET_CACHED_INFOMichael Brown2008-03-231-37/+107
| | | | | | | | | | | Add dedicated functions create_dhcpdiscover(), create_dhcpack() and create_proxydhcpack() for use by external code such as the PXE preboot code. Register ProxyDHCP options under the global scope "proxydhcp". Unregister previously-acquired DHCP and ProxyDHCP settings when DHCP succeeds.
* [DHCP] FIXME: quick temporary settings fix, needs update for new APIMarty Connor2008-03-221-0/+4
|
* [Settings] DHCP is now working using the new settings API.Michael Brown2008-03-211-3/+4
|
* [Settings] Migrate DHCP and NVO code to the new settings API (untested)Michael Brown2008-03-211-437/+197Star
|
* [Settings] Use a settings applicator to set the default TFTP URI.Michael Brown2008-03-211-0/+43
|
* [Settings] Use a settings applicator to configure IPv4 routes.Michael Brown2008-03-211-43/+0Star
|
* [Settings] Introduce settings applicators.Michael Brown2008-03-211-18/+17Star
| | | | | | | Convert DHCP option applicators in dns.c and iscsi.c to settings applicators. Kill off DHCP option applicators.
* Modify gPXE core and drivers to work with the new timer subsystemAlexey Zaytsev2008-03-021-0/+1
| | | | Signed-off-by: Alexey Zaytsev <alexey.zaytsev@gmail.com>
* [DHCP] Fix RFC4390 client identifier constructions.Michael Brown2008-02-271-1/+1
| | | | | | RFC 4390 provides for the DHCP client identifier to contain the link-layer hardware type and MAC address when the MAC address exceeds 16 bytes. However, the hardware type field is only 8 bits; we were assuming 16 bits.
* Merge branch 'master' of rom.etherboot.org:/pub/scm/gpxeMichael Brown2008-01-223-13/+14
|\
| * Make seek information part of the xfer metadata, rather than an entirelyMichael Brown2008-01-083-7/+6Star
| | | | | | | | | | | | | | separate xfer method. Add missing .alloc_iob entries to several xfer_interface_operations structures.
| * When the DHCP file/sname fields are empty, don't allow them to overrideMichael Brown2008-01-071-6/+8
| | | | | | | | their equivalent DHCP-option-specified values.
* | Add preliminary support for MTFTP.Michael Brown2007-12-261-112/+295
|/
* Fix compiler warnings that appear only on OpenBSD.Michael Brown2007-12-061-7/+7
|
* Various warnings fixups for OpenBSD with gcc-3.3.5.Michael Brown2007-12-071-1/+1
|
* Add RFC2090 TFTP multicast support.Michael Brown2007-11-281-82/+300
|
* Quick hack to be able to accept transfers from servers that don'tMichael Brown2007-11-251-0/+2
| | | | supply options.
* Allow DHCP server to instruct gPXE to ignore ProxyDHCP (which willMichael Brown2007-11-211-8/+16
| | | | | | also avoid waiting for ProxyDHCP offers). Also reduce the ProxyDHCP timeout, because it's already irritating me.
* Add ProxyDHCP support.Michael Brown2007-11-211-25/+54
|
* Remove some assumptions about DHCP obtaining only a single options block.Michael Brown2007-11-211-3/+7
|
* Add PXE-required DHCP options to DHCPDISCOVER and DHCPREQUEST packets.Michael Brown2007-11-211-10/+25
|
* Add UUID to DHCP request as option 97 (if available).Michael Brown2007-11-211-0/+13
|
* Use RFC4390 whenever hardware address exceeds 16 bytes; this allows usMichael Brown2007-09-211-2/+36
| | | | to construct DHCP packets suitable for Infiniband.
* Bugfix: DHCP message type should be a one-byte option... (d'oh)Michael Brown2007-09-131-2/+1Star
|
* Check for correct block number in tftp_rx_data().Michael Brown2007-09-081-1/+9
| | | | (Problem observed by Clay McClure in VMware Fusion.)
* Minor style fix: structure fields are generally initialised in theMichael Brown2007-09-061-1/+1
| | | | order in which they occur.
* TFTP default blocksize fix from VampyreMarty Connor2007-08-301-0/+1
|
* Use start_timer_nodelay() in protocols which rely on the retry timerMichael Brown2007-08-132-2/+2
| | | | | to generate the initial transmission; this cuts off around 0.3s per instantiated connection.
* Allowed zero-cost enforced ordering of features in startup bannerMichael Brown2007-08-022-0/+6
| | | | | | list. Added FEATURE() macros to most relevant (non-driver) files.
* Add FEATURE() macro, plus code to display features at startup time,Michael Brown2007-08-021-0/+15
| | | | | and generate DHCP options to indicate features to DHCP server (and to PXE NBPs).
* Add identifier for the network device into the DHCP request.Michael Brown2007-07-311-0/+25
|
* Centralise construction of the DHCP request and response packets.Michael Brown2007-07-311-37/+104
|
* nameserver should be staticMichael Brown2007-07-171-1/+1
|
* Add debug message when nameserver setting is applied/changed via DHCP.Michael Brown2007-07-081-0/+4
|
* Separate the "is data ready" function of xfer_seek() into anMichael Brown2007-07-083-0/+4
| | | | | xfer_window() function, which can return a scalar rather than a boolean.
* Kill off unused request() method in data-xfer interface.Michael Brown2007-07-083-4/+0Star
|
* convert to zallocHolger Lubitz2007-07-061-2/+1Star
|
* convert to zallocHolger Lubitz2007-07-061-2/+1Star
|