Lines Matching +full:port +full:- +full:number
1 /* SPDX-License-Identifier: GPL-2.0-only */
5 * Maintained at www.Open-FCoE.org
43 * enum fc_lport_state - Local port states
46 * @LPORT_ST_DNS: Waiting for name server remote port to become ready
47 * @LPORT_ST_RPN_ID: Register port name by ID (RPN_ID) sent
49 * @LPORT_ST_RFF_ID: Register FC-4 Features by ID (RFF_ID) sent
54 * @LPORT_ST_LOGO: Local port logout (LOGO) sent
55 * @LPORT_ST_RESET: Local port reset
84 * enum fc_rport_state - Remote port states
86 * @RPORT_ST_FLOGI: Waiting for FLOGI completion for point-to-multipoint
87 * @RPORT_ST_PLOGI_WAIT: Waiting for peer to login for point-to-multipoint
93 * @RPORT_ST_DELETE: Remote port being deleted
108 * struct fc_disc_port - temporary discovery port to hold rport identifiers
109 * @lp: Fibre Channel host port instance
112 * @port_id: Port ID of the discovered port
122 * enum fc_rport_event - Remote port events
124 * @RPORT_EV_READY: Remote port is ready for use
125 * @RPORT_EV_FAILED: State machine failed, remote port is not ready
126 * @RPORT_EV_STOP: Remote port has been stopped
127 * @RPORT_EV_LOGO: Remote port logout (LOGO) sent
140 * struct fc_rport_operations - Operations for a remote port
141 * @event_callback: Function to be called for remote port events
149 * struct fc_rport_libfc_priv - libfc internal information about a remote port
150 * @local_port: The associated local port
169 * struct fc_rport_priv - libfc remote port and discovery info
170 * @local_port: The associated local port
171 * @rport: The FC transport remote port
175 * @ids: The remote port identifiers and roles
177 * @max_seq: Maximum number of concurrent sequences
184 * @rp_mutex: The mutex that protects the remote port
188 * @rcu: Structure used for freeing in an RCU-safe manner
221 * struct fc_stats - fc stats structure
223 * @TxFrames: Number of transmitted frames
224 * @TxWords: Number of transmitted words
225 * @RxFrames: Number of received frames
226 * @RxWords: Number of received words
227 * @ErrorFrames: Number of received error frames
228 * @DumpedFrames: Number of dumped frames
229 * @FcpPktAllocFails: Number of fcp packet allocation failures
230 * @FcpPktAborts: Number of fcp packet aborts
231 * @FcpFrameAllocFails: Number of fcp frame allocation failures
232 * @LinkFailureCount: Number of link failures
233 * @LossOfSignalCount: Number for signal losses
234 * @InvalidTxWordCount: Number of invalid transmitted words
235 * @InvalidCRCCount: Number of invalid CRCs
236 * @InputRequests: Number of input requests
237 * @OutputRequests: Number of output requests
238 * @ControlRequests: Number of control requests
239 * @InputBytes: Number of received bytes
240 * @OutputBytes: Number of transmitted bytes
241 * @VLinkFailureCount: Number of virtual link failures
242 * @MissDiscAdvCount: Number of missing FIP discovery advertisement
269 * struct fc_seq_els_data - ELS data used for passing ELS specific responses
281 * struct fc_fcp_pkt - FCP request structure (one for each scsi_cmnd request)
282 * @lp: The associated local port
306 * @rport: The remote port that the SCSI command is targeted at
308 * @recov_retry: Number of recovery retries
377 * struct fc_seq - FC sequence
380 * @cnt: Number of frames sent so far
381 * @rec_data: FC-4 value for REC
395 * struct fc_exch - Fibre Channel Exchange
404 * @lp: The local port that this exchange is on
413 * @encaps: encapsulation information for lower-level driver
418 * @resp_active: Number of tasks that are concurrently executing @resp().
420 * task that has been interrupted to execute the soft-IRQ
517 * If s_id is non-zero, reset only exchanges originating from that FID.
518 * If d_id is non-zero, reset only exchanges sending to that FID.
525 * Set the local port FC_ID.
528 * notified when the local port is assigned a FC-ID.
530 * The frame, if non-NULL, is the incoming frame with the
535 * If FC_ID is non-zero, r_a_tov and e_d_tov must be valid.
537 * Note: this is called with the local port mutex held.
545 * Callback routine after the remote port is logged in
573 * Abort all I/O on a local port
587 * Start discovery for a local port.
614 * struct fc_disc - Discovery context
615 * @retry_count: Number of retries
618 * @seq_count: Number of sequences used for discovery
648 * Local port notifier and events.
657 * struct fc_lport - Local port
658 * @host: The SCSI host associated with a local port
660 * @dns_rdata: The directory server remote port
661 * @ms_rdata: The management server remote port
662 * @ptp_rdata: Point to point remote port
671 * @boot_time: Timestamp indicating when the local port came online
673 * @stats: FC local port stats (TODO separate libfc LLD stats)
674 * @retry_count: Number of retries in the current state
675 * @port_id: FC Port ID
676 * @wwpn: World Wide Port Name
690 * @max_rport_retry_count: The maximum remote port retry attempts
694 * @fcts: FC-4 type mask
695 * @lp_mutex: Mutex to protect the local port
697 * @retry_work: Handle to local port for delayed retry context
698 * @prov: Pointers available for use by passive FC-4 providers
699 * @lport_list: Linkage on module-wide list of local ports
711 /* Virtual port information */
763 * struct fc4_prov - FC-4 provider registration
779 * Register FC-4 provider with libfc.
789 * fc_lport_test_ready() - Determine if a local port is in the READY state
790 * @lport: The local port to test
794 return lport->state == LPORT_ST_READY; in fc_lport_test_ready()
798 * fc_set_wwnn() - Set the World Wide Node Name of a local port
799 * @lport: The local port whose WWNN is to be set
804 lport->wwnn = wwnn; in fc_set_wwnn()
808 * fc_set_wwpn() - Set the World Wide Port Name of a local port
809 * @lport: The local port whose WWPN is to be set
814 lport->wwpn = wwpn; in fc_set_wwpn()
818 * fc_lport_state_enter() - Change a local port's state
819 * @lport: The local port whose state is to change
825 if (state != lport->state) in fc_lport_state_enter()
826 lport->retry_count = 0; in fc_lport_state_enter()
827 lport->state = state; in fc_lport_state_enter()
831 * fc_lport_init_stats() - Allocate per-CPU statistics for a local port
832 * @lport: The local port whose statistics are to be initialized
836 lport->stats = alloc_percpu(struct fc_stats); in fc_lport_init_stats()
837 if (!lport->stats) in fc_lport_init_stats()
838 return -ENOMEM; in fc_lport_init_stats()
843 * fc_lport_free_stats() - Free memory for a local port's statistics
844 * @lport: The local port whose statistics are to be freed
848 free_percpu(lport->stats); in fc_lport_free_stats()
852 * lport_priv() - Return the private data from a local port
853 * @lport: The local port whose private data is to be retrieved
861 * libfc_host_alloc() - Allocate a Scsi_Host with room for a local port and
878 lport->host = shost; in libfc_host_alloc()
879 INIT_LIST_HEAD(&lport->ema_list); in libfc_host_alloc()
880 INIT_LIST_HEAD(&lport->vports); in libfc_host_alloc()
889 if (fsp && fsp->cmd) in fc_fcp_is_read()
890 return fsp->cmd->sc_data_direction == DMA_FROM_DEVICE; in fc_fcp_is_read()
895 * LOCAL PORT LAYER
918 * REMOTE PORT LAYER