Hi,
As to follow the thread about the RFC patch initially from Bhanu:

http://marc.info/?l=linux-scsi&m=129227626410508&w=2

Here is a set of patches that I cut out for the purpose of kind of proof of
concept thing to seek comments from the community about it this makes or not.
I understand this is the end of the year and I was hoping to get this out
earlier.

The idea was what I described in the above linked thread, we can add a thin
layer of fcoe transport to libfcoe and make existing fcoe.ko as the default
fcoe transport provider, so all vendor specific fcoe hba and plug in as their
own fcoe hba driver, at the same time, we can keep the common user space
interface in libfcoe module parameters for all related sysfs entry points to
continue use the Open-FCoE's fcoe-utils utility tools with full support to DCB
as well.

These patches are touch tested, I did some basic i/o using the converted
fcoe.ko, I was going to take Bhanu's last patch to show case the use of this
but did not get time to do it, but you get the idea. The match() function of
the fcoe_transport() will be vendor specific as it's the vendor driver's job
to check if it wants to support FCoE on the given netdev interface, which may
be by getting the pci device vendor and id info. from the associated pci dev
of that netdev object.

At this point, they are just RFCs, I expect there will be more changes needed
if we are moving forward towards this direction, e.g., I think many codes in
fcoe.c may also be used by any transport provider so can be moved into libfcoe
module as well, and some of the structures in "fcoe.h" may have to moved into 
the
include/scsi/libfcoe.h in case other vendor drivers want to make use of them.

Anyway, let me know what you think. 

Thanks,
yi
---

Yi Zou (8):
      fcoe: convert fcoe.ko to become an fcoe transport provider driver
      fcoe: prepare fcoe for using fcoe transport
      libfcoe: include libfcoe_transport.c into kernel libfcoe module
      libfcoe: remove libfcoe.c, use the same libfcoe_fip.c instead
      libfcoe: rename libfcoe.c to libfcoe_fip.c for the coming 
libfcoe_transport.c
      libfcoe: add implementation to support fcoe transport
      libfcoe: add fcoe_transport structure defines to include/scsi/libfcoe.h
      libfcoe: move logging macros into the local libfcoe.h header file


 drivers/scsi/fcoe/Makefile            |    2 
 drivers/scsi/fcoe/fcoe.c              |  193 +-
 drivers/scsi/fcoe/libfcoe.c           | 2708 ---------------------------------
 drivers/scsi/fcoe/libfcoe.h           |   31 
 drivers/scsi/fcoe/libfcoe_fip.c       | 2682 +++++++++++++++++++++++++++++++++
 drivers/scsi/fcoe/libfcoe_transport.c |  420 +++++
 include/scsi/libfcoe.h                |   37 
 7 files changed, 3243 insertions(+), 2830 deletions(-)
 delete mode 100644 drivers/scsi/fcoe/libfcoe.c
 create mode 100644 drivers/scsi/fcoe/libfcoe.h
 create mode 100644 drivers/scsi/fcoe/libfcoe_fip.c
 create mode 100644 drivers/scsi/fcoe/libfcoe_transport.c

-- 
Signature: Yi Zou <[email protected]>
_______________________________________________
devel mailing list
[email protected]
https://lists.open-fcoe.org/mailman/listinfo/devel

Reply via email to