[iscsi] Send any padding inline with the data segment

Some iSCSI targets respond to a PDU before receiving the padding
bytes.  If the target responds quickly enough, this can cause iPXE to
start processing a new TX PDU before the padding bytes have been sent,
which results in a protocol violation.

Fix by always transmitting the padding bytes along with the data
segment.

Originally-fixed-by: Shyam Iyer <shyam_iyer@dell.com>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown
2012-03-01 16:26:38 +00:00
parent cb10137e19
commit 1d293776ea
2 changed files with 9 additions and 30 deletions

View File

@@ -515,8 +515,6 @@ enum iscsi_tx_state {
ISCSI_TX_AHS,
/** Sending the data segment */
ISCSI_TX_DATA,
/** Sending the data segment padding */
ISCSI_TX_DATA_PADDING,
};
/** State of an iSCSI RX engine */