#
b7bee87f |
|
12-Oct-2018 |
Simon Goldschmidt <goldsimon@gmx.de> |
Add a unit test for bug #54833 (tcp_abort with wrong ports) Signed-off-by: Simon Goldschmidt <goldsimon@gmx.de>
|
#
824ebbe0 |
|
19-Jun-2018 |
Simon Goldschmidt <goldsimon@gmx.de> |
tcp: fix RTO timer not working if link is down ... and added some test cases for this situation See bug #54139 Signed-off-by: Simon Goldschmidt <goldsimon@gmx.de>
|
#
a26a2e13 |
|
12-Jun-2018 |
Simon Goldschmidt <goldsimon@gmx.de> |
adapt unit tests to additional NULL checks
|
#
7b6d2870 |
|
11-Feb-2018 |
goldsimon <goldsimon@gmx.de> |
test: add a unit test for TCP_CHECKSUM_ON_COPY with retransmissions This triggers bug #50914 (TCP_CHECKSUM_ON_COPY when adding data to retransmission) when data is added to an already transmitted segment with an uneven length of tcp data.
|
#
50a5d85f |
|
14-Dec-2017 |
Joel Cunningham <joel.cunningham@me.com> |
tcp: handle segmentation oversize during segment split (bug #52676) This fixes a bug in tcp_split_unsent_seg where oversized segments were not handled during the split, leading to pcb->unsent_oversized and useg->oversize_left getting out of sync with the split segment This would result in over-writing the pbuf if another call to tcp_write() happened after the split, but before the remainder of the split was sent in tcp_output Now pcb->unsent_oversized is explicitly cleared (because the remainder at the tail is never oversized) and useg->oversized_left is cleared after it is trimmed This also updates the test_tcp_persist_split unit test to explicitly check for this case
|
#
926805bc |
|
17-Nov-2017 |
goldsimon <goldsimon@gmx.de> |
tcp unit test: fix some endless loops for TCP_WND == 0xFFFF
|
#
a8acca59 |
|
06-Nov-2017 |
Axel Lin <axel.lin@ingics.com> |
Trivial typo fix s/chekc/check/g Signed-off-by: Axel Lin <axel.lin@ingics.com>
|
#
de531131 |
|
07-Oct-2017 |
Joel Cunningham <joel.cunningham@me.com> |
Fix compiler warnings seen with clang 8.1.0 on MacOS This fixes the following warnings: test_tcp.c:266:5: error: code will never be executed [-Werror,-Wunreachable-code] pbuf_free(p); ^~~~~~~~~ - The check API 'fail' aborts the test, thus pbuf_free(p) will never be executed pbuf.c:783:111: error: format specifies type 'unsigned short' but the argument has type 'u8_t' (aka 'unsigned char') [-Werror,-Wformat] LWIP_DEBUGF( PBUF_DEBUG | LWIP_DBG_TRACE, ("pbuf_free: %p has ref %"U16_F", ending here.\n", (void *)p, ref)); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ - LWIP_PBUF_REF_T is u8_t by default and doesn't match U16_F, so cast to u16_t. The cast and formatter will need to be changed if ref is larger than 16 bits ethernet.c:105:16: error: format specifies type 'unsigned char' but the argument has type 'unsigned int' [-Werror,-Wformat] (unsigned)ethhdr->dest.addr[0], (unsigned)ethhdr->dest.addr[1], (unsigned)ethhdr->dest.addr[2], ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - addr[] is type u8_t, formatter is X8_F which should be 8 bits. 'unsigned' is an int, so cast to unsighed char instead
|
#
630c4a3d |
|
11-Sep-2017 |
goldsimon <goldsimon@gmx.de> |
try to fix building unit test on gcc/clang
|
#
cf651e7e |
|
05-Sep-2017 |
goldsimon <goldsimon@gmx.de> |
add test case that shows what's wrong for bug #51937 (Leaking tcp_pcbs on passive close with unacked data)
|
#
fca38fda |
|
05-Sep-2017 |
goldsimon <goldsimon@gmx.de> |
remove unnecessary lines from last added test case
|
#
8c040093 |
|
05-Sep-2017 |
goldsimon <goldsimon@gmx.de> |
add unit test case for passive open & (invalid) bug #51941
|
#
f582c883 |
|
03-Aug-2017 |
Joel Cunningham <joel.cunningham@me.com> |
tcp: persist timer re-work (bug #50837) This re-works the persist timer to have the following behavior: 1) Only start persist timer when a buffered segment doesn't fit within the current window and there is no in-fligh data. Previously, the persist timer was always started when the window went to zero even if there was no buffered data (since timer was managed in receive pathway rather than transmit pathway) 2) Upon first fire of persist timer, fill the remaining window if non-zero by splitting the unsent segment. If split segment is sent, persist timer is stopped, RTO timer is now ensuring reliable window updates 3) If window is already zero when persist timer fires, send 1 byte probe 4) Persist timer and zero window probe should only be active when the following are true: * no in-flight data (pcb->unacked == NULL) * when there is buffered data (pcb->unsent != NULL) * when pcb->unsent->len > pcb->snd_wnd
|
#
22ee3395 |
|
21-Aug-2017 |
goldsimon <goldsimon@gmx.de> |
TCP: added a unit test for trimming left side of rx segment
|
#
4cec2023 |
|
03-Aug-2017 |
goldsimon <goldsimon@gmx.de> |
Ensure that unit tests leave the stack in a clean state
|
#
c03fef9a |
|
03-May-2017 |
Joel Cunningham <joel.cunningham@me.com> |
bug #50837: add zero-window probe timeout This commit adds a timeout to the zero-window probing (persist timer) mechanism. LwIP has not historically had a timeout for the persist timer, leading to unbounded blocking if connection drops during the zero-window condition This commit also adds two units test, one to check the RTO timeout and a second to check the zero-window probe timeout
|
#
de90d03e |
|
12-Apr-2017 |
Joel Cunningham <joel.cunningham@me.com> |
tcp: task #14128 - Appropriate Byte Counting support This commit adds TCP Appropriate Byte Counting (ABC) support based on RFC 3465 ABC replaces the previous congestion window growth mechanism and has been configured with limit of 2 SMSS. See task #14128 for discussion on defaults, but the goal is to mitigate the performance impact of delayed ACKs on congestion window growth This commit also introduces a mechanism to track when the stack is undergoing a period following an RTO where data is being retransmitted. Lastly, this adds a unit test to verify RTO period tracking and some basic ABC cwnd checking
|
#
6fe66771 |
|
23-Mar-2017 |
Joel Cunningham <joel.cunningham@me.com> |
test_tcp: de-duplicate test IP addresses, netmask, and ports This creates a single version of test IP addresses, netmasks, and ports. All tests were using the same values, but duplicated in each test This also adds const to some functions so we can use a const version of addresses
|
#
648b2b6f |
|
23-Mar-2017 |
Joel Cunningham <joel.cunningham@me.com> |
test_tcp: remove unnecessary memsets test_tcp_init_netif() memsets both netif and txcounters, so no need to manually do it
|
#
34c9e302 |
|
23-Mar-2017 |
Joel Cunningham <joel.cunningham@me.com> |
test_tcp: de-duplicate seqno checking defines This commit moves common defines and senqo array so they can be re-used in mulptiple places for sequence number checking rather than duplicated Currently they are used in two places, but I'm anticipating needing them in future TCP unit tests
|
#
a42d1678 |
|
17-Mar-2017 |
goldsimon <goldsimon@gmx.de> |
tcp unit tests: don't break later tests relying on loopif
|
#
8bf402fd |
|
09-Mar-2017 |
Joel Cunningham <joel.cunningham@me.com> |
Fix unit test with assumed congestion avoidance test_tcp_fast_rexmit_wraparound correctness relied on the congestion window being in congestion avoidance so that only a single TCP_MSS segment is sent upon ACKing the first segment. It's not known whether the test was relying tcp_alloc() to set ssthresh to 0 and thus start in congestion avoidance or if the test was working by accident until changes in b90a54f989d0edafa36b29bb0c346d1b30e1bf8f This fixes the test by enforcing the requirement of starting in congestion avoidance Signed-off-by: goldsimon <goldsimon@gmx.de>
|
#
e9e9ec23 |
|
09-Mar-2017 |
goldsimon <goldsimon@gmx.de> |
tcp unit tests: fixed that tcp_teardown() could lead to accessing a netif pointer that is not valid any more (netif added in test function stored on stack)
|
#
1884c7e8 |
|
31-Dec-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Fix TCP unit tests after changes from "Add hook for TCP Initial Sequence Number generation" commit (pcb->lastack and friends are not initialized during allocation any more, but by connect() / bind() call)
|
#
7f319f5e |
|
18-Dec-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Fix compile of test_tcp.c unit test after introduction of tcp_next_iss hook
|
#
6af21378 |
|
07-Aug-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Fix clang address sanitizer errors in unit tests (buffers too small)
|
#
288fc8ed |
|
08-Jul-2016 |
goldsimon <goldsimon@gmx.de> |
fixed unit tests after changing memp stats
|
#
8dc77ef5 |
|
22-Jun-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
doxygen updates - include IPv6 in documentation. Exclude include/netif/ppp/polarssl. Convert TODO -> @todo
|
#
b9a2ee8a |
|
13-Jun-2016 |
Henrik Persson <henrik.persson@verisure.com> |
[PATCH] Drop instead of ASSERT in tcp_input header parsing Since allowing input validation to trip the ASSERT handler is bad, let's just drop the packets instead if validation fails. Signed-off-by: sg <goldsimon@gmx.de>
|
#
37bb0b89 |
|
10-Oct-2015 |
Sylvain Rochet <gradator@gradator.net> |
all: trivial include changes related to the new "lwip/priv/" include directory
|
#
cf180b65 |
|
10-Apr-2015 |
goldsimon <goldsimon@gmx.de> |
fixed unit tests after changing ip_addr_t
|
#
a80c4d14 |
|
12-Feb-2014 |
Simon Goldschmidt <goldsimon@gmx.de> |
Unit test patch by Erik Ekman: use macro to store correct testcase name
|
#
5db6bb02 |
|
25-Mar-2012 |
goldsimon <goldsimon@gmx.de> |
TCP unit tests: fix that ip.rterr stats are increased (some unit tests had no netif set)
|
#
86766f4e |
|
22-Feb-2012 |
goldsimon <goldsimon@gmx.de> |
Minor: cosmetic source code layout changes
|
#
0333e816 |
|
13-Oct-2011 |
Simon Goldschmidt <goldsimon@gmx.de> |
fixed bug #34517 (persist timer is started although no zero window is received) by starting the persist timer when a zero window is received, not when we have more data queued for sending than fits into the window
|
#
ab51f3be |
|
11-Oct-2011 |
Simon Goldschmidt <goldsimon@gmx.de> |
added unit test cases for seqno wraparound on fast-rexmit and rto-rexmit (unsent/unacked lists must be correctly sorted)
|
#
ce98df59 |
|
10-Oct-2011 |
Simon Goldschmidt <goldsimon@gmx.de> |
Added unit test case for persist timer / zero window probes
|
#
bcfe3dac |
|
26-Sep-2011 |
Simon Goldschmidt <goldsimon@gmx.de> |
fixed unit tests (one TCP test failed, removed comma at the end of array initializers)
|
#
33a587d9 |
|
14-May-2011 |
goldsimon <goldsimon> |
Added a test for fast-rexmit
|
#
791505ab |
|
30-Mar-2011 |
goldsimon <goldsimon> |
Fixed tcp unit tests after introducing ip_addr_p_t and letting tcp_input check for broadcasts by using current_iphdr_dest.
|
#
bcd4b76d |
|
21-Feb-2010 |
goldsimon <goldsimon> |
Moved stack-internal parts of tcp.h to tcp_impl.h, tcp.h now only contains the actual application programmer's API
|
#
3f8e6c42 |
|
09-Feb-2010 |
goldsimon <goldsimon> |
Fixed unit tests after changing struct ip_addr to ip_addr_t
|
#
902ad897 |
|
27-Nov-2009 |
goldsimon <goldsimon> |
Initial check-in of some unit tests
|