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_RNN_ID: Register port name by ID (RNN_ID) sent
49 * @LPORT_ST_RSPN_ID: Waiting for host symbolic port name
51 * @LPORT_ST_RFF_ID: Register FC-4 Features by ID (RFF_ID) sent
54 * @LPORT_ST_RPA: Register Port Attributes
56 * @LPORT_ST_DPRT: Deregister Port
59 * @LPORT_ST_LOGO: Local port logout (LOGO) sent
60 * @LPORT_ST_RESET: Local port reset
89 * enum fc_rport_state - Remote port states
91 * @RPORT_ST_FLOGI: Waiting for FLOGI completion for point-to-multipoint
92 * @RPORT_ST_PLOGI_WAIT: Waiting for peer to login for point-to-multipoint
98 * @RPORT_ST_DELETE: Remote port being deleted
113 * struct fc_disc_port - temporary discovery port to hold rport identifiers
114 * @lp: Fibre Channel host port instance
117 * @port_id: Port ID of the discovered port
127 * enum fc_rport_event - Remote port events
129 * @RPORT_EV_READY: Remote port is ready for use
130 * @RPORT_EV_FAILED: State machine failed, remote port is not ready
131 * @RPORT_EV_STOP: Remote port has been stopped
132 * @RPORT_EV_LOGO: Remote port logout (LOGO) sent
145 * struct fc_rport_operations - Operations for a remote port
146 * @event_callback: Function to be called for remote port events
154 * struct fc_rport_libfc_priv - libfc internal information about a remote port
155 * @local_port: The associated local port
174 * struct fc_rport_priv - libfc remote port and discovery info
175 * @local_port: The associated local port
176 * @rport: The FC transport remote port
180 * @ids: The remote port identifiers and roles
182 * @max_seq: Maximum number of concurrent sequences
189 * @rp_mutex: The mutex that protects the remote port
193 * @rcu: Structure used for freeing in an RCU-safe manner
226 * struct fc_stats - fc stats structure
228 * @TxFrames: Number of transmitted frames
229 * @TxWords: Number of transmitted words
230 * @RxFrames: Number of received frames
231 * @RxWords: Number of received words
232 * @ErrorFrames: Number of received error frames
233 * @DumpedFrames: Number of dumped frames
234 * @FcpPktAllocFails: Number of fcp packet allocation failures
235 * @FcpPktAborts: Number of fcp packet aborts
236 * @FcpFrameAllocFails: Number of fcp frame allocation failures
237 * @LinkFailureCount: Number of link failures
238 * @LossOfSignalCount: Number for signal losses
239 * @InvalidTxWordCount: Number of invalid transmitted words
240 * @InvalidCRCCount: Number of invalid CRCs
241 * @InputRequests: Number of input requests
242 * @OutputRequests: Number of output requests
243 * @ControlRequests: Number of control requests
244 * @InputBytes: Number of received bytes
245 * @OutputBytes: Number of transmitted bytes
246 * @VLinkFailureCount: Number of virtual link failures
247 * @MissDiscAdvCount: Number of missing FIP discovery advertisement
274 * struct fc_seq_els_data - ELS data used for passing ELS specific responses
286 * struct fc_fcp_pkt - FCP request structure (one for each scsi_cmnd request)
287 * @lp: The associated local port
312 * @rport: The remote port that the SCSI command is targeted at
314 * @recov_retry: Number of recovery retries
383 * struct fc_seq - FC sequence
386 * @cnt: Number of frames sent so far
387 * @rec_data: FC-4 value for REC
401 * struct fc_exch - Fibre Channel Exchange
410 * @lp: The local port that this exchange is on
419 * @encaps: encapsulation information for lower-level driver
424 * @resp_active: Number of tasks that are concurrently executing @resp().
426 * task that has been interrupted to execute the soft-IRQ
523 * If s_id is non-zero, reset only exchanges originating from that FID.
524 * If d_id is non-zero, reset only exchanges sending to that FID.
531 * Set the local port FC_ID.
534 * notified when the local port is assigned a FC-ID.
536 * The frame, if non-NULL, is the incoming frame with the
541 * If FC_ID is non-zero, r_a_tov and e_d_tov must be valid.
543 * Note: this is called with the local port mutex held.
551 * Callback routine after the remote port is logged in
579 * Abort all I/O on a local port
593 * Start discovery for a local port.
620 * struct fc_disc - Discovery context
621 * @retry_count: Number of retries
624 * @seq_count: Number of sequences used for discovery
654 * Local port notifier and events.
663 * struct fc_lport - Local port
664 * @host: The SCSI host associated with a local port
666 * @dns_rdata: The directory server remote port
667 * @ms_rdata: The management server remote port
668 * @ptp_rdata: Point to point remote port
677 * @boot_time: Timestamp indicating when the local port came online
679 * @stats: FC local port stats (TODO separate libfc LLD stats)
680 * @retry_count: Number of retries in the current state
681 * @port_id: FC Port ID
682 * @wwpn: World Wide Port Name
696 * @max_rport_retry_count: The maximum remote port retry attempts
700 * @fcts: FC-4 type mask
701 * @lp_mutex: Mutex to protect the local port
703 * @retry_work: Handle to local port for delayed retry context
704 * @prov: Pointers available for use by passive FC-4 providers
705 * @lport_list: Linkage on module-wide list of local ports
717 /* Virtual port information */
769 * struct fc4_prov - FC-4 provider registration
785 * Register FC-4 provider with libfc.
795 * fc_lport_test_ready() - Determine if a local port is in the READY state
796 * @lport: The local port to test
798 * Returns: %true if local port is in the READY state, %false otherwise
802 return lport->state == LPORT_ST_READY; in fc_lport_test_ready()
806 * fc_set_wwnn() - Set the World Wide Node Name of a local port
807 * @lport: The local port whose WWNN is to be set
812 lport->wwnn = wwnn; in fc_set_wwnn()
816 * fc_set_wwpn() - Set the World Wide Port Name of a local port
817 * @lport: The local port whose WWPN is to be set
822 lport->wwpn = wwpn; in fc_set_wwpn()
826 * fc_lport_state_enter() - Change a local port's state
827 * @lport: The local port whose state is to change
833 if (state != lport->state) in fc_lport_state_enter()
834 lport->retry_count = 0; in fc_lport_state_enter()
835 lport->state = state; in fc_lport_state_enter()
839 * fc_lport_init_stats() - Allocate per-CPU statistics for a local port
840 * @lport: The local port whose statistics are to be initialized
842 * Returns: %0 on success, %-ENOMEM on failure
846 lport->stats = alloc_percpu(struct fc_stats); in fc_lport_init_stats()
847 if (!lport->stats) in fc_lport_init_stats()
848 return -ENOMEM; in fc_lport_init_stats()
853 * fc_lport_free_stats() - Free memory for a local port's statistics
854 * @lport: The local port whose statistics are to be freed
858 free_percpu(lport->stats); in fc_lport_free_stats()
862 * lport_priv() - Return the private data from a local port
863 * @lport: The local port whose private data is to be retrieved
865 * Returns: the local port's private data pointer
873 * libfc_host_alloc() - Allocate a Scsi_Host with room for a local port and
890 lport->host = shost; in libfc_host_alloc()
891 INIT_LIST_HEAD(&lport->ema_list); in libfc_host_alloc()
892 INIT_LIST_HEAD(&lport->vports); in libfc_host_alloc()
901 if (fsp && fsp->cmd) in fc_fcp_is_read()
902 return fsp->cmd->sc_data_direction == DMA_FROM_DEVICE; in fc_fcp_is_read()
907 * LOCAL PORT LAYER
930 * REMOTE PORT LAYER