lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-users] TCP Checksum = 0xFFFF


From: Simon Goldschmidt
Subject: Re: [lwip-users] TCP Checksum = 0xFFFF
Date: Wed, 14 May 2014 07:25:41 +0200

Bill Auerbach wrote:

From an empirical standpoint, lwIP is used in far too many places for there to be this significant of a bug.  I’d look for a compiler bug or some other issue.  I seriously doubt it’s a bug in lwIP.  Some of my company’s users run our systems 24/7 sending lots of data through lwIP and I’d hear about it really fast if there was this kind of a TCP lockup.


I'm flattered by your opinion but I fear this does not prevent lwIP from having bugs :-)

In this case, I think I fixed a bug in git master not too long ago (#36153), here is the change, maybe it fixes things for you:

@@ -658,6 +662,10 @@ tcp_write(struct tcp_pcb *pcb, const void *arg, u16_t len, u8_t apiflags)
last_unsent->len += concat_p->tot_len;
#if TCP_CHECKSUM_ON_COPY
if (concat_chksummed) {
+ /*if concat checksumm swapped - swap it back */
+ if (concat_chksum_swapped){
+ concat_chksum = SWAP_BYTES_IN_WORD(concat_chksum);
+ }
tcp_seg_add_chksum(concat_chksum, concat_chksummed, &last_unsent->chksum,
&last_unsent->chksum_swapped);
last_unsent->flags |= TF_SEG_DATA_CHECKSUMMED;


Simon

reply via email to

[Prev in Thread] Current Thread [Next in Thread]