[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-devel] [bug #57452] CHECKSUM_ON_COPY leads to random bit error in
From: |
Victor Brzeski |
Subject: |
[lwip-devel] [bug #57452] CHECKSUM_ON_COPY leads to random bit error in TCP checksum |
Date: |
Fri, 10 Jan 2020 19:34:23 -0500 (EST) |
User-agent: |
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36 |
Follow-up Comment #2, bug #57452 (project lwip):
[comment #1 comment #1:]
> Have you tried TCP_CHECKSUM_ON_COPY_SANITY_CHECK? That should run
TCP_CHECKSUM_ON_COPY and traditional checksum in parallel and report errors at
the same time. If you put a breakpoint on the error-reporting lines or insert
code to dump state there, you might be able to debug what's wrong.
Yes I have,
I have even went as far as to write a sanity check for each call to my own
LWIP_CHKSUM (compared to algorithm 2), and LWIP_CHKSUM_COPY (compared to
algorithm 2, and memcmp).
I have done breakpoints, but the issue seems random. I did have a bug in my
netif driver which proved unrelated. There just seems to be a random bit
error, where the normal checksum routine doesn't have it, nor my own
LWIP_CHKSUM.
When using TCP_CHECKSUM_ON_COPY_SANITY_CHECK the checksum that was incorrect
is corrected in the packet itself, and not reported via Wireshark, but only
via the DEBUGF utility.
I have attached a capture, as well as a log. To find an example of the error,
ctrl+F for "tcp_output_segment: calculated checksum is FF56 instead of FF55"
Every single one of the checksum errors is off by 1. I will dedicate more time
to debugging in a week or two.
_______________________________________________________
Reply to this item at:
<https://savannah.nongnu.org/bugs/?57452>
_______________________________________________
Message sent via Savannah
https://savannah.nongnu.org/