summaryrefslogtreecommitdiffstats
path: root/src/net
Commit message (Collapse)AuthorAgeFilesLines
* Keep HTTP progress updated, and display a progress indicator during theMichael Brown2007-01-291-0/+4
| | | | download
* Added SIGKILL handlerMichael Brown2007-01-191-0/+15
|
* Use stdio.h instead of vsprintf.hMichael Brown2007-01-1911-11/+11
|
* A working name resolution frameworkMichael Brown2007-01-182-9/+12
|
* Have DHCP set the nameserver, rather than DNS read the DHCP nameserverMichael Brown2007-01-181-12/+16
| | | | value.
* Use total free memory as advertised window. This seems to be sufficientMichael Brown2007-01-182-4/+17
| | | | to avoid drops even on slow NICs.
* Move include/malloc.h to include/gpxe/malloc.h, since everything in thereMichael Brown2007-01-181-1/+1
| | | | | | | is now gPXE-specific. (The standard malloc() et al have been in stdlib.h for a while). Add free memory counter.
* Include stdlib.h rather than malloc.hMichael Brown2007-01-182-5/+2Star
|
* Remove the one-packet-per-poll-cycle limit; it seems to no longer beMichael Brown2007-01-181-24/+5Star
| | | | needed now that performance is up.
* Presize the download buffer when we see the Content-Length header;Michael Brown2007-01-181-0/+12
| | | | | this saves around 70us per received packet (which is around 50% of the overall packet processing time).
* Reorder functions to more closely reflect the flow of controlMichael Brown2007-01-181-56/+47Star
|
* Switch from calloc() to malloc()+memset() to match the practices usedMichael Brown2007-01-182-2/+6
| | | | almost everywhere else.
* HTTP/DNS now working fully asynchronously. HTTP/IP addresses and anyMichael Brown2007-01-182-34/+62
| | | | other protocol won't work at the moment.
* Use struct sockaddr rather than struct sockaddr_tcpipMichael Brown2007-01-181-9/+12
| | | | Tidy up code
* When a network device is specified to tcpip_tx() or it's children, treatMichael Brown2007-01-163-4/+4
| | | | | | | it as a fallback network device rather than an explicitly forced network device. Clear routing table entries before re-attempting DHCP.
* Improve debuggingMichael Brown2007-01-161-29/+45
|
* Improve debug messagesMichael Brown2007-01-161-2/+21
|
* Improved debuggingMichael Brown2007-01-161-15/+24
|
* Quickly hack in DNS resolution as a proof of conceptMichael Brown2007-01-151-6/+22
|
* A working DNS resolver (not yet tied in to anything)Michael Brown2007-01-151-0/+463
|
* Update TFTP and FTP to take the same temporary URI scheme as HTTPMichael Brown2007-01-152-65/+147
|
* Protocol's get() method no longer takes ownership of the URI. HTTP is theMichael Brown2007-01-151-3/+0Star
| | | | | exception rather than the rule; we may as well keep things clean for other protocols.
* Must free http on the error path; nothing else will do itMichael Brown2007-01-151-0/+1
|
* Unmaintained example code is probably worse than useless.Michael Brown2007-01-151-122/+0Star
|
* Gave asynchronous operations approximate POSIX signal semantics. ThisMichael Brown2007-01-157-38/+107
| | | | | | | | | | | will enable us to cascade async operations, which is necessary in order to properly support DNS. (For example, an HTTP request may have to redirect to a new location and will have to perform a new DNS lookup, so we can't just rely on doing the name lookup at the time of parsing the initial URL). Anything other than HTTP is probably broken right now; I'll fix the others up asap.
* Make TCP give up immediately when it receives -ENETUNREACH fromMichael Brown2007-01-141-39/+55
| | | | | | | tcpip_tx(). This avoids the irritating wait when you accidentally type "kernel pxelinux.0" before bringing up the network interface. Add ENETUNREACH to strerror()'s list.
* Use -ENETUNREACH to mean "no reachable network device exists, don't botherMichael Brown2007-01-142-2/+2
| | | | retrying".
* Advertise a larger MSS to improve TCP performance.Michael Brown2007-01-131-1/+10
|
* Fixed HTTPMichael Brown2007-01-121-132/+290
|
* No need to maintain a received byte count; we always fill in sequentialMichael Brown2007-01-121-5/+1Star
| | | | order so we can just use buffer->fill.
* Update TFTP to use a struct buffer rather than a callback.Michael Brown2007-01-111-36/+51
| | | | Add debug autocolourisation to TFTP.
* I hate NULL pointer dereferences.Michael Brown2007-01-111-0/+4
|
* Extract packet-padding login from rtl8139.c to a separate pkbpad.c file.Michael Brown2007-01-111-0/+66
|
* Change FTP to use a data buffer rather than a callback function.Michael Brown2007-01-111-14/+27
|
* Add route() function to display routing table.Michael Brown2007-01-101-29/+6Star
|
* Add find_pci_netdev()Michael Brown2007-01-101-0/+18
|
* Add "name" field to struct device to allow human-readable hardware deviceMichael Brown2007-01-103-14/+18
| | | | | | | | | | | names. Add "dev" pointer in struct net_device to tie network interfaces back to a hardware device. Force natural alignment of data types in __table() macros. This seems to prevent gcc from taking the unilateral decision to occasionally increase their alignment (which screws up the table packing).
* Remove uIP; we haven't used it for quite some time now.Michael Brown2007-01-106-3336/+0Star
|
* Allow udp_{send,sendto,sendto_via} to be called outside of theMichael Brown2007-01-101-32/+39
| | | | | udp_senddata() callback. This will simplify any UDP protocols that don't need the temporary buffer.
* DHCP transmits via specified net device, so no need to create a dummyMichael Brown2007-01-101-2/+2
| | | | routing table entry just to fool ipv4.c any more.
* Add udp_sendto_via() to allow e.g. DHCP to transmit without first havingMichael Brown2007-01-101-3/+25
| | | | to set up dummy routing entries.
* Allow an explicit network device to be specified for IP-layerMichael Brown2007-01-106-15/+24
| | | | transmissions.
* Added network interface management commandsMichael Brown2007-01-101-21/+1Star
|
* Add "name" field to network device, to facilitate netdev commands.Michael Brown2007-01-102-6/+30
|
* Add RX quotas to the net device poll() method. This avoids the problemMichael Brown2007-01-091-13/+27
| | | | | | of alloc_pkb() exhaustion when e.g. an iSCSI-booted DOS session is left idle for a long time at the C:\ prompt and builds up a huge packet backlog.
* Rename pkb_available() to pkb_tailroom() for consistency with Linux'sMichael Brown2007-01-092-6/+6
| | | | skb_tailroom(). Add pkb_headroom().
* Added net device TX queue; this will be needed to support the PXE UNDI APIMichael Brown2007-01-091-50/+101
| | | | | | (which will need us to wait for TX completions). Added debug autocolourisation to netdevice.c
* Move start/stop/expire debug messages to DBG2() level.Michael Brown2007-01-091-6/+6
|
* Define "connected" asMichael Brown2007-01-091-1/+9
| | | | | | | | | | | | "when SYN is ACKed and we have already received SYN", or "when SYN is received and we have already had SYN ACKed" rather than just "when SYN is ACKed" This avoids spuriously calling the connected() method when we receive a RST,ACK in response to a SYN.
* We can't assert that the RX engine is idle in iscsi_done(), because itMichael Brown2007-01-091-2/+0Star
| | | | | | | | may be called during the RX data processor, before the RX engine transitions back to idle. It doesn't really matter if the RX engine isn't idle when iscsi_done() is called, because it will just pick up where it left off on the next call. (The same is not true for the TX engine, so keep the TX engine assertion.)