summaryrefslogtreecommitdiffstats
path: root/src/net/fcoe.c
Commit message (Collapse)AuthorAgeFilesLines
* [time] Allow timer to be selected at runtimeMichael Brown2017-01-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | Allow the active timer (providing udelay() and currticks()) to be selected at runtime based on probing during the INIT_EARLY stage of initialisation. TICKS_PER_SEC is now a fixed compile-time constant for all builds, and is independent of the underlying clock tick rate. We choose the value 1024 to allow multiplications and divisions on seconds to be converted to bit shifts. TICKS_PER_MS is defined as 1, allowing multiplications and divisions on milliseconds to be omitted entirely. The 2% inaccuracy in this definition is negligible when using the standard BIOS timer (running at around 18.2Hz). TIMER_RDTSC now checks for a constant TSC before claiming to be a usable timer. (This timer can be tested in KVM via the command-line option "-cpu host,+invtsc".) Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [legal] Relicense files under GPL2_OR_LATER_OR_UBDLMichael Brown2015-03-021-1/+5
| | | | | | | Relicense files for which I am the sole author (as identified by util/relicense.pl). Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [build] Fix dubious uses of bitwise operatorsMichael Brown2013-04-281-1/+1
| | | | | | Detected by sparse. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [legal] Update FSF mailing address in GPL licence textsMichael Brown2012-07-201-1/+2
| | | | | Suggested-by: Daniel P. Berrange <berrange@redhat.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [netdevice] Allow link layer to report broadcast/multicast packets via pull()Michael Brown2011-07-151-2/+6
| | | | | | | | Allow the link layer to directly report whether or not a packet is multicast or broadcast at the time of calling pull(), rather than relying on heuristics to determine this at a later stage. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [fcoe] Use only the first instance of a FIP descriptorMichael Brown2010-11-271-1/+3
| | | | | | | | | | Almost all FIP packets contain at most one instance of each descriptor. A VLAN notification may contain multiple VLAN descriptors. The FCoE specification does not provide any guidance regarding prioritisation of VLANs, so we may choose to arbitrarily choose the first listed VLAN. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [fcoe] Tidy up debug messageMichael Brown2010-11-271-4/+2Star
| | | | | | | | The increase in length in Fibre Channel device names causes the "selected FCF" message to wrap beyond 80 characters. Fix by using abbreviations where possible. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [fc] Allow Fibre Channel ports to be explicitly namedMichael Brown2010-11-271-1/+2
| | | | | | Use the network interface name as the Fibre Channel port name. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [fcoe] Create Fibre Channel port only when we have selected an FCFMichael Brown2010-11-271-10/+21
| | | | | | | | | Create the Fibre Channel port only when the FCoE port has selected a Fibre Channel Forwarder to use. This avoids the confusion of having an FC port created for the network device on which only VLAN discovery is performed. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [fcoe] Add support for FIP VLAN discoveryMichael Brown2010-11-261-3/+149
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [fcoe] Request SPMA iff FIP advertisement indicates support for SPMAMichael Brown2010-10-151-5/+18
| | | | | | | | | | | | | | | We currently set both the FP and SP bits in our FIP FLOGI, to allow the FCF the choice of selecting either a fabric-provided or a server- provided MAC address. This complies with the FCoE specification, but has been observed to result in an FLOGI rejection from some FCFs. Fix by recording whether or not the FCF supports SPMA, and requesting only one of FPMA or SPMA in our FIP FLOGI. We choose to prefer SPMA where available, because many iPXE drivers will not be able to receive unicast packets sent to a non-default MAC address. Reported-by: Hadar Hen Zion <hadarh@mellanox.co.il> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [fcoe] Add support for the FCoE Initialization Protocol (FIP)Michael Brown2010-10-071-44/+676
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [netdevice] Pass both link-layer addresses in net_tx() and net_rx()Michael Brown2010-10-071-4/+4
| | | | | | | | | FCoE requires the use of fabric-provided MAC addresses, which breaks the assumption that the net device's MAC address is implicitly the source address for net_tx() and the (unicast) destination address for net_rx(). Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [fcoe] Add support for identifying the underlying hardware deviceMichael Brown2010-09-221-0/+13
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [fcoe] Disambiguate the various error cases and add a CRC failure messageMichael Brown2010-09-151-4/+29
| | | | | | | | | | It seems as though several drivers neglect to strip the Ethernet CRC, which will cause the FCoE footer to be misplaced and result (coincidentally) in an "invalid CRC" error from FCoE. Add a human-visible message indicating this, to aid in diagnosis. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [fcoe] Add support for Fibre Channel over EthernetMichael Brown2010-09-151-0/+383
Signed-off-by: Michael Brown <mcb30@ipxe.org>