Documentation/scsi/scsi_fc_transport.rst
Source file repositories/reference/linux-study-clean/Documentation/scsi/scsi_fc_transport.rst
File Facts
- System
- Linux kernel
- Corpus path
Documentation/scsi/scsi_fc_transport.rst- Extension
.rst- Size
- 25561 bytes
- Lines
- 594
- Domain
- Support Tooling And Documentation
- Bucket
- Documentation
- Inferred role
- Support Tooling And Documentation: documentation
- Status
- atlas-only
Why This File Exists
Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
- Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
.. SPDX-License-Identifier: GPL-2.0
=================
SCSI FC Transport
=================
Date: 11/18/2008
Kernel Revisions for features::
rports : <<TBS>>
vports : 2.6.22
bsg support : 2.6.30 (?TBD?)
Introduction
============
This file documents the features and components of the SCSI FC Transport.
It also provides documents the API between the transport and FC LLDDs.
The FC transport can be found at::
drivers/scsi/scsi_transport_fc.c
include/scsi/scsi_transport_fc.h
include/scsi/scsi_netlink_fc.h
include/scsi/scsi_bsg_fc.h
This file is found at Documentation/scsi/scsi_fc_transport.rst
FC Remote Ports (rports)
========================
In the Fibre Channel (FC) subsystem, a remote port (rport) refers to a
remote Fibre Channel node that the local port can communicate with.
These are typically storage targets (e.g., arrays, tapes) that respond
to SCSI commands over FC transport.
In Linux, rports are managed by the FC transport class and are
represented in sysfs under:
/sys/class/fc_remote_ports/
Each rport directory contains attributes describing the remote port,
such as port ID, node name, port state, and link speed.
rports are typically created by the FC transport when a new device is
discovered during a fabric login or scan, and they persist until the
device is removed or the link is lost.
Common attributes:
- node_name: World Wide Node Name (WWNN).
- port_name: World Wide Port Name (WWPN).
- port_id: FC address of the remote port.
- roles: Indicates if the port is an initiator, target, or both.
- port_state: Shows the current operational state.
After discovering a remote port, the driver typically populates a
fc_rport_identifiers structure and invokes fc_remote_port_add() to
create and register the remote port with the SCSI subsystem via the
Fibre Channel (FC) transport class.
rports are also visible via sysfs as children of the FC host adapter.
For developers: use fc_remote_port_add() and fc_remote_port_delete() when
implementing a driver that interacts with the FC transport class.
FC Virtual Ports (vports)
=========================
Annotation
- Atlas domain: Support Tooling And Documentation / Documentation.
- Implementation status: atlas-only.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.