• Joe Eykholt's avatar
    [SCSI] libfc: add set_fid function to libfc template · 093bb6a2
    Joe Eykholt authored
    This is to notify the LLD when an FC_ID is assigned to the local port.
    
    The fnic driver needs to push the assigned FC_ID to firmware.
    It currently does this by intercepting the FLOGI responses, and
    in order to make that code more common with FIP and NPIV, it
    makes more sense to wait until the local port has completely
    handled the FLOGI or FDISC response.  Also, when we fix
    point-to-point FC_ID assignment, we'll need this callback as well.
    
    Add a call to the libfc template, which is called whenever
    the local port FC_ID is being assigned.  It defaults to
    fc_lport_set_fid(), supplied by libfc.
    
    As additional benefit of this function, the LLD may determine
    the MAC address that caused the change by looking at the received frame.
    
    We also print the assigned port ID as long as it isn't 0.
    Setting port ID to 0 happens often in reset while retrying FLOGI,
    and would be uninteresting.  This replaces the previous message
    which didn't identify the host adapter instance.
    
    patch v2 note: changed one word in a comment.  "intercepted" -> "provided".
    Signed-off-by: default avatarJoe Eykholt <jeykholt@cisco.com>
    Signed-off-by: default avatarRobert Love <robert.w.love@intel.com>
    Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
    093bb6a2
libfc.h 30.7 KB