diff options
author | Yi Zou <yi.zou@intel.com> | 2009-11-20 17:54:57 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2009-12-04 13:01:55 -0500 |
commit | 8cdffdccd948ea4872b7b65280bc04f2fa93fc96 (patch) | |
tree | 7713d23f0a066e15b0f9c148bda62fd8db4fec53 /include | |
parent | 6580bbd0afe6ba1be5d53b331e92a7690046c923 (diff) |
[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>
Diffstat (limited to 'include')
-rw-r--r-- | include/scsi/fc/fc_fip.h | 12 | ||||
-rw-r--r-- | include/scsi/libfcoe.h | 1 |
2 files changed, 12 insertions, 1 deletions
diff --git a/include/scsi/fc/fc_fip.h b/include/scsi/fc/fc_fip.h index 3d138c1fcf8a..17baa19380f0 100644 --- a/include/scsi/fc/fc_fip.h +++ b/include/scsi/fc/fc_fip.h | |||
@@ -214,11 +214,21 @@ struct fip_vn_desc { | |||
214 | */ | 214 | */ |
215 | struct fip_fka_desc { | 215 | struct fip_fka_desc { |
216 | struct fip_desc fd_desc; | 216 | struct fip_desc fd_desc; |
217 | __u8 fd_resvd[2]; | 217 | __u8 fd_resvd; |
218 | __u8 fd_flags; /* bit0 is fka disable flag */ | ||
218 | __be32 fd_fka_period; /* adv./keep-alive period in mS */ | 219 | __be32 fd_fka_period; /* adv./keep-alive period in mS */ |
219 | } __attribute__((packed)); | 220 | } __attribute__((packed)); |
220 | 221 | ||
221 | /* | 222 | /* |
223 | * flags for fip_fka_desc.fd_flags | ||
224 | */ | ||
225 | enum fip_fka_flags { | ||
226 | FIP_FKA_ADV_D = 0x01, /* no need for FKA from ENode */ | ||
227 | }; | ||
228 | |||
229 | /* FIP_DT_FKA flags */ | ||
230 | |||
231 | /* | ||
222 | * FIP_DT_VENDOR descriptor. | 232 | * FIP_DT_VENDOR descriptor. |
223 | */ | 233 | */ |
224 | struct fip_vendor_desc { | 234 | struct fip_vendor_desc { |
diff --git a/include/scsi/libfcoe.h b/include/scsi/libfcoe.h index 3837872f1965..c603f4a7e7fc 100644 --- a/include/scsi/libfcoe.h +++ b/include/scsi/libfcoe.h | |||
@@ -155,6 +155,7 @@ struct fcoe_fcf { | |||
155 | u8 pri; | 155 | u8 pri; |
156 | u16 flags; | 156 | u16 flags; |
157 | u32 fka_period; | 157 | u32 fka_period; |
158 | u8 fd_flags:1; | ||
158 | }; | 159 | }; |
159 | 160 | ||
160 | /* FIP API functions */ | 161 | /* FIP API functions */ |