On Thu, 2010-03-18 at 15:48 -0700, Joe Eykholt wrote: > Joe Eykholt wrote: > > Chris Leech wrote: > >> From: Robert Love <[email protected]> > >> > >> 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). > > I changed my (alleged) mind when I looked at this again. > > Case (c) is why we were setting the address if we have fip-spma > set, whether the FCF has it or not. It leaves the decision > up to the FCF. So, I think this patch is incorrect. > We always support FPMA, so case (a) doesn't apply. > Case B explains that the MAC descriptor in the FIP FLOGI/FDISC should be all zeros if FPMA was negotiated. Before this patch we're filling in the MAC descriptor if we _support_ SPMA, regardless of what was negotiated with the switch.
The way I interpret it is that our capabilities are advertised during the solicitation/advertisement phase and we set both SPMA and FPMA. During FLOGI/FDISC we are stating what will be used. _______________________________________________ devel mailing list [email protected] http://www.open-fcoe.org/mailman/listinfo/devel
