Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
scsi: fc: add FPIN ELS definition
T11 has introduced a new Fabric Notifications mechanism whereby the fabric
can notify a port of events occurring in the fabric.  The notifications are
given by the FPIN ELS.

Add the FPIN ELS definitions to the kernel.

Signed-off-by: James Smart <jsmart2021@gmail.com>
Reviewed-by: Ewan D. Milne <emilne@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
  • Loading branch information
jsmart-gh authored and martinkpetersen committed Apr 9, 2019
1 parent d964b3e commit a7dff3a
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions include/uapi/scsi/fc/fc_els.h
Expand Up @@ -52,6 +52,7 @@ enum fc_els_cmd {
ELS_RRQ = 0x12, /* reinstate recovery qualifier */
ELS_REC = 0x13, /* read exchange concise */
ELS_SRR = 0x14, /* sequence retransmission request */
ELS_FPIN = 0x16, /* Fabric Performance Impact Notification */
ELS_PRLI = 0x20, /* process login */
ELS_PRLO = 0x21, /* process logout */
ELS_SCN = 0x22, /* state change notification */
Expand Down Expand Up @@ -119,6 +120,7 @@ enum fc_els_cmd {
[ELS_RRQ] = "RRQ", \
[ELS_REC] = "REC", \
[ELS_SRR] = "SRR", \
[ELS_FPIN] = "FPIN", \
[ELS_PRLI] = "PRLI", \
[ELS_PRLO] = "PRLO", \
[ELS_SCN] = "SCN", \
Expand Down Expand Up @@ -829,4 +831,35 @@ enum fc_els_clid_ic {
ELS_CLID_IC_LIP = 8, /* receiving LIP */
};


/*
* Fabric Notification Descriptor Tag values
*/
enum fc_fn_dtag {
ELS_FN_DTAG_LNK_INTEGRITY = 0x00020001, /* Link Integrity */
ELS_FN_DTAG_PEER_CONGEST = 0x00020003, /* Peer Congestion */
ELS_FN_DTAG_CONGESTION = 0x00020004, /* Congestion */
};

/*
* Fabric Notification Descriptor
*/
struct fc_fn_desc {
__be32 fn_desc_tag; /* Notification Descriptor Tag */
__be32 fn_desc_value_len; /* Length of Descriptor Value field
* (in bytes)
*/
__u8 fn_desc_value[0]; /* Descriptor Value */
};

/*
* ELS_FPIN - Fabric Performance Impact Notification
*/
struct fc_els_fpin {
__u8 fpin_cmd; /* command (0x16) */
__u8 fpin_zero[3]; /* specified as zero - part of cmd */
__be32 fpin_desc_cnt; /* count of descriptors */
struct fc_fn_desc fpin_desc[0]; /* Descriptor list */
};

#endif /* _FC_ELS_H_ */

0 comments on commit a7dff3a

Please sign in to comment.