The following series implements a move from using module parameters
as control interfaces to /sys/bus/fcoe based interfaces. A sysfs infrastructure
was added to the kernel a few cycles ago, this series builds on that work.
It moves the create, vn2vn_create, destroy, enable and disable interfaces
from /sys/module/libfcoe/parameters/ to various places under /sys/bus/fcoe/.
These interfaces simply are not module configurations- they are control
interfaces.
A second goal of this series is to change the initialization sequence for
a FCoE device. The result of this series is that interfaces created using
libfcoe.ko interfaces (i.e. fcoe.ko or bnx2fc.ko) will have the following
starting steps-
1) Create/alloc the port
- Allocate kernel memory and create per-instance sysfs devices
- No discovery or login
2) Configure the port
- Change mode, set ddp_min, etc...
3) Start the port
- Begins discovery and/or login (depending on mode)
4) Destroy the port
- Logout and free all memory
I'm looking for feedback on using sysfs files as control interfaces that
the user (application) would write interface names to. I modeled this
series off of the bonding sysfs interface, but it was suggested to me that
it might not be a good example. I belive bonding uses two values per-file
a '+' or a '-" to add or delete and then the ifname apended. I am simply
writing the ifname to the ctlr_create or ctlr_destroy.
Series compiled and tested against v3.5. libfcoe.ko compile warning fixed
upstream after v3.5, anyone who compiles this can ignore section mismatch
warning. Also note that a modified fcoemon is needed to use the fcoe system
service against this kernel modification. I'd be happy to provide that
fcoemon code on request.
---
Robert Love (5):
libfcoe, fcoe: Allow user to set a ctlr's mode
libfcoe: Create new libfcoe control interfaces
fcoe: Use new fcoe_sysfs control interface
bnx2fc: Use new fcoe_sysfs control interface
libfcoe, fcoe: Remove libfcoe module parameters
Documentation/ABI/testing/sysfs-bus-fcoe | 51 +++++++
drivers/scsi/bnx2fc/bnx2fc_fcoe.c | 98 ++++++++-----
drivers/scsi/fcoe/fcoe.c | 229 +++++++++++++++---------------
drivers/scsi/fcoe/fcoe.h | 9 +
drivers/scsi/fcoe/fcoe_ctlr.c | 24 +++
drivers/scsi/fcoe/fcoe_sysfs.c | 139 ++++++++++++++++++
drivers/scsi/fcoe/fcoe_transport.c | 174 ++++-------------------
include/scsi/fcoe_sysfs.h | 5 +
include/scsi/libfcoe.h | 20 ++-
9 files changed, 445 insertions(+), 304 deletions(-)
--
Thanks, //Rob
_______________________________________________
devel mailing list
[email protected]
https://lists.open-fcoe.org/mailman/listinfo/devel