[SCSI] qla4xxx: Set IPv6 traffic class if device type is IPv6.
authorAdheer Chandravanshi <adheer.chandravanshi@qlogic.com>
Mon, 8 Jul 2013 12:33:07 +0000 (08:33 -0400)
committerJames Bottomley <JBottomley@Parallels.com>
Fri, 23 Aug 2013 17:37:05 +0000 (13:37 -0400)
Signed-off-by: Adheer Chandravanshi <adheer.chandravanshi@qlogic.com>
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/qla4xxx/ql4_os.c

index 362187003d9c75139c1715668187edfa7da0467f..bfee27e5786b30469119dd3b48d603ed575962bd 100644 (file)
@@ -2256,7 +2256,6 @@ static int qla4xxx_copy_to_fwddb_param(struct iscsi_bus_flash_session *sess,
        fw_ddb_entry->mss = cpu_to_le16(conn->max_segment_size);
        fw_ddb_entry->tcp_xmt_wsf = (uint8_t) cpu_to_le32(conn->tcp_xmit_wsf);
        fw_ddb_entry->tcp_rcv_wsf = (uint8_t) cpu_to_le32(conn->tcp_recv_wsf);
-       fw_ddb_entry->ipv4_tos = conn->ipv4_tos;
        fw_ddb_entry->ipv6_flow_lbl = cpu_to_le16(conn->ipv6_flow_label);
        fw_ddb_entry->ka_timeout = cpu_to_le16(conn->keepalive_timeout);
        fw_ddb_entry->lcl_port = cpu_to_le16(conn->local_port);
@@ -2269,6 +2268,11 @@ static int qla4xxx_copy_to_fwddb_param(struct iscsi_bus_flash_session *sess,
        fw_ddb_entry->def_timeout =
                                cpu_to_le16(sess->default_taskmgmt_timeout);
 
+       if (!strncmp(sess->portal_type, PORTAL_TYPE_IPV6, 4))
+               fw_ddb_entry->ipv4_tos = conn->ipv6_traffic_class;
+       else
+               fw_ddb_entry->ipv4_tos = conn->ipv4_tos;
+
        if (conn->ipaddress)
                memcpy(fw_ddb_entry->ip_addr, conn->ipaddress,
                       sizeof(fw_ddb_entry->ip_addr));