[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [lwip-users] Checksum Incorrect caused by Concatenation
From: |
Kieran Mansley |
Subject: |
RE: [lwip-users] Checksum Incorrect caused by Concatenation |
Date: |
Tue, 17 Nov 2009 15:23:54 +0000 |
On Tue, 2009-11-17 at 10:01 +0100, Hervé GARAT : Audemat wrote:
> 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!!
The inet_chksum_pseudo function iterates over all the pbufs in the
chain, and checksums their contents individually, summing it all up for
the final checksum. This is why it looks at p->len for each pbuf, not
p->tot_len.
For example, if you have a chain of three pbufs, each with 100 byte of
data in, they will look like this:
pbuf1: tot_len = 300, len = 100, payload = data1, next = pbuf2
pbuf2: tot_len = 200, len = 100, payload = data2, next = pbuf3
pbuf3: tot_len = 100, len = 100, payload = data3, next = NULL
data1, data2, and data3 are all regions of length 100, so to checksum
the contents of each pbuf we look at the len of each pbuf, not the
tot_len of the chain.
Hope that helps,
Kieran
- [lwip-users] Checksum Incorrect caused by Concatenation, herve garat, 2009/11/16
- [lwip-users] Checksum Incorrect caused by Concatenation, Hervé GARAT : Audemat, 2009/11/17
- Re: [lwip-users] Checksum Incorrect caused by Concatenation, Simon Goldschmidt, 2009/11/17
- RE: [lwip-users] Checksum Incorrect caused by Concatenation, Hervé GARAT : Audemat, 2009/11/17
- Re: RE: [lwip-users] Checksum Incorrect caused by Concatenation, Simon Goldschmidt, 2009/11/17
- RE: [lwip-users] Checksum Incorrect caused by Concatenation, Hervé GARAT : Audemat, 2009/11/17
- RE: [lwip-users] Checksum Incorrect caused by Concatenation, Hervé GARAT : Audemat, 2009/11/17
- RE: [lwip-users] Checksum Incorrect caused by Concatenation, Kieran Mansley, 2009/11/17
- RE: [lwip-users] Checksum Incorrect caused by Concatenation,
Kieran Mansley <=
- RE: [lwip-users] Checksum Incorrect caused by Concatenation, Kieran Mansley, 2009/11/17
- RE: [lwip-users] Checksum Incorrect caused by Concatenation, Hervé GARAT : Audemat, 2009/11/17