mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
[SCSI] libfc: add FLOGI state to rport for VN2VN
The FIP proposal for VN_port to VN_port point-to-multipoint operation requires a FLOGI be sent to each remote port. The FLOGI is sent with the assigned S_ID and D_IDs of the local and remote ports. This and the response get FIP-encapsulated for Ethernet. Add FLOGI state to the remote port state machine. This will be skipped if not in point-to-multipoint mode. To reduce a little duplication between PLOGI and FLOGI response handling, added fc_rport_login_complete(), which handles the parameters for the rdata struct. Signed-off-by: Joe Eykholt <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>
This commit is contained in:
parent
3726f3584e
commit
a7b12a279f
4 changed files with 286 additions and 14 deletions
|
|
@ -191,6 +191,7 @@ enum fc_els_rjt_reason {
|
|||
ELS_RJT_UNAB = 0x09, /* unable to perform command request */
|
||||
ELS_RJT_UNSUP = 0x0b, /* command not supported */
|
||||
ELS_RJT_INPROG = 0x0e, /* command already in progress */
|
||||
ELS_RJT_FIP = 0x20, /* FIP error */
|
||||
ELS_RJT_VENDOR = 0xff, /* vendor specific error */
|
||||
};
|
||||
|
||||
|
|
@ -212,6 +213,7 @@ enum fc_els_rjt_explan {
|
|||
ELS_EXPL_UNAB_DATA = 0x2a, /* unable to supply requested data */
|
||||
ELS_EXPL_UNSUPR = 0x2c, /* Request not supported */
|
||||
ELS_EXPL_INV_LEN = 0x2d, /* Invalid payload length */
|
||||
ELS_EXPL_NOT_NEIGHBOR = 0x62, /* VN2VN_Port not in neighbor set */
|
||||
/* TBD - above definitions incomplete */
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -97,6 +97,8 @@ enum fc_disc_event {
|
|||
/**
|
||||
* enum fc_rport_state - Remote port states
|
||||
* @RPORT_ST_INIT: Initialized
|
||||
* @RPORT_ST_FLOGI: Waiting for FLOGI completion for point-to-multipoint
|
||||
* @RPORT_ST_PLOGI_WAIT: Waiting for peer to login for point-to-multipoint
|
||||
* @RPORT_ST_PLOGI: Waiting for PLOGI completion
|
||||
* @RPORT_ST_PRLI: Waiting for PRLI completion
|
||||
* @RPORT_ST_RTV: Waiting for RTV completion
|
||||
|
|
@ -107,6 +109,8 @@ enum fc_disc_event {
|
|||
*/
|
||||
enum fc_rport_state {
|
||||
RPORT_ST_INIT,
|
||||
RPORT_ST_FLOGI,
|
||||
RPORT_ST_PLOGI_WAIT,
|
||||
RPORT_ST_PLOGI,
|
||||
RPORT_ST_PRLI,
|
||||
RPORT_ST_RTV,
|
||||
|
|
|
|||
Loading…
Reference in a new issue