Deprecated fork of old network stack source from github. Please use official library instead: https://mbed.org/users/mbed_official/code/EthernetInterface/
Revision 1:eadc868c2acf, committed 2013-10-26
- Comitter:
- AdamGreen
- Date:
- Sat Oct 26 08:51:36 2013 +0000
- Parent:
- 0:3b00827bb0b7
- Commit message:
- Fix TCP checksum bug and stranded large TCP segments.
Changed in this revision
lwip-eth/arch/lpc_emac_config.h | Show annotated file Show diff for this revision Revisions of this file |
lwip/core/tcp_out.c | Show annotated file Show diff for this revision Revisions of this file |
diff -r 3b00827bb0b7 -r eadc868c2acf lwip-eth/arch/lpc_emac_config.h --- a/lwip-eth/arch/lpc_emac_config.h Sat Sep 07 21:38:42 2013 +0000 +++ b/lwip-eth/arch/lpc_emac_config.h Sat Oct 26 08:51:36 2013 +0000 @@ -86,7 +86,7 @@ /** \brief Defines the number of descriptors used for TX. Must * be a minimum value of 2. */ -#define LPC_NUM_BUFF_TXDESCS 3 +#define LPC_NUM_BUFF_TXDESCS (TCP_SND_QUEUELEN + 1) /** \brief Set this define to 1 to enable bounce buffers for transmit pbufs * that cannot be sent via the zero-copy method. Some chained pbufs
diff -r 3b00827bb0b7 -r eadc868c2acf lwip/core/tcp_out.c --- a/lwip/core/tcp_out.c Sat Sep 07 21:38:42 2013 +0000 +++ b/lwip/core/tcp_out.c Sat Oct 26 08:51:36 2013 +0000 @@ -646,6 +646,9 @@ last_unsent->len += concat_p->tot_len; #if TCP_CHECKSUM_ON_COPY if (concat_chksummed) { + 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;