Reputation: 1
I'm implementing iscsi target and can't understand how should multiple outstanding R2Ts work. For example, we have MaxOutstandingR2T negotiated to 10. But the overall data to send requires 20 R2Ts (counted by expected data transfer and MaxBurstLength for each R2T). How should behave target there? Should he send first 10 R2Ts, wait for initiator to send all related data-out sequence PDUs (wait for completion of all the 10 R2Ts, mean all sequences completed with F-bit), and then send another 10 R2Ts? Or should he send first 10 R2Ts, wait for any data-out sequence to complete, and immediately send 1 new R2T?
Visually what I mean:
1 case
Column A | Column B |
---|---|
r2t | |
r2t | |
... | |
r2t | |
data-out | |
data-out | |
... | |
data-out | |
r2t | |
r2t | |
... | |
r2t | |
data-out | |
data-out | |
... | |
data-out |
2 case:
Column A | Column B |
---|---|
r2t | |
r2t | |
... | |
r2t | |
data-out | |
data-out | |
... | |
data-out | |
r2t | |
data-out | |
r2t | |
data-out | |
r2t | |
data-out | |
r2t | |
... | ... |
I tried to find any info or examples in google, but nothing here.
Upvotes: 0
Views: 83