[Open-FCoE] [RFC PATCH 0/6] adds dedicated exchange manger (EM) instance for offload xids

Vasu Dev vasu.dev at intel.com
Wed Apr 29 15:14:52 UTC 2009

This is required for sharing offload xid range across multiple
lport on a eth device on demand using unused exch_get interface
of the libfc, the first patch in the series describes more
details on this.

This series is using multiple EM first time by use of another
dedicated EM for offload xid which requires adding em_list per
lport, em uses count in em_user counter and walk of list of EM
in func fc_exch_mgr_reset to reset each EM instance of a lport.

Adding multiple EM uses required some more code in fcoe module
to identify EM for a incoming fcoe frame to pass them up to libfc
with their associated EM instance (offload or default lp-emp).

This patch series is based on fcoe-fixes + my three pending patches
in internal validation queue, pending patches are:-

 -- First two patches for improving fcoe pending queue handling,
    these are same as sent to list before for RFC.
 -- Third patch to Fix a framing error when using fcoe over VLAN,
    this is a tiny change so shouldn't prevent from applying
    this patch series to fcoe-fixes but if you need then I can
    send that out first as RFC before its validation done.

RFC to:
 1. have these patches reviewed before getting them queued for
    internal validation, so that I could send out real patches
    this week once their internal validation is done.
 2. make sure these are for right fcoe tree, this series is basically
    fixing an issue due to two xid range use within a EM of lport,
    so should be applicable to fcoe-fixes tree but if you think this
    should be queue for fcoe-features then let me know and I'll rediff
    these patches fcoe-features tree. In that case what will be the
    order with other pending or new features to avoid merging issues.

 So far I could finish basic testing on a single interface and currently
working on testing for :-
	 1. multiple interfaces over VLAN
	 2. modified EM reset code paths
	 3. verifying xid ranges uses for both offload enabled
            or disabled eth devices.

Vasu Dev (6):
      fcoe: adds exch_get function in fcoe to use offload em instance oemp
      libfc: allocates dedicated EM for offload xid range
      fcoe: adds fcoe_em_free
      libfc, fcoe: allows adding existing em instance to a lport
      libfc, fcoe: adds em_list towards having more than one EM instance for a lport
      libfc: removes code for reserving offload exch ids (xids) range

 drivers/scsi/fcoe/fcoe.c     |  200 ++++++++++++++++++++++++++++--------------
 drivers/scsi/fcoe/fcoe.h     |    1 
 drivers/scsi/libfc/fc_exch.c |  166 ++++++++++++++---------------------
 include/scsi/libfc.h         |   10 +-
 4 files changed, 210 insertions(+), 167 deletions(-)

Signature: vasu.dev at intel.com

More information about the devel mailing list