linux/drivers/infiniband/ulp/iser
David Disseldorp bba7ebba3b IB/iser: Avoid recv buffer exhaustion caused by unexpected PDUs
iSCSI/iSER targets may send PDUs without a prior request from the
initiator.  RFC 5046 refers to these PDUs as "unexpected".  NOP-In PDUs
with itt=RESERVED and Asynchronous Message PDUs occupy this category.

The amount of active "unexpected" PDU's an iSER target may have at any
time is governed by the MaxOutstandingUnexpectedPDUs key, which is not
yet supported.

Currently when an iSER target sends an "unexpected" PDU, the
initiators recv buffer consumed by the PDU is not replaced.  If over
initial_post_recv_bufs_num "unexpected" PDUs are received then the
receive queue will run out of receive work requests entirely.

This patch ensures recv buffers consumed by "unexpected" PDUs are
replaced in the next iser_post_receive_control() call.

Signed-off-by: David Disseldorp <ddiss@sgi.com>
Signed-off-by: Ken Sandars <ksandars@sgi.com>
Acked-by: Or Gerlitz <ogerlitz@voltaire.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
2008-12-21 13:56:50 -08:00
..
iscsi_iser.c [SCSI] libiscsi: rename host reset to target reset 2008-10-13 09:28:59 -04:00
iscsi_iser.h IB/iser: Avoid recv buffer exhaustion caused by unexpected PDUs 2008-12-21 13:56:50 -08:00
iser_initiator.c IB/iser: Avoid recv buffer exhaustion caused by unexpected PDUs 2008-12-21 13:56:50 -08:00
iser_memory.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2008-07-15 18:58:04 -07:00
iser_verbs.c IB/iser: Avoid recv buffer exhaustion caused by unexpected PDUs 2008-12-21 13:56:50 -08:00
Kconfig IB/iser: update URLs of iSER docs 2008-01-25 14:15:32 -08:00
Makefile IB/iser: iSER Kconfig and Makefile 2006-06-22 07:51:14 -07:00