• Robert Love's avatar
    [SCSI] libfcoe: Don't fill MAC desc in FLOGI if FIP negotiated FPMA · 593abc07
    Robert Love authored
    FPMA indicates that the Fabric will provide the host's
    N_Port's MAC address. When sending a FLOGI/FDISC frame
    and FPMA was negotiated through FIP discovery we still
    need to provide the MAC descriptor, as per the
    specification, but the MAC should be zero'd out since
    the FCF will be providing it in the FLOGI/FDISC ACC.
    
    In FC-BB-5 section 7.8.7.4.2 (Fabric login) it states:
    
    The MAC address field in the MAC address descriptor of a FIP FLOGI
    Request operation or a FIP NPIV FDISC Request operation shall contain:
    a) the proposed MAC address to use as VN_Port MAC address if the ENode
       is requesting to use SPMA (see table 27);
    b) all zeroes to indicate no MAC address is proposed if the ENode is
       requesting to use FPMA (see table 27); or
    c) the proposed MAC address to use as VN_Port MAC address if the ENode
       supports both SPMA and FPMA and leaves the decision of which
       addressing scheme to use to the FCF (i.e., if both the FP and SP
       bits are set to one, see table 27).
    
    This patch fixes case B.
    
    This patch also adds debug statements to illustrate
    whether a FPMA or SPMA MAC is added to a FLOGI/FDISC
    frame.
    Signed-off-by: default avatarRobert Love <robert.w.love@intel.com>
    Signed-off-by: default avatarChris Leech <christopher.leech@intel.com>
    Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
    593abc07
libfcoe.c 38.2 KB