linux/drivers/scsi/libfc
Kiran Patil e3e65c69c3 [SCSI] libfc:Fix for exchange/seq loopup failure when FCoE stack is used as target and connected to windows initaitor
Problem: Linux based SW target (TCM) connected to windows initiator
was unable to satisfy write request of size > 2K.

Fix: Existing linux implememtation of FCoE stack is expecting sequence
number to match w.r.t incoming framme. When DDP is used on target in
response to write request from initiator, SW stack is notified only
when last data frame arrives and only the pakcket header of last data
frame is posted to NetRx queue of storage. When that last packet was
processed in libfc:Exchange layer, implementation was expecting
sequence number to match, but in this case sequence number which is
embedded in FC Header is assigned by windows initaitor, hence due to
sequence number mismatch post-processing which shall result into
sending RSP is not done. Enhanced the code to utilize the sequence
number of incoming last frame and process the packet so that, it will
eventually complete the write request by sending write response (RSP)
GOOD.

Notes/Dependencies: This patch is validated using windows and linux
initiator to make sure, it doesn't break anything.

Signed-off-by: Kiran Patil <kiran.patil@intel.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2011-06-29 16:30:17 -05:00
..
Makefile [SCSI] libfc: add some generic NPIV support routines to libfc 2009-12-04 12:00:56 -06:00
fc_disc.c [SCSI] libfc: fix mm leak in handling incoming request for target discovery 2011-05-24 12:36:41 -04:00
fc_elsct.c [SCSI] libfc: add fc_fill_reply_hdr() and fc_fill_hdr() 2010-07-28 09:06:00 -05:00
fc_exch.c [SCSI] libfc:Fix for exchange/seq loopup failure when FCoE stack is used as target and connected to windows initaitor 2011-06-29 16:30:17 -05:00
fc_fcp.c [SCSI] libfc: do not immediately retry the cmd when seq_send fails in fc_fcp_send_data 2011-05-24 12:37:25 -04:00
fc_frame.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
fc_libfc.c [SCSI] libfc: Extending lport's roles for target if there is a registered target. 2011-02-12 11:08:22 -06:00
fc_libfc.h [SCSI] libfc: release DDP context if frame_send() fails 2011-05-24 12:36:51 -04:00
fc_lport.c [SCSI] libfc: remove duplicate ema_list init 2011-05-01 10:20:52 -05:00
fc_npiv.c [SCSI] fcoe, libfc: initialize EM anchors list and then update npiv EMs 2011-02-28 18:31:53 -06:00
fc_rport.c [SCSI] libfc: Enhancement to RPORT state machine applicable only for VN2VN mode 2011-06-29 16:28:33 -05:00