scsi: fcoe: set default TC priority
authorHannes Reinecke <hare@suse.de>
Thu, 13 Oct 2016 13:10:56 +0000 (15:10 +0200)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 8 Nov 2016 22:29:53 +0000 (17:29 -0500)
If DCB is not enabled or compiled in we still should be setting
a sane default priority. So put FCoE frames in priority class
'interactive' and FIP frames in priority class 'besteffort'.

Signed-off-by: Hannes Reinecke <hare@suse.com>
Reviewed-by: Bart Van Assche <bart.vanassche@sandisk.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/fcoe/fcoe.c

index c907661a2ec369a0e851e96873975012e3dc1e7c..9876fca8946a3aceaa3f41c52bfac365606d0099 100644 (file)
@@ -2168,6 +2168,8 @@ static bool fcoe_match(struct net_device *netdev)
  */
 static void fcoe_dcb_create(struct fcoe_interface *fcoe)
 {
+       int ctlr_prio = TC_PRIO_BESTEFFORT;
+       int fcoe_prio = TC_PRIO_INTERACTIVE;
 #ifdef CONFIG_DCB
        int dcbx;
        u8 fup, up;
@@ -2194,10 +2196,12 @@ static void fcoe_dcb_create(struct fcoe_interface *fcoe)
                        fup = dcb_getapp(netdev, &app);
                }
 
-               fcoe->priority = ffs(up) ? ffs(up) - 1 : 0;
-               ctlr->priority = ffs(fup) ? ffs(fup) - 1 : fcoe->priority;
+               fcoe_prio = ffs(up) ? ffs(up) - 1 : 0;
+               ctlr_prio = ffs(fup) ? ffs(fup) - 1 : fcoe_prio;
        }
 #endif
+       fcoe->priority = fcoe_prio;
+       ctlr->priority = ctlr_prio;
 }
 
 enum fcoe_create_link_state {