• Robert Love's avatar
    [SCSI] fcoe, bnx2fc, libfcoe: SW FCoE and bnx2fc use FCoE Syfs · 8d55e507
    Robert Love authored
    This patch has the SW FCoE driver and the bnx2fc
    driver make use of the new fcoe_sysfs API added
    earlier in this patch series.
    
    After this patch a fcoe_ctlr_device is allocated with
    private data in this order.
    
    +------------------+   +------------------+
    | fcoe_ctlr_device |   | fcoe_ctlr_device |
    +------------------+   +------------------+
    | fcoe_ctlr        |   | fcoe_ctlr        |
    +------------------+   +------------------+
    | fcoe_interface   |   | bnx2fc_interface |
    +------------------+   +------------------+
    
    libfcoe also takes part in this new model since it
    discovers and manages fcoe_fcf instances. The memory
    allocation is different for FCFs. I didn't want to
    impact libfcoe's fcoe_fcf processing, so this patch
    creates fcoe_fcf_device instances for each discovered
    fcoe_fcf. The two are paired using a (void * priv)
    member of the fcoe_ctlr_device. This allows libfcoe
    to continue maintaining its list of fcoe_fcf instances
    and simply attaches and detaches them from existing
    or new fcoe_fcf_device instances.
    Signed-off-by: default avatarRobert Love <robert.w.love@intel.com>
    Tested-by: default avatarRoss Brattain <ross.b.brattain@intel.com>
    Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
    8d55e507
fcoe_ctlr.c 77.6 KB