summaryrefslogtreecommitdiffstats
path: root/src/net/fc.c
Commit message (Collapse)AuthorAgeFilesLines
* [build] Fix the REQUIRE_SYMBOL mechanismMichael Brown2015-03-051-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | At some point in the past few years, binutils became more aggressive at removing unused symbols. To function as a symbol requirement, a relocation record must now be in a section marked with @progbits and must not be in a section which gets discarded during the link (either via --gc-sections or via /DISCARD/). Update REQUIRE_SYMBOL() to generate relocation records meeting these criteria. To minimise the impact upon the final binary size, we use existing symbols (specified via the REQUIRING_SYMBOL() macro) as the relocation targets where possible. We use R_386_NONE or R_X86_64_NONE relocation types to prevent any actual unwanted relocation taking place. Where no suitable symbol exists for REQUIRING_SYMBOL() (such as in config.c), the macro PROVIDE_REQUIRING_SYMBOL() can be used to generate a one-byte-long symbol to act as the relocation target. If there are versions of binutils for which this approach fails, then the fallback will probably involve killing off REQUEST_SYMBOL(), redefining REQUIRE_SYMBOL() to use the current definition of REQUEST_SYMBOL(), and postprocessing the linked ELF file with something along the lines of "nm -u | wc -l" to check that there are no undefined symbols remaining. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [build] Use REQUIRE_OBJECT() to drag in per-object configurationMichael Brown2015-03-051-0/+3
| | | | 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>
* [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>
* [list] Tidy up naming convention for list_contains() and friendsMichael Brown2011-10-141-1/+1
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [fc] Send xfer_window_changed() when FCP link is establishedMichael Brown2011-06-281-12/+32
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [fc] Maintain a list of Fibre Channel upper-layer protocol usersMichael Brown2011-06-281-14/+30
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [fc] Allow Fibre Channel ports to be explicitly namedMichael Brown2010-11-271-5/+3Star
| | | | | | Use the network interface name as the Fibre Channel port name. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [fc] Add support for Fibre Channel name server lookupsMichael Brown2010-11-081-38/+120
| | | | 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] Do not use the command reference number in FCP_CMND IUsMichael Brown2010-10-191-2/+2
| | | | | | | | | | | | | | | The FCP command reference number is intended to be used for controlling precise delivery of FCP commands, rather than being an essentially arbitrary tag field (as with iSCSI and SRP). Use the Fibre Channel local exchange ID as the tag for FCP commands, instead of the FCP command reference. The local exchange ID does not appear within the FCP IU itself, but does appear within the FC frame header; debug traces can therefore still be correlated with packet captures. Reported-by: Hadar Hen Zion <hadarh@mellanox.co.il> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [fc] Use port WWN rather than node WWN as the primary Fibre Channel nameMichael Brown2010-10-151-31/+31
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [fc] Include port IDs in metadata for received Fibre Channel framesMichael Brown2010-10-071-0/+24
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [fc] Ignore fabric-assigned port ID for fabricless implicit logoutsMichael Brown2010-09-211-2/+3
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [fc] Allow FLOGI response to be sent to newly-assigned peer port IDMichael Brown2010-09-211-1/+4
| | | | | | | The response to a received FLOGI should probably be sent to the peer port ID assigned as a result of the WWPN comparison. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [fc] Maintain port, peer and ULP lists in order of creationMichael Brown2010-09-181-3/+3
| | | | Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [fc] Add support for Fibre Channel devicesMichael Brown2010-09-151-0/+1773
Add support for Fibre Channel ports, peers, and upper-layer protocols, and for Fibre Channel extended link services. Signed-off-by: Michael Brown <mcb30@ipxe.org>