scsi: qedf: Honor priority from DCBX FCoE App tag
authorChad Dupuis <chad.dupuis@cavium.com>
Wed, 25 Apr 2018 13:08:52 +0000 (06:08 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 8 May 2018 04:57:10 +0000 (00:57 -0400)
commit84b2ba6e427ce57408052bde987260c022aff96c
tree93ec20e92b6a1f3ecb9e3d227487e541294b4289
parentba17d379c2bf859c5964cc35bab24bd0e67b0e12
scsi: qedf: Honor priority from DCBX FCoE App tag

We currently hard code the priority in the 8021q tag to 3 for FCoE
traffic.  The vast majority of the time this is fine but if the priority
is something else besides 3, any VLAN ID comparison either in the
non-offload path or offload path will fail and cause dropped frames
where none are expected.

Change the behavior so that the driver default is 3 if we do not get any
DCBX convergence.

If DCBX does converge, then set the FIP/FCoE priority in the following
manner:

 1. If the qedf_default_prio modparam is set use that
 2. If the DCBX FCoE priority is not in range (0..7) use 3
 3. Use the DCBX FCoE priority we get in the driver's DCBX handler

Signed-off-by: Chad Dupuis <chad.dupuis@cavium.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qedf/qedf.h
drivers/scsi/qedf/qedf_main.c