diff options
author | Chad Dupuis <chad.dupuis@cavium.com> | 2017-08-15 20:08:17 +0300 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2017-08-25 05:29:02 +0300 |
commit | a3cd42a9d627fd7c472664e454108829886e123f (patch) | |
tree | b0e46b950dcbac4e5d0f645082d3849195dffd14 /drivers/scsi/qedf/qedf.h | |
parent | 01fd76a76552b801897ac087e4e2d7667dd7c458 (diff) | |
download | linux-a3cd42a9d627fd7c472664e454108829886e123f.tar.xz |
scsi: qedf: Use granted MAC from the FCF for the FCoE source address if it is available.
Currently in the driver we've been using the fc_fcoe_set_mac() function to
set the source MAC for FCoE traffic. This works well in most cases as it
uses the spec. default FCF-MAC. However, if the administrator changes the
FCF-MAC switch, then any FCoE traffic we send will be dropped by the
switch.
Instead we should check the granted MAC from the FLOGI payload and use that
address if it is present. Otherwise, fall back to using the the default
FCF-MAC and the fabric ID of the port as the FCoE MAC address.
Once this address is known we need to set it when doing non-offload
traffic, offload traffic and setting the data_src_address libfcoe uses for
FIP keep alive messages.
Signed-off-by: Chad Dupuis <chad.dupuis@cavium.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/qedf/qedf.h')
-rw-r--r-- | drivers/scsi/qedf/qedf.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/scsi/qedf/qedf.h b/drivers/scsi/qedf/qedf.h index 4d038926a455..26ff212eda7e 100644 --- a/drivers/scsi/qedf/qedf.h +++ b/drivers/scsi/qedf/qedf.h @@ -443,7 +443,6 @@ extern void qedf_cmd_mgr_free(struct qedf_cmd_mgr *cmgr); extern int qedf_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *sc_cmd); extern void qedf_fip_send(struct fcoe_ctlr *fip, struct sk_buff *skb); -extern void qedf_update_src_mac(struct fc_lport *lport, u8 *addr); extern u8 *qedf_get_src_mac(struct fc_lport *lport); extern void qedf_fip_recv(struct qedf_ctx *qedf, struct sk_buff *skb); extern void qedf_fcoe_send_vlan_req(struct qedf_ctx *qedf); |