summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [script] Allow "exit" to exit a scriptMichael Brown2010-11-224-45/+92
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [script] Implement "goto" in iPXE scriptsMichael Brown2010-11-221-25/+189
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow script labels to be defined using the syntax :<labelname> (nothing else allowed on the line, including whitespace). Labels are ignored during script execution, but can be used as the target of the "goto" command. For example: #!ipxe goto machine_${net0/ip} || goto machine_default # Linux kernel boot :machine_10.0.0.101 :machine_10.0.0.102 set filename http://my.boot.server/vmlinuz goto done # Default configuration :machine_default set filename pxelinux.0 goto done # Boot selected configuration :done chain ${filename} Originally-implemented-by: Shao Miller <shao.miller@yrdsb.edu.on.ca> Originally-implemented-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [cmdline] Add trivial logical operators to iPXE command linesMichael Brown2010-11-221-36/+115
| | | | | | | | | | | | | | | | | Make the "||" and "&&" operators available within iPXE commands. For example: dhcp net0 || set net0/ip 192.168.0.2 would attempt to acquire an IP address via DHCP, falling back to a static address if DHCP fails. As a side-effect, comments may now be appended to any line. For example: dhcp net0 || set net0/ip 192.168.0.2 # Try DHCP first, then static Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [pxe] Remove startpxe and stoppxe commands from default buildsMichael Brown2010-11-222-2/+1Star
| | | | | | | These commands exist primarily for debugging and are not generally useful, so save 137 bytes by removing them by default. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [legal] Add some missing FILE_LICENCE declarationsMichael Brown2010-11-223-0/+6
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [image] Use generic option-parsing libraryMichael Brown2010-11-221-315/+156Star
| | | | | | Total saving: 548 bytes. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [login] Use generic option-parsing libraryMichael Brown2010-11-221-6/+50
| | | | | | Total cost: 7 bytes. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [route] Use generic option-parsing libraryMichael Brown2010-11-221-34/+17Star
| | | | | | Total saving: 71 bytes. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [san] Use generic option-parsing libraryMichael Brown2010-11-221-33/+41
| | | | | | Total saving: 73 bytes. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [time] Use generic option-parsing libraryMichael Brown2010-11-221-24/+58
| | | | | | Total saving: 88 bytes. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [lotest] Use generic option-parsing libraryMichael Brown2010-11-221-59/+42Star
| | | | | | Total saving: 145 bytes. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [gdb] Use generic option-parsing libraryMichael Brown2010-11-222-42/+51
| | | | | | Total saving: 42 bytes. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [fc] Use generic option-parsing libraryMichael Brown2010-11-222-105/+135
| | | | | | Total saving: 111 bytes. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [digest] Use generic option-parsing libraryMichael Brown2010-11-221-25/+25
| | | | | | Total saving: 68 bytes. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [dhcp] Use generic option-parsing libraryMichael Brown2010-11-221-120/+35Star
| | | | | | Total saving: 329 bytes. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [ifmgmt] Use generic option-parsing libraryMichael Brown2010-11-225-97/+219
| | | | | | Total cost: 66 bytes Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [settings] Use generic option-parsing libraryMichael Brown2010-11-213-40/+202
| | | | | | Total cost: 75 bytes. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [autoboot] Use generic option-parsing libraryMichael Brown2010-11-213-36/+95
| | | | | | Total saving: 32 bytes. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [vlan] Use generic option-parsing libraryMichael Brown2010-11-211-99/+66Star
| | | | | | Total saving: 261 bytes. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [parseopt] Add generic option-parsing libraryMichael Brown2010-11-213-0/+347
| | | | | | | | | | | | | | | | Command implementations tend to include a substantial amount of common boilerplate code revolving around the parsing of command-line options and arguments. This increases the size cost of each command. Introduce an option-parsing library that abstracts out the common operations involved in command implementations. This enables the size of each individual command to be reduced, and also enhances consistency between commands. Total size of the library is 704 bytes, to be amortised across all command implementations. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [autoboot] Add "netboot" commandMichael Brown2010-11-203-4/+38
| | | | | Originally-implemented-by: michael-dev@fami-braun.de Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [vlan] Add support for IEEE 802.1Q VLANsMichael Brown2010-11-2010-10/+725
| | | | | Originally-implemented-by: michael-dev@fami-braun.de Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [lotest] Fix endianness in status messageMichael Brown2010-11-201-1/+1
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [lotest] Use network device receive queue freezingMichael Brown2010-11-201-2/+7
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [pxe] Use network device receive queue freezingMichael Brown2010-11-201-6/+11
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [netdevice] Allow per-device receive queue processing to be frozenMichael Brown2010-11-202-6/+57
| | | | | | | | | | | | | | Several use cases (e.g. the UNDI API and the EFI SNP API) require access to the raw network device receive queue, and so currently use manual calls to netdev_poll() on a specific network device in order to prevent received packets from being processed by the network stack. As an alternative, provide a flag that allows receive queue processing to be frozen on a per-device basis. When receive queue processing is frozen, packets will be enqueued as normal, but will not be automatically dequeued and passed up the network stack. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [undi] Support underlying UNDI devices that don't support interruptsMichael Brown2010-11-191-17/+31
| | | | | | | | | | | | | | Some network cards do not generate interrupts when operated via the UNDI API. Allow for this by waiting for the ISR to be triggered only if the PXE stack advertises that it supports interrupts. When the PXE stack does not advertise interrupt support, we skip the call to PXENV_UNDI_ISR_IN_START and just poll the device using PXENV_UNDI_ISR_IN_PROCESS. This matches the observed behaviour of at least one other PXE NBP (emBoot's winBoot/i), so there is a reasonable chance of this working. Originally-implemented-by: Muralidhar Appalla <Muralidhar.Appalla@emulex.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [tcp] Remove obsolete constantsMichael Brown2010-11-191-4/+0Star
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [tcp] Use MAX_LL_NET_HEADER_LEN instead of defining our own MAX_HDR_LENMichael Brown2010-11-192-5/+5
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [udp] Remove obsolete constantsMichael Brown2010-11-191-3/+0Star
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [udp] Use MAX_LL_NET_HEADER_LEN instead of defining our own UDP_MAX_HLENMichael Brown2010-11-192-4/+5
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [netdevice] Add MAX_NET_HEADER_LEN and MAX_LL_NET_HEADER_LENMichael Brown2010-11-191-0/+10
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [pxe] Always allow MAX_LL_HEADER_LEN for the link-layer headerMichael Brown2010-11-191-4/+2Star
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [efi] Always allow MAX_LL_HEADER_LEN for the link-layer headerMichael Brown2010-11-191-1/+4
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [lotest] Move lotest.h to correct directoryMichael Brown2010-11-191-0/+0
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [lacp] Fix dumping of raw LACP packetsMichael Brown2010-11-181-2/+2
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [netdevice] Use net device name in debugging messagesMichael Brown2010-11-182-36/+37
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [settings] Add "hexhyp" setting typeMichael Brown2010-11-131-4/+43
| | | | | | | | | | | | Provide a "hexhyp" setting type, which functions identically to the "hex" setting type except that it uses a hyphen instead of a colon as the byte delimiter. For example, if ${mac} expands to "52:54:00:12:34:56", then ${mac:hexhyp} will expand to "52-54-00-12-34-56". Originally-implemented-by: Jarrod Johnson <jarrod.b.johnson@gmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [bzimage] Increase maximum command-line size to 0x7ffJarrod Johnson2010-11-131-1/+1
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [forcedeth] Exit poll() as early as possible if no work to doThomas Miletich2010-11-120-0/+0
| | | | | | | Fix incorrect authorship attribution on commit f122515 ("[forcedeth] Exit poll() as early as possible if no work to do"). Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [forcedeth] Exit poll() as early as possible if no work to doMichael Brown2010-11-121-4/+4
| | | | | Signed-off-by: Thomas Miletich <thomas.miletich@gmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [tcp] Set PSH flag only on packets containing dataMichael Brown2010-11-111-1/+1
| | | | | Suggested-by: Yelena Kadach <klenusik@hotmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [list] Fix typographical error from previous commitShao Miller2010-11-112-2/+3
| | | | | | | | | | Fix typographical error from commit ea631f6 ("[list] Add list_first_entry()"). The symptom was PXELINUX 3.86 causing a stack overflow under VMware. Tested-by: Shao Miller <shao.miller@yrdsb.edu.on.ca> Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [fc] Add support for Fibre Channel name server lookupsMichael Brown2010-11-085-38/+585
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [fc] Hold ULP's peer reference while ULP existsMichael Brown2010-11-081-7/+14
| | | | | | | | Allow fc_ulp_decrement() to guarantee to fc_peer_decrement() that the peer reference remains valid for the duration of the call, by ensuring that ulp->peer remains valid while ulp is valid. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [fc] Allow peers and ULPs to log out when usage count reaches zeroMichael Brown2010-11-081-2/+2
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [fc] Hold reference to peers and ULPs while calling fc_link_examine()Michael Brown2010-11-081-4/+16
| | | | | | | Allow link examination methods to safely assume that their self-reference remains valid for the duration of the method call. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [fc] Log out correct port ID after a successful LOGO requestMichael Brown2010-11-081-1/+1
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [fc] Support Fibre Channel ECHOMichael Brown2010-11-083-103/+237
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [fcp] Use EINVAL for URI parsing errors and EPROTO for protocol errorsMichael Brown2010-11-081-4/+4
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>