Bug situation: In my test, the APP established multiple connections through the TCP interface. When retransmission and address loopback occur, the retransmission data is abnormal.
Expected behavior: When retransmission and address wrapping occur at the same time, TCP should issue two read commands to DDR. The start address of the second read command should be {SESSION_ID,{WINDOW_BITS{1’b0}}.
Actual behavior: According to line 1489 of the txEngMemAccessBreakdown() module in _hls/toe/tx_engine/txengine.cpp, the start address for the second read command is incorrectly set to 0.
outputMemAccess.write(mmCmd(0, cmd.bbt - lengthFirstAccess));Possible modifications:
Bug situation: In my test, the APP established multiple connections through the TCP interface. When retransmission and address loopback occur, the retransmission data is abnormal. Expected behavior: When retransmission and address wrapping occur at the same time, TCP should issue two read commands to DDR. The start address of the second read command should be
{SESSION_ID,{WINDOW_BITS{1’b0}}
. Actual behavior: According to line 1489 of the txEngMemAccessBreakdown() module in _hls/toe/tx_engine/txengine.cpp, the start address for the second read command is incorrectly set to 0.outputMemAccess.write(mmCmd(0, cmd.bbt - lengthFirstAccess));
Possible modifications: