RE: [EXT] Re: [PATCH 2/4] include:scsi:fc: FDMI enhancement

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Himanshu,

Please find my response inline.

-----Original Message-----
From: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> 
Sent: Monday, October 19, 2020 8:57 PM
To: Javed Hasan <jhasan@xxxxxxxxxxx>
Cc: Martin K . Petersen <martin.petersen@xxxxxxxxxx>; linux-scsi@xxxxxxxxxxxxxxx; GR-QLogic-Storage-Upstream <GR-QLogic-Storage-Upstream@xxxxxxxxxxx>
Subject: [EXT] Re: [PATCH 2/4] include:scsi:fc: FDMI enhancement

External Email

----------------------------------------------------------------------


> On Oct 9, 2020, at 4:36 AM, Javed Hasan <jhasan@xxxxxxxxxxx> wrote:
> 
> All the attributes added for RHBA and RPA registration.
> Fall back mechanism is added in between RBHA V2 and RHBA V1 
> attributes. In case RHBA get failed for RBHA V2 attributes, then we 
> fall back to  RHBA V1 attributes registration.
> 
> Signed-off-by: Javed Hasan <jhasan@xxxxxxxxxxx>
> ---
> include/scsi/fc/fc_ms.h | 59 ++++++++++++++++++++++++++++++++++-------
> 1 file changed, 50 insertions(+), 9 deletions(-)
> 
> diff --git a/include/scsi/fc/fc_ms.h b/include/scsi/fc/fc_ms.h index 
> 9e273fed0a85..abbd6bacc888 100644
> --- a/include/scsi/fc/fc_ms.h
> +++ b/include/scsi/fc/fc_ms.h
> @@ -24,6 +24,12 @@
>  */
> #define	FC_FDMI_SUBTYPE	    0x10 /* fs_ct_hdr.ct_fs_subtype */
> 
> +/*
> + * Management server FDMI specifications.
> + */
> +#define	FDMI_V1	    1 /* FDMI version 1 specifications */
> +#define	FDMI_V2	    2 /* FDMI version 2 specifications */
> +
> /*
>  * Management server FDMI Requests.
>  */
> @@ -57,22 +63,36 @@ enum fc_fdmi_hba_attr_type {
> 	FC_FDMI_HBA_ATTR_FIRMWAREVERSION = 0x0009,
> 	FC_FDMI_HBA_ATTR_OSNAMEVERSION = 0x000A,
> 	FC_FDMI_HBA_ATTR_MAXCTPAYLOAD = 0x000B,
> +	FC_FDMI_HBA_ATTR_NODESYMBLNAME = 0x000C,
> +	FC_FDMI_HBA_ATTR_VENDORSPECIFICINFO = 0x000D,
> +	FC_FDMI_HBA_ATTR_NUMBEROFPORTS = 0x000E,
> +	FC_FDMI_HBA_ATTR_FABRICNAME = 0x000F,
> +	FC_FDMI_HBA_ATTR_BIOSVERSION = 0x0010,
> +	FC_FDMI_HBA_ATTR_BIOSSTATE = 0x0011,
> +	FC_FDMI_HBA_ATTR_VENDORIDENTIFIER = 0x00E0,
> };
> 
> /*
>  * HBA Attribute Length
>  */
> #define FC_FDMI_HBA_ATTR_NODENAME_LEN		8
> -#define FC_FDMI_HBA_ATTR_MANUFACTURER_LEN	80
> -#define FC_FDMI_HBA_ATTR_SERIALNUMBER_LEN	80
> -#define FC_FDMI_HBA_ATTR_MODEL_LEN		256
> -#define FC_FDMI_HBA_ATTR_MODELDESCR_LEN		256
> -#define FC_FDMI_HBA_ATTR_HARDWAREVERSION_LEN	256
> -#define FC_FDMI_HBA_ATTR_DRIVERVERSION_LEN	256
> -#define FC_FDMI_HBA_ATTR_OPTIONROMVERSION_LEN	256
> -#define FC_FDMI_HBA_ATTR_FIRMWAREVERSION_LEN	256
> -#define FC_FDMI_HBA_ATTR_OSNAMEVERSION_LEN	256
> +#define FC_FDMI_HBA_ATTR_MANUFACTURER_LEN	64
> +#define FC_FDMI_HBA_ATTR_SERIALNUMBER_LEN	64

These below value of 100 seems odd. How did you decided on this value? 
<JH> In libfc we do have logic to split FCP commands but not for CT commands.
         If I am adding all attributes of RHBA then total length is going upto 2750(approx),
         Which is far more than 2048 and that is causing problem. 
         Practically all version/names get covered with in 100 bytes.

> +#define FC_FDMI_HBA_ATTR_MODEL_LEN		100
> +#define FC_FDMI_HBA_ATTR_MODELDESCR_LEN		100
> +#define FC_FDMI_HBA_ATTR_HARDWAREVERSION_LEN	100
> +#define FC_FDMI_HBA_ATTR_DRIVERVERSION_LEN	100
> +#define FC_FDMI_HBA_ATTR_OPTIONROMVERSION_LEN	100
> +#define FC_FDMI_HBA_ATTR_FIRMWAREVERSION_LEN	100
> +#define FC_FDMI_HBA_ATTR_OSNAMEVERSION_LEN	100
> #define FC_FDMI_HBA_ATTR_MAXCTPAYLOAD_LEN	4
> +#define FC_FDMI_HBA_ATTR_NODESYMBLNAME_LEN	100
> +#define FC_FDMI_HBA_ATTR_VENDORSPECIFICINFO_LEN	4
> +#define FC_FDMI_HBA_ATTR_NUMBEROFPORTS_LEN	4
> +#define FC_FDMI_HBA_ATTR_FABRICNAME_LEN	8
> +#define FC_FDMI_HBA_ATTR_BIOSVERSION_LEN	100
> +#define FC_FDMI_HBA_ATTR_BIOSSTATE_LEN    4
> +#define FC_FDMI_HBA_ATTR_VENDORIDENTIFIER_LEN 8
> 
> /*
>  * Port Attribute Type
> @@ -84,6 +104,16 @@ enum fc_fdmi_port_attr_type {
> 	FC_FDMI_PORT_ATTR_MAXFRAMESIZE = 0x0004,
> 	FC_FDMI_PORT_ATTR_OSDEVICENAME = 0x0005,
> 	FC_FDMI_PORT_ATTR_HOSTNAME = 0x0006,
> +	FC_FDMI_PORT_ATTR_NODENAME = 0x0007,
> +	FC_FDMI_PORT_ATTR_PORTNAME = 0x0008,
> +	FC_FDMI_PORT_ATTR_SYMBOLICNAME = 0x0009,
> +	FC_FDMI_PORT_ATTR_PORTTYPE = 0x000A,
> +	FC_FDMI_PORT_ATTR_SUPPORTEDCLASSSRVC = 0x000B,
> +	FC_FDMI_PORT_ATTR_FABRICNAME = 0x000C,
> +	FC_FDMI_PORT_ATTR_CURRENTFC4TYPE = 0x000D,
> +	FC_FDMI_PORT_ATTR_PORTSTATE = 0x101,
> +	FC_FDMI_PORT_ATTR_DISCOVEREDPORTS = 0x102,
> +	FC_FDMI_PORT_ATTR_PORTID = 0x103,
> };
> 
> /*
> @@ -95,6 +125,17 @@ enum fc_fdmi_port_attr_type {
> #define FC_FDMI_PORT_ATTR_MAXFRAMESIZE_LEN	4
> #define FC_FDMI_PORT_ATTR_OSDEVICENAME_LEN	256
> #define FC_FDMI_PORT_ATTR_HOSTNAME_LEN		256
> +#define FC_FDMI_PORT_ATTR_NODENAME_LEN		8
> +#define FC_FDMI_PORT_ATTR_PORTNAME_LEN		8
> +#define FC_FDMI_PORT_ATTR_SYMBOLICNAME_LEN	256
> +#define FC_FDMI_PORT_ATTR_PORTTYPE_LEN		4
> +#define FC_FDMI_PORT_ATTR_SUPPORTEDCLASSSRVC_LEN	4
> +#define FC_FDMI_PORT_ATTR_FABRICNAME_LEN	8
> +#define FC_FDMI_PORT_ATTR_CURRENTFC4TYPE_LEN	32
> +#define FC_FDMI_PORT_ATTR_PORTSTATE_LEN		4
> +#define FC_FDMI_PORT_ATTR_DISCOVEREDPORTS_LEN	4
> +#define FC_FDMI_PORT_ATTR_PORTID_LEN		4
> +
> 
> /*
>  * HBA Attribute ID
> --
> 2.18.2
> 

--
Himanshu Madhani	 Oracle Linux Engineering





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux