• Chad Dupuis's avatar
    scsi: bnx2fc: Redo setting source FCoE MAC · 4adb451c
    Chad Dupuis authored
    For bnx2fc, the source FCoE MAC is stored in the fcoe_port struct in the
    data_src_mac field.  Currently this is set in fcoe_ctlr_recv_flogi which
    ends up setting it by simply using fc_fcoe_set_mac() which only uses the
    default FCF-MAC.  We still want to store the source FCoE MAC in
    port->data_src_mac but we want to snoop the FLOGI response payload so as to
    set it in the following method:
    
    1. If a granted_mac is found, use that.
    
    2. If not granted_mac is there but there is a FCF-MAP from the FCF then
       create the MAC from the FCF-MAP and the destination ID from the frame.
    
    3. If there is no FCF-MAP the use the spec. default FCF-MAP and the
       destination ID from the frame.
    Signed-off-by: default avatarChad Dupuis <cdupuis@marvell.com>
    Signed-off-by: default avatarSaurav Kashyap <skashyap@marvell.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    4adb451c
bnx2fc_els.c 25.9 KB