[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [lwip-users] Checksum Incorrect caused by Concatenation
From: |
Hervé GARAT : Audemat |
Subject: |
RE: [lwip-users] Checksum Incorrect caused by Concatenation |
Date: |
Tue, 17 Nov 2009 10:01:51 +0100 |
Kieran said:
>No, that's wrong. p->len refers to the length of each individual pbuf.
>We've added another pbuf to the chain, but not changed the length of
>each pbuf. Because the chain is longer, we increment the length of
>p->tot_len, but not the length of p->len.
But in the inet_chksum_pseudo function,the len used to make checksum is p->len
and not p->tot_len. However the message sent is long as p->tot_len, therefore
the TCP checksum is Incorrect!!
All the other change that I made(queuelen-- ;pbuf_free(p->queuelen);...)are
made to have a valid checksum if LWIP do a concatenation.
What's the best way to solve my problem?