[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-devel] [patch #7858] Patch for window scaling support for lwip-1.4
From: |
christian |
Subject: |
[lwip-devel] [patch #7858] Patch for window scaling support for lwip-1.4.0 |
Date: |
Fri, 07 Feb 2014 10:11:45 +0000 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.73.11 (KHTML, like Gecko) Version/7.0.1 Safari/537.73.11 |
Follow-up Comment #3, patch #7858 (project lwip):
Hi all:
After submitting the patch we discovered some problems when large windows are
supported with high bandwidth. In tcp_receive, the pcb->acked was updated and
truncated to 16 bits, limiting the effective window (and bandwidth). The
original code was:
/* Update the send buffer space. Diff between the two can never exceed 64K?
*/
pcb->acked = (u16_t)(ackno - pcb->lastack);
To achieve high bandwidths we needed to use 32 bits because this diff can
indeed be more than 64KB, and ended up with:
/* Update the send buffer space. Diff between the two can never exceed 64K?
*/
/* Yes, this might happen with high BW and Jumbo frames. We change the size of
the acked to 32bit. Otherwise, ACKs maybe lost*/
pcb->acked = (u32_t)(ackno - pcb->lastack);
with acked field of 32 bits.
Cheers.
_______________________________________________________
Reply to this item at:
<http://savannah.nongnu.org/patch/?7858>
_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/