[Open-FCoE] [RFC PATCH 0/6] adds dedicated exchange manger (EM) instance for offload xids
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.
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