linux/drivers/scsi/fcoe
Robert Love 593abc0720 [SCSI] libfcoe: Don't fill MAC desc in FLOGI if FIP negotiated FPMA
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: Robert Love <robert.w.love@intel.com>
Signed-off-by: Chris Leech <christopher.leech@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
2010-04-11 14:02:27 -05:00
..
fcoe.c [SCSI] libfc, libfcoe, fcoe: use smp_processor_id() only when preempt disabled 2010-04-11 09:23:44 -05:00
fcoe.h [SCSI] fcoe: Formatting cleanups and commenting 2009-12-04 12:01:08 -06:00
libfcoe.c [SCSI] libfcoe: Don't fill MAC desc in FLOGI if FIP negotiated FPMA 2010-04-11 14:02:27 -05:00
Makefile [SCSI] fcoe, libfc: add libfcoe module 2009-04-03 09:23:04 -05:00