Skip to content

Open-FCoE Submission (round 2)

Robert Love linux-scsi 1 version In review

Get series with b4
b4 am 20081209231005.17830.92133.stgit@fritz

Versions newest first

  1. v1 Latest3 patches 12 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3FC protocol definition header filesinclude/scsi/fc/fc_els.h include/scsi/fc/fc_encaps.h include/scsi/fc/fc_fc2.h +5 more+1983 -00 replies
2/3libfc: A modular Fibre Channel librarydrivers/scsi/Kconfig drivers/scsi/Makefile drivers/scsi/libfc/Makefile +10 more+9508 -09 replies
3/3fcoe: Fibre Channel over Ethernetdrivers/scsi/Kconfig drivers/scsi/Makefile drivers/scsi/fcoe/Makefile +5 more+2696 -04 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/3] Open-FCoE Submission (round 2)

The following series adds the following code to the SCSI subsystem.

1) FC and FCoE protocol definitions in header files
- Files are added in include/scsi/fc/
- New files are: fc_els.h, fc_encaps.h, fc_fc2.h, fc_fcp.h, fc_fs.h, fc_gs.h and fc_ns.h

2) libfc - a FC assist library
- Composed of 5 sub-components: Exchange Manager, Local Port Remote Port, Discovery and SCSI-FCP
- Uses libfc_function_template for cross-layer calls
- Uses struct fc_lport as primary object shared by all sub-modules
- Common code defined in include/scsi/libfc.h

3) fcoe - a FCoE initiator implementation
- Simple encapsulation and unpacking layer
- Interacts with netdev
- Initial support for FCoE offload
- Uses /sys/module/fcoe/parameters/create and destroy for enabling/disabling FCoE connection over a particular Ethernet adapter
- Works on any Ethernet adapter

These patches apply to both the scsi-misc and scsi-rc-fixes trees.

I beleive that we've addressed each of Andi's comments. The largest being a security review where we mostly focused on input validation from the wire as well as removing BUG_ON and WARN_ON statements that could be initiated from an external entity. For a detailed list of recent activity please view our git log on Open-FCoE. Here is a link to our gitweb site:

http://www.open-fcoe.org/openfc/gitweb/?p=openfc/open-fcoe-initiator.git;a=summary

We did not break the patch-set down any further as it would not be bisect-able. Our libfc blocks are organized by file, so using splitdiff or diffsplit anyone should be able to break these patches down into smaller, more review friendly chunks.

Locking comments are mostly in comment blocks at the tops of some files. The largest comment block is in drivers/scsi/libfc/fc_lport.c and would be a good starting point when reviewing the locking.

---

Robert Love (3):
fcoe: Fibre Channel over Ethernet
libfc: A modular Fibre Channel library
FC protocol definition header files

 drivers/scsi/Kconfig                  |   13 
 drivers/scsi/Makefile                 |    2 
 drivers/scsi/fcoe/Makefile            |    8 
 drivers/scsi/fcoe/fc_transport_fcoe.c |  446 +++++++
 drivers/scsi/fcoe/fcoe_sw.c           |  494 ++++++++
 drivers/scsi/fcoe/libfcoe.c           | 1510 +++++++++++++++++++++++
 drivers/scsi/libfc/Makefile           |   12 
 drivers/scsi/libfc/fc_disc.c          |  845 +++++++++++++
 drivers/scsi/libfc/fc_elsct.c         |   71 +
 drivers/scsi/libfc/fc_exch.c          | 1970 +++++++++++++++++++++++++++++++
 drivers/scsi/libfc/fc_fcp.c           | 2130 +++++++++++++++++++++++++++++++++
 drivers/scsi/libfc/fc_frame.c         |   89 +
 drivers/scsi/libfc/fc_lport.c         | 1604 +++++++++++++++++++++++++
 drivers/scsi/libfc/fc_rport.c         | 1291 ++++++++++++++++++++
 include/scsi/fc/fc_els.h              |  816 +++++++++++++
 include/scsi/fc/fc_encaps.h           |  138 ++
 include/scsi/fc/fc_fc2.h              |  124 ++
 include/scsi/fc/fc_fcoe.h             |  114 ++
 include/scsi/fc/fc_fcp.h              |  199 +++
 include/scsi/fc/fc_fs.h               |  340 +++++
 include/scsi/fc/fc_gs.h               |   93 +
 include/scsi/fc/fc_ns.h               |  159 ++
 include/scsi/fc_encode.h              |  309 +++++
 include/scsi/fc_frame.h               |  242 ++++
 include/scsi/fc_transport_fcoe.h      |   54 +
 include/scsi/libfc.h                  |  938 +++++++++++++++
 include/scsi/libfcoe.h                |  176 +++
 27 files changed, 14187 insertions(+), 0 deletions(-)
 create mode 100644 drivers/scsi/fcoe/Makefile
 create mode 100644 drivers/scsi/fcoe/fc_transport_fcoe.c
 create mode 100644 drivers/scsi/fcoe/fcoe_sw.c
 create mode 100644 drivers/scsi/fcoe/libfcoe.c
 create mode 100644 drivers/scsi/libfc/Makefile
 create mode 100644 drivers/scsi/libfc/fc_disc.c
 create mode 100644 drivers/scsi/libfc/fc_elsct.c
 create mode 100644 drivers/scsi/libfc/fc_exch.c
 create mode 100644 drivers/scsi/libfc/fc_fcp.c
 create mode 100644 drivers/scsi/libfc/fc_frame.c
 create mode 100644 drivers/scsi/libfc/fc_lport.c
 create mode 100644 drivers/scsi/libfc/fc_rport.c
 create mode 100644 include/scsi/fc/fc_els.h
 create mode 100644 include/scsi/fc/fc_encaps.h
 create mode 100644 include/scsi/fc/fc_fc2.h
 create mode 100644 include/scsi/fc/fc_fcoe.h
 create mode 100644 include/scsi/fc/fc_fcp.h
 create mode 100644 include/scsi/fc/fc_fs.h
 create mode 100644 include/scsi/fc/fc_gs.h
 create mode 100644 include/scsi/fc/fc_ns.h
 create mode 100644 include/scsi/fc_encode.h
 create mode 100644 include/scsi/fc_frame.h
 create mode 100644 include/scsi/fc_transport_fcoe.h
 create mode 100644 include/scsi/libfc.h
 create mode 100644 include/scsi/libfcoe.h
Signature · 1 line
//Rob