On Tue, 2006-11-14 at 20:38 +0100, Andre Puschmann wrote:

> Its true that windows drops this packet because of a bad checksum, but

> after lwip retransmitted the packet (with the same checksum) it's ok for

> windows, that confuses me. I can't see any differences between those two

> packets.

There are differences in the payloads. Compare, for example, frames 227

and 247. (247 is a retransmission of 227). The end of the payload of

frame 227 (as displayed by ethereal) is:

04c0 dd e3 e0 e0 e0 e0 d2 d5 d2 d5 d4 d5 d3 d3 d2

d6 ........ ........

04d0 d5 d7 d5 d5 d6 d5 d8 d6 d4 d4 d9 d5 da d6 d6

d6 ........ ........

04e0 d6 d9 d7 d5 d6 db d7 d7 d6 d8 d6 d8 d8 db dc

d9 ........ ........

04f0 db d8 d8 d6 da dd db da d9 de dc de d8 da dc

da ........ ........

0500 dc db dc de dd df de db d9 db dc e2 dd dc dc

dc ........ ........

0510 de e0 e0 df de e0 e3 e0 e1 e0 e2 e0 e1 e2 e1

e0 ........ ........

0520 e3 e0 e1 e3 e0 dd e2 df e5 e1 e2 e0 e5 e1 e1

e4 ........ ........

0530 df e2 e0 e2 e2 e3 e2 e0 e6 e2 e5 e0 e0 e4 e1

e4 ........ ........

0540 df e2 df e2 e4 e1 e1 e3 df e0 df e3 e2 e0 e3

e1 ........ ........

0550 dd e4 df df e0 e2 e3 e4 e6 e1 e1 e4 e0 df e1

e1 ........ ........

0560 e1 de df e0 e3 e1 de e4 e2 e0 e1 dd df e2 e1

e0 ........ ........

0570 e3 e4 e2 de e0 e0 e1 de de e0 de df dd e0 e0

df ........ ........

0580 de e3 dc e0 de df df de dd dd df dd dc dd d9

db ........ ........

0590 da da da d9 da dd d9 df dc db d8 da d8 db dc

d7 ........ ........

05a0 dc d9 dc da da d9 db dc dd d8 d8 da d7 dc bc

00 ........ ........

05b0 05

a0 ..

The end of the payload of frame 247 (as displayed by ethereal) is:

04c0 dd e3 e0 e0 e0 e0 e1 e0 e1 e2 e2 e0 df e1 e1

e1 ........ ........

04d0 dd e4 e1 e0 e2 e0 e3 e1 df e3 e2 e4 df e2 e2

e0 ........ ........

04e0 e0 de df df e3 e0 e2 e0 e0 e0 df e3 e3 e1 e2

e4 ........ ........

04f0 e4 e1 e1 e2 e1 e1 e1 e1 e5 de dc e0 e2 e2 df

e1 ........ ........

0500 e2 e2 e1 de e0 e4 e1 e0 de de e2 df df e0 de

de ........ ........

0510 e0 e1 de db de e5 e1 e1 de dd de df dd de df

de ........ ........

0520 e5 dc df dd dd df dd db dc de dd de df dd de

dc ........ ........

0530 de df db de dc da dc da da da dc e0 da da d8

d8 ........ ........

0540 dc db dd de d5 d9 d7 d5 de d9 da d7 db da d6

d4 ........ ........

0550 da d7 dc d9 d5 d7 d9 d8 d8 d5 d5 d5 d7 d5 d6

d4 ........ ........

0560 d4 d3 d9 d2 d1 d5 d3 d5 d0 d4 d0 d5 d1 d3 d4

d2 ........ ........

0570 d3 d0 d5 d1 d1 d1 d1 d1 cf d1 cd cf d3 ce ce

ce ........ ........

0580 d0 cc cf cf ce ca ca ca ca ca c7 cd cd cd c8

c8 ........ ........

0590 c8 cb c8 c8 c8 ca cb c8 ca c9 c7 c6 c4 c5 c7

c2 ........ ........

05a0 c4 c5 c6 c8 c4 c5 c4 c3 c3 c6 c5 c1 c5 c4 bc

00 ........ ........

05b0 05 a0

There are lots of differences between these. However, as the checksum

is the same for them both, the two must have been the same when they

were checksummed, and the differences were introduced after that. For

example, when it is transferred from lwIP to your hardware.

Kieran

_______________________________________________

lwip-users mailing list

[hidden email]
http://lists.nongnu.org/mailman/listinfo/lwip-users