On 08/15/2016 05:24 PM, Johannes Thumshirn wrote: > Provide a translation table between Ethernet and FC port speeds so odd > speeds (from a Ethernet POV) like 8 Gbit are correctly mapped to sysfs > and open-fcoe's fcoeadm. > > Before: > Description: BCM57840 NetXtreme II 10/20-Gigabit Ethernet > Revision: 11 > Manufacturer: Broadcom Corporation > Serial Number: 6CC2173EA1D0 > > Driver: bnx2x 1.712.30-0 > Number of Ports: 1 > > Symbolic Name: bnx2fc (QLogic BCM57840) v2.10.3 over eth2 > OS Device Name: host1 > Node Name: 0x20006cc2173ea1d1 > Port Name: 0x10006cc2173ea1d1 > FabricName: 0x100000c0dd0ce717 > Speed: unknown > Supported Speed: 1 Gbit, 10 Gbit > MaxFrameSize: 2048 bytes > FC-ID (Port ID): 0x660702 > State: Online > > After: > Description: BCM57840 NetXtreme II 10/20-Gigabit Ethernet > Revision: 11 > Manufacturer: Broadcom Corporation > Serial Number: 6CC2173EA1D0 > > Driver: bnx2x 1.712.30-0 > Number of Ports: 1 > > Symbolic Name: bnx2fc (QLogic BCM57840) v2.10.3 over eth2 > OS Device Name: host1 > Node Name: 0x20006cc2173ea1d1 > Port Name: 0x10006cc2173ea1d1 > FabricName: 0x100000c0dd0ce717 > Speed: 8 Gbit > Supported Speed: 1 Gbit, 10 Gbit > MaxFrameSize: 2048 bytes > FC-ID (Port ID): 0x660701 > State: Online > > Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> > --- > drivers/scsi/fcoe/fcoe_transport.c | 48 ++++++++++++++++++++++++-------------- > 1 file changed, 31 insertions(+), 17 deletions(-) > > diff --git a/drivers/scsi/fcoe/fcoe_transport.c b/drivers/scsi/fcoe/fcoe_transport.c > index 7028dd3..3e7f0e7 100644 > --- a/drivers/scsi/fcoe/fcoe_transport.c > +++ b/drivers/scsi/fcoe/fcoe_transport.c > @@ -83,6 +83,36 @@ static struct notifier_block libfcoe_notifier = { > .notifier_call = libfcoe_device_notification, > }; > > +static const struct { > + u32 fc_port_speed; > + u32 eth_port_speed; > +} fcoe_port_speed_mapping[] = { > + { FC_PORTSPEED_1GBIT, SPEED_1000 }, > + { FC_PORTSPEED_2GBIT, 2000 }, > + { FC_PORTSPEED_4GBIT, 4000 }, > + { FC_PORTSPEED_8GBIT, 8000 }, > + { FC_PORTSPEED_10GBIT, SPEED_10000 }, > + { FC_PORTSPEED_16GBIT, 16000 }, > + { FC_PORTSPEED_20GBIT, SPEED_20000 }, > + { FC_PORTSPEED_25GBIT, SPEED_25000 }, > + { FC_PORTSPEED_32GBIT, 32000 }, > + { FC_PORTSPEED_40GBIT, SPEED_40000 }, > + { FC_PORTSPEED_50GBIT, SPEED_50000 }, > + { FC_PORTSPEED_100GBIT, SPEED_100000 }, > +}; > + Hmm. Why not 'SPEED_2000' etc? This looks a bit weird, mixing values with defines ... Cheers, Hannes -- Dr. Hannes Reinecke Teamlead Storage & Networking hare@xxxxxxx +49 911 74053 688 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton HRB 21284 (AG Nürnberg) -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html