[SCSI] libfcoe: add checking disable flag in FIP_FKA_ADV
When the D bit is set if the FKA_ADV_Period of the FIP Discovery Advertisement, the ENode should not transmit period ENode FIP Keep Alive and VN_Port FIP Keep Alive (FC-BB-5 Rev2, 7.8.3.13). Note that fcf->flags is taken directly from the fip_header, I am claiming one bit for the purpose of the FIP_FKA_Period D bit as FIP_FL_FK_ADV_B, and use FIP_HEADER_FLAGS as bitmask for bits used in fip_header. Signed-off-by: Yi Zou <yi.zou@intel.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:
@@ -214,10 +214,20 @@ struct fip_vn_desc {
|
||||
*/
|
||||
struct fip_fka_desc {
|
||||
struct fip_desc fd_desc;
|
||||
__u8 fd_resvd[2];
|
||||
__u8 fd_resvd;
|
||||
__u8 fd_flags; /* bit0 is fka disable flag */
|
||||
__be32 fd_fka_period; /* adv./keep-alive period in mS */
|
||||
} __attribute__((packed));
|
||||
|
||||
/*
|
||||
* flags for fip_fka_desc.fd_flags
|
||||
*/
|
||||
enum fip_fka_flags {
|
||||
FIP_FKA_ADV_D = 0x01, /* no need for FKA from ENode */
|
||||
};
|
||||
|
||||
/* FIP_DT_FKA flags */
|
||||
|
||||
/*
|
||||
* FIP_DT_VENDOR descriptor.
|
||||
*/
|
||||
|
Reference in New Issue
Block a user