From 9d86d82d5948a9e016ed3af2073243f125279686 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Mon, 11 Jul 2016 13:15:37 +0300 Subject: [PATCH 1/4] Add multicast TTL to UDP and rework UdpContext --- .../ESP8266WiFi/src/include/UdpContext.h | 29 +++----------- tools/sdk/lwip/include/lwip/udp.h | 39 ++++++++++++------- tools/sdk/lwip/src/core/udp.c | 24 +++++++++--- 3 files changed, 48 insertions(+), 44 deletions(-) diff --git a/libraries/ESP8266WiFi/src/include/UdpContext.h b/libraries/ESP8266WiFi/src/include/UdpContext.h index c367492cd1..e302094004 100644 --- a/libraries/ESP8266WiFi/src/include/UdpContext.h +++ b/libraries/ESP8266WiFi/src/include/UdpContext.h @@ -44,11 +44,8 @@ class UdpContext , _tx_buf_head(0) , _tx_buf_cur(0) , _tx_buf_offset(0) - , _multicast_ttl(1) - , _dest_port(0) { _pcb = udp_new(); - _dest_addr.addr = 0; } ~UdpContext() @@ -87,8 +84,8 @@ class UdpContext bool connect(ip_addr_t addr, uint16_t port) { - _dest_addr = addr; - _dest_port = port; + ip_addr_copy(_pcb->remote_ip, addr); + _pcb->remote_port = port; return true; } @@ -106,17 +103,12 @@ class UdpContext void setMulticastInterface(ip_addr_t addr) { - // newer versions of lwip have a macro to set the multicast ip - // udp_set_multicast_netif_addr(_pcb, addr); - _pcb->multicast_ip = addr; + udp_set_multicast_netif_addr(_pcb, addr); } void setMulticastTTL(int ttl) { - // newer versions of lwip have an additional field (mcast_ttl) for this purpose - // and a macro to set it instead of direct field access - // udp_set_multicast_ttl(_pcb, ttl); - _multicast_ttl = ttl; + udp_set_multicast_ttl(_pcb, ttl); } // warning: handler is called from tcp stack context @@ -275,20 +267,14 @@ class UdpContext if (!addr) { - addr = &_dest_addr; - port = _dest_port; - } - - uint16_t old_ttl = _pcb->ttl; - if (ip_addr_ismulticast(addr)) { - _pcb->ttl = _multicast_ttl; + addr = &_pcb->remote_ip; + port = _pcb->remote_port; } err_t err = udp_sendto(_pcb, tx_copy, addr, port); if (err != ERR_OK) { DEBUGV(":ust rc=%d\r\n", err); } - _pcb->ttl = old_ttl; pbuf_free(tx_copy); return err == ERR_OK; } @@ -365,9 +351,6 @@ class UdpContext pbuf* _tx_buf_head; pbuf* _tx_buf_cur; size_t _tx_buf_offset; - uint16_t _multicast_ttl; - uint16_t _dest_port; - ip_addr_t _dest_addr; rxhandler_t _on_rx; }; diff --git a/tools/sdk/lwip/include/lwip/udp.h b/tools/sdk/lwip/include/lwip/udp.h index cb53d33e70..d14f903b46 100644 --- a/tools/sdk/lwip/include/lwip/udp.h +++ b/tools/sdk/lwip/include/lwip/udp.h @@ -1,8 +1,8 @@ /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, @@ -11,21 +11,21 @@ * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. + * derived from this software without specific prior written permission. * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT - * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING - * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY * OF SUCH DAMAGE. * * This file is part of the lwIP TCP/IP stack. - * + * * Author: Adam Dunkels * */ @@ -103,6 +103,8 @@ struct udp_pcb { #if LWIP_IGMP /** outgoing network interface for multicast packets */ ip_addr_t multicast_ip; + /** TTL for outgoing multicast packets */ + u8_t mcast_ttl; #endif /* LWIP_IGMP */ #if LWIP_UDPLITE @@ -113,7 +115,7 @@ struct udp_pcb { /** receive callback function */ udp_recv_fn recv; /** user-supplied argument for the recv callback */ - void *recv_arg; + void *recv_arg; }; /* udp_pcbs export for exernal reference (e.g. SNMP agent) */ extern struct udp_pcb *udp_pcbs; @@ -156,6 +158,13 @@ void udp_input (struct pbuf *p, struct netif *inp)ICACHE_FLASH_ #define udp_init() /* Compatibility define, not init needed. */ +#if LWIP_IGMP +#define udp_set_multicast_netif_addr(pcb, ipaddr) ip_addr_copy((pcb)->multicast_ip, (ipaddr)) +#define udp_get_multicast_netif_addr(pcb) ((pcb)->multicast_ip) +#define udp_set_multicast_ttl(pcb, value) do { (pcb)->mcast_ttl = value; } while(0) +#define udp_get_multicast_ttl(pcb) ((pcb)->mcast_ttl) +#endif + #if UDP_DEBUG void udp_debug_print(struct udp_hdr *udphdr)ICACHE_FLASH_ATTR; #else diff --git a/tools/sdk/lwip/src/core/udp.c b/tools/sdk/lwip/src/core/udp.c index db12c48e93..42539d6d77 100644 --- a/tools/sdk/lwip/src/core/udp.c +++ b/tools/sdk/lwip/src/core/udp.c @@ -144,7 +144,7 @@ udp_input(struct pbuf *p, struct netif *inp) /* all packets for DHCP_CLIENT_PORT not coming from DHCP_SERVER_PORT are dropped! */ if (src == DHCP_SERVER_PORT) { if ((inp->dhcp != NULL) && (inp->dhcp->pcb != NULL)) { - /* accept the packe if + /* accept the packe if (- broadcast or directed to us) -> DHCP is link-layer-addressed, local ip is always ANY! - inp->dhcp->pcb->remote == ANY or iphdr->src */ if ((ip_addr_isany(&inp->dhcp->pcb->remote_ip) || @@ -196,7 +196,7 @@ udp_input(struct pbuf *p, struct netif *inp) (broadcast))) { #endif /* IP_SOF_BROADCAST_RECV */ local_match = 1; - if ((uncon_pcb == NULL) && + if ((uncon_pcb == NULL) && ((pcb->flags & UDP_FLAGS_CONNECTED) == 0)) { /* the first unconnected matching PCB */ uncon_pcb = pcb; @@ -422,7 +422,7 @@ udp_send_chksum(struct udp_pcb *pcb, struct pbuf *p, * * If the PCB already has a remote address association, it will * be restored after the data is sent. - * + * * @return lwIP error code (@see udp_send for possible error codes) * * @see udp_disconnect() udp_send() @@ -504,6 +504,7 @@ udp_sendto_if_chksum(struct udp_pcb *pcb, struct pbuf *p, ip_addr_t *dst_ip, ip_addr_t *src_ip; err_t err; struct pbuf *q; /* q will be sent down the stack */ + u8_t ttl; #if IP_SOF_BROADCAST /* broadcast filter? */ @@ -553,11 +554,11 @@ udp_sendto_if_chksum(struct udp_pcb *pcb, struct pbuf *p, ip_addr_t *dst_ip, udphdr->src = htons(pcb->local_port); udphdr->dest = htons(dst_port); /* in UDP, 0 checksum means 'no checksum' */ - udphdr->chksum = 0x0000; + udphdr->chksum = 0x0000; /* Multicast Loop? */ #if LWIP_IGMP - if (ip_addr_ismulticast(dst_ip) && ((pcb->flags & UDP_FLAGS_MULTICAST_LOOP) != 0)) { + if (((pcb->flags & UDP_FLAGS_MULTICAST_LOOP) != 0) && ip_addr_ismulticast(dst_ip)) { q->flags |= PBUF_FLAG_MCASTLOOP; } #endif /* LWIP_IGMP */ @@ -665,13 +666,21 @@ udp_sendto_if_chksum(struct udp_pcb *pcb, struct pbuf *p, ip_addr_t *dst_ip, udphdr->chksum = udpchksum; } #endif /* CHECKSUM_GEN_UDP */ + + /* Determine TTL to use */ +#if LWIP_IGMP + ttl = (ip_addr_ismulticast(dst_ip) ? pcb->mcast_ttl : pcb->ttl); +#else /* LWIP_IGMP */ + ttl = pcb->ttl; +#endif /* LWIP_IGMP */ + LWIP_DEBUGF(UDP_DEBUG, ("udp_send: UDP checksum 0x%04"X16_F"\n", udphdr->chksum)); LWIP_DEBUGF(UDP_DEBUG, ("udp_send: ip_output_if (,,,,IP_PROTO_UDP,)\n")); /* output to IP */ #if LWIP_NETIF_HWADDRHINT netif->addr_hint = &(pcb->addr_hint); #endif /* LWIP_NETIF_HWADDRHINT*/ - err = ip_output_if(q, src_ip, dst_ip, pcb->ttl, pcb->tos, IP_PROTO_UDP, netif); + err = ip_output_if(q, src_ip, dst_ip, ttl, pcb->tos, IP_PROTO_UDP, netif); #if LWIP_NETIF_HWADDRHINT netif->addr_hint = NULL; #endif /* LWIP_NETIF_HWADDRHINT*/ @@ -950,6 +959,9 @@ udp_new(void) /* initialize PCB to all zeroes */ os_memset(pcb, 0, sizeof(struct udp_pcb)); pcb->ttl = UDP_TTL; +#if LWIP_IGMP + pcb->mcast_ttl = UDP_TTL; +#endif } return pcb; } From 1b5005e3b218ebf3e148db560c1ae1f99b835101 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Mon, 11 Jul 2016 14:31:16 +0300 Subject: [PATCH 2/4] Add limit for TCP TIME_WAIT pcbs --- tools/sdk/lwip/include/lwip/tcp_impl.h | 54 +++++--- tools/sdk/lwip/include/lwipopts.h | 70 ++++++----- tools/sdk/lwip/src/core/tcp.c | 166 +++++++++++++------------ tools/sdk/lwip/src/core/tcp_in.c | 123 +++++++++--------- 4 files changed, 226 insertions(+), 187 deletions(-) diff --git a/tools/sdk/lwip/include/lwip/tcp_impl.h b/tools/sdk/lwip/include/lwip/tcp_impl.h index 24ca8bb958..f6778700af 100644 --- a/tools/sdk/lwip/include/lwip/tcp_impl.h +++ b/tools/sdk/lwip/include/lwip/tcp_impl.h @@ -1,8 +1,8 @@ /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, @@ -11,21 +11,21 @@ * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. + * derived from this software without specific prior written permission. * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT - * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING - * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY * OF SUCH DAMAGE. * * This file is part of the lwIP TCP/IP stack. - * + * * Author: Adam Dunkels * */ @@ -284,7 +284,7 @@ struct tcp_seg { u16_t oversize_left; /* Extra bytes available at the end of the last pbuf in unsent (used for asserting vs. tcp_pcb.unsent_oversized only) */ -#endif /* TCP_OVERSIZE_DBGCHECK */ +#endif /* TCP_OVERSIZE_DBGCHECK */ #if TCP_CHECKSUM_ON_COPY u16_t chksum; u8_t chksum_swapped; @@ -313,7 +313,7 @@ extern u32_t tcp_ticks; /* The TCP PCB lists. */ union tcp_listen_pcbs_t { /* List of all TCP PCBs in LISTEN state. */ - struct tcp_pcb_listen *listen_pcbs; + struct tcp_pcb_listen *listen_pcbs; struct tcp_pcb *pcbs; }; extern struct tcp_pcb *tcp_bound_pcbs; @@ -325,7 +325,7 @@ extern struct tcp_pcb *tcp_tw_pcbs; /* List of all TCP PCBs in TIME-WAIT. * extern struct tcp_pcb *tcp_tmp_pcb; /* Only used for temporary storage. */ -/* Axioms about the above lists: +/* Axioms about the above lists: 1) Every TCP PCB that is not CLOSED is in one of the lists. 2) A PCB is only in one of the lists. 3) All PCBs in the tcp_listen_pcbs list is in LISTEN state. @@ -396,6 +396,26 @@ extern struct tcp_pcb *tcp_tmp_pcb; /* Only used for temporary storage. */ #endif /* LWIP_DEBUG */ +#define TCP_TW_LIMIT(l) \ + do { \ + u32_t tcp_tmp_pcbs_count = 0; \ + tcp_tmp_pcb = tcp_tw_pcbs; \ + while(tcp_tmp_pcb != NULL) { \ + if(++tcp_tmp_pcbs_count == (l)) { \ + struct tcp_pcb *_tcp_tmp_pcb = tcp_tmp_pcb->next; \ + tcp_tmp_pcb->next = NULL; \ + tcp_tmp_pcb = _tcp_tmp_pcb; \ + while(tcp_tmp_pcb != NULL) { \ + _tcp_tmp_pcb = tcp_tmp_pcb; \ + tcp_pcb_purge(tcp_tmp_pcb); \ + tcp_tmp_pcb = tcp_tmp_pcb->next; \ + memp_free(MEMP_TCP_PCB, _tcp_tmp_pcb); \ + } \ + break; \ + } \ + tcp_tmp_pcb = tcp_tmp_pcb->next; \ + } \ + } while(0) /* Internal functions: */ struct tcp_pcb *tcp_pcb_copy(struct tcp_pcb *pcb)ICACHE_FLASH_ATTR; diff --git a/tools/sdk/lwip/include/lwipopts.h b/tools/sdk/lwip/include/lwipopts.h index c163ac625c..2081b3aea8 100644 --- a/tools/sdk/lwip/include/lwipopts.h +++ b/tools/sdk/lwip/include/lwipopts.h @@ -6,9 +6,9 @@ /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, @@ -17,21 +17,21 @@ * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. + * derived from this software without specific prior written permission. * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT - * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING - * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY * OF SUCH DAMAGE. * * This file is part of the lwIP TCP/IP stack. - * + * * Author: Adam Dunkels * */ @@ -56,7 +56,7 @@ #define SYS_LIGHTWEIGHT_PROT 0 #endif -/** +/** * NO_SYS==1: Provides VERY minimal functionality. Otherwise, * use lwIP facilities. */ @@ -179,8 +179,8 @@ /** * MEMP_USE_CUSTOM_POOLS==1: whether to include a user file lwippools.h * that defines additional pools beyond the "standard" ones required - * by lwIP. If you set this to 1, you must have lwippools.h in your - * inlude path somewhere. + * by lwIP. If you set this to 1, you must have lwippools.h in your + * inlude path somewhere. */ #ifndef MEMP_USE_CUSTOM_POOLS #define MEMP_USE_CUSTOM_POOLS 0 @@ -255,6 +255,14 @@ #define MEMP_NUM_TCP_PCB_LISTEN 2 #endif +/** + * MEMP_NUM_TCP_PCB_TIME_WAIT: the number of TCP pcbs in TIME_WAIT state. + * (requires the LWIP_TCP option, 0 = disabled) + */ +#ifndef MEMP_NUM_TCP_PCB_TIME_WAIT +#define MEMP_NUM_TCP_PCB_TIME_WAIT 5 +#endif + /** * MEMP_NUM_TCP_SEG: the number of simultaneously queued TCP segments. * (requires the LWIP_TCP option) @@ -328,7 +336,7 @@ /** * MEMP_NUM_TCPIP_MSG_API: the number of struct tcpip_msg, which are used - * for callback/timeout API communication. + * for callback/timeout API communication. * (only needed if you use tcpip.c) */ #ifndef MEMP_NUM_TCPIP_MSG_API @@ -337,7 +345,7 @@ /** * MEMP_NUM_TCPIP_MSG_INPKT: the number of struct tcpip_msg, which are used - * for incoming packets. + * for incoming packets. * (only needed if you use tcpip.c) */ #ifndef MEMP_NUM_TCPIP_MSG_INPKT @@ -402,7 +410,7 @@ #endif /** - * PBUF_POOL_SIZE: the number of buffers in the pbuf pool. + * PBUF_POOL_SIZE: the number of buffers in the pbuf pool. */ #ifndef PBUF_POOL_SIZE #define PBUF_POOL_SIZE 10 @@ -714,7 +722,7 @@ /** * SNMP_CONCURRENT_REQUESTS: Number of concurrent requests the module will - * allow. At least one request buffer is required. + * allow. At least one request buffer is required. */ #ifndef SNMP_CONCURRENT_REQUESTS #define SNMP_CONCURRENT_REQUESTS 0 @@ -729,7 +737,7 @@ #endif /** - * SNMP_PRIVATE_MIB: + * SNMP_PRIVATE_MIB: */ #ifndef SNMP_PRIVATE_MIB #define SNMP_PRIVATE_MIB 0 @@ -775,7 +783,7 @@ ---------------------------------- */ /** - * LWIP_IGMP==1: Turn on IGMP module. + * LWIP_IGMP==1: Turn on IGMP module. */ #ifndef LWIP_IGMP #define LWIP_IGMP 1 @@ -903,12 +911,12 @@ #endif /** - * TCP_WND: The size of a TCP window. This must be at least + * TCP_WND: The size of a TCP window. This must be at least * (2 * TCP_MSS) for things to work well */ #ifndef TCP_WND #define TCP_WND (*(volatile uint32*)0x600011F0) -#endif +#endif /** * TCP_MAXRTX: Maximum number of retransmissions of data segments. @@ -973,7 +981,7 @@ /** - * TCP_SND_BUF: TCP sender buffer space (bytes). + * TCP_SND_BUF: TCP sender buffer space (bytes). */ #ifndef TCP_SND_BUF #define TCP_SND_BUF 2 * TCP_MSS @@ -1064,7 +1072,7 @@ #ifndef LWIP_EVENT_API #define LWIP_EVENT_API 0 #define LWIP_CALLBACK_API 1 -#else +#else #define LWIP_EVENT_API 1 #define LWIP_CALLBACK_API 0 #endif @@ -1762,28 +1770,28 @@ #ifndef CHECKSUM_GEN_IP #define CHECKSUM_GEN_IP 1 #endif - + /** * CHECKSUM_GEN_UDP==1: Generate checksums in software for outgoing UDP packets. */ #ifndef CHECKSUM_GEN_UDP #define CHECKSUM_GEN_UDP 1 #endif - + /** * CHECKSUM_GEN_TCP==1: Generate checksums in software for outgoing TCP packets. */ #ifndef CHECKSUM_GEN_TCP #define CHECKSUM_GEN_TCP 1 #endif - + /** * CHECKSUM_CHECK_IP==1: Check checksums in software for incoming IP packets. */ #ifndef CHECKSUM_CHECK_IP #define CHECKSUM_CHECK_IP 1 #endif - + /** * CHECKSUM_CHECK_UDP==1: Check checksums in software for incoming UDP packets. */ diff --git a/tools/sdk/lwip/src/core/tcp.c b/tools/sdk/lwip/src/core/tcp.c index ee50cebd78..a3651c61d1 100644 --- a/tools/sdk/lwip/src/core/tcp.c +++ b/tools/sdk/lwip/src/core/tcp.c @@ -10,9 +10,9 @@ /* * Copyright (c) 2001-2004 Swedish Institute of Computer Science. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, @@ -21,21 +21,21 @@ * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. + * derived from this software without specific prior written permission. * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT - * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING - * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY * OF SUCH DAMAGE. * * This file is part of the lwIP TCP/IP stack. - * + * * Author: Adam Dunkels * */ @@ -61,17 +61,17 @@ static const char mem_debug_file[] ICACHE_RODATA_ATTR = __FILE__; #if TCP_DEBUG const char tcp_state_str_rodata[][12] ICACHE_RODATA_ATTR = { - "CLOSED", - "LISTEN", - "SYN_SENT", - "SYN_RCVD", - "ESTABLISHED", - "FIN_WAIT_1", - "FIN_WAIT_2", - "CLOSE_WAIT", - "CLOSING", - "LAST_ACK", - "TIME_WAIT" + "CLOSED", + "LISTEN", + "SYN_SENT", + "SYN_RCVD", + "ESTABLISHED", + "FIN_WAIT_1", + "FIN_WAIT_2", + "CLOSE_WAIT", + "CLOSING", + "LAST_ACK", + "TIME_WAIT" }; char tcp_state_str[12]; @@ -105,7 +105,7 @@ struct tcp_pcb ** const tcp_pcb_lists[] ICACHE_RODATA_ATTR = {&tcp_listen_pcbs.p /** Only used for temporary storage. */ struct tcp_pcb *tcp_tmp_pcb; -/** Timer counter to handle calling slow-timer from tcp_tmr() */ +/** Timer counter to handle calling slow-timer from tcp_tmr() */ static u8_t tcp_timer; static u16_t tcp_new_port(void);//����µ�tcp���ض˿� @@ -166,7 +166,9 @@ tcp_close_shutdown(struct tcp_pcb *pcb, u8_t rst_on_unacked_data) TCP_RMV(&tcp_active_pcbs, pcb); pcb->state = TIME_WAIT; TCP_REG(&tcp_tw_pcbs, pcb); - +#if MEMP_NUM_TCP_PCB_TIME_WAIT + TCP_TW_LIMIT(MEMP_NUM_TCP_PCB_TIME_WAIT); +#endif return ERR_OK; } } @@ -177,24 +179,24 @@ tcp_close_shutdown(struct tcp_pcb *pcb, u8_t rst_on_unacked_data) * however, it is in this state once allocated and as yet unused * and the user needs some way to free it should the need arise. * Calling tcp_close() with a pcb that has already been closed, (i.e. twice) - * or for a pcb that has been used and then entered the CLOSED state + * or for a pcb that has been used and then entered the CLOSED state * is erroneous, but this should never happen as the pcb has in those cases * been freed, and so any remaining handles are bogus. */ - /*��CLOSED״̬�¹ر�һ��pcb�ƺ��Ǵ���ģ� - *������ˣ�һ�������״̬�·����˶��һ�û��ʹ��,�û���ҪһЩ�취���ͷ��� - *����һ���Ѿ����رյ�pcb��tcp_close(),(��2��)����һ���Ѿ���ʹ����֮�󣬽���CLOSE״̬�Ǵ���� - *������Щ����±��ͷŵ�pcb�Dz�����ڵ�,��ˣ��κ�ʣ��ľ���Ǽٵ� - */ - err = ERR_OK;//�趨����ֵ + /*��CLOSED״̬�¹ر�һ��pcb�ƺ��Ǵ���ģ� + *������ˣ�һ�������״̬�·����˶��һ�û��ʹ��,�û���ҪһЩ�취���ͷ��� + *����һ���Ѿ����رյ�pcb��tcp_close(),(��2��)����һ���Ѿ���ʹ����֮�󣬽���CLOSE״̬�Ǵ���� + *������Щ����±��ͷŵ�pcb�Dz�����ڵ�,��ˣ��κ�ʣ��ľ���Ǽٵ� + */ + err = ERR_OK;//�趨����ֵ if (pcb->local_port != 0) { - TCP_RMV(&tcp_bound_pcbs, pcb); + TCP_RMV(&tcp_bound_pcbs, pcb); } memp_free(MEMP_TCP_PCB, pcb);//��MEMP_TCP_PCB�ڴ���趨�ͷŵ���pcb��Ӧ�ĵ�Ԫֵ,�ͷ��ڴ� pcb = NULL; break; case LISTEN: err = ERR_OK; - tcp_pcb_remove(&tcp_listen_pcbs.pcbs, pcb);//�Ӽ����PCB�б���ɾ���Ӧ��pcb + tcp_pcb_remove(&tcp_listen_pcbs.pcbs, pcb);//�Ӽ����PCB�б���ɾ���Ӧ��pcb memp_free(MEMP_TCP_PCB_LISTEN, pcb);//��MEMP_TCP_PCB_LISTEN�ڴ�����趨�ͷŵ�pcb��Ԫֵ ,�ͷ��ڴ� pcb = NULL; break; @@ -261,14 +263,14 @@ tcp_close_shutdown(struct tcp_pcb *pcb, u8_t rst_on_unacked_data) * @return ERR_OK if connection has been closed * another err_t if closing failed and pcb is not freed */ - /* - *ͨ��PCB�ر��������� - *�����е�pcbӦ�ñ��ͷŵģ�Ҳ����ԶҲ���ᱻʹ���� - *���û�����ӻ�����Ҳû�б�����,���ӵ�pcbӦ�ñ��ͷŵ� - *���һ�����ӱ�����(����SYN�Ѿ������ջ�����һ���ر��е�״̬) - *���ӱ��ر��ˣ�����������һ�����ڹرյ�״̬ - *pcb�Զ���tcp_slowtmr()�ͷ�,�����������Dz���ȫ�� - */ + /* + *ͨ��PCB�ر��������� + *�����е�pcbӦ�ñ��ͷŵģ�Ҳ����ԶҲ���ᱻʹ���� + *���û�����ӻ�����Ҳû�б�����,���ӵ�pcbӦ�ñ��ͷŵ� + *���һ�����ӱ�����(����SYN�Ѿ������ջ�����һ���ر��е�״̬) + *���ӱ��ر��ˣ�����������һ�����ڹرյ�״̬ + *pcb�Զ���tcp_slowtmr()�ͷ�,�����������Dz���ȫ�� + */ err_t tcp_close(struct tcp_pcb *pcb) { @@ -341,7 +343,7 @@ tcp_abandon(struct tcp_pcb *pcb, int reset) u32_t seqno, ackno; u16_t remote_port, local_port; ip_addr_t remote_ip, local_ip; -#if LWIP_CALLBACK_API +#if LWIP_CALLBACK_API tcp_err_fn errf; #endif /* LWIP_CALLBACK_API */ void *errf_arg; @@ -373,7 +375,7 @@ tcp_abandon(struct tcp_pcb *pcb, int reset) if (pcb->unsent != NULL) { tcp_segs_free(pcb->unsent); } -#if TCP_QUEUE_OOSEQ +#if TCP_QUEUE_OOSEQ if (pcb->ooseq != NULL) { tcp_segs_free(pcb->ooseq); } @@ -555,7 +557,7 @@ tcp_listen_with_backlog(struct tcp_pcb *pcb, u8_t backlog) return (struct tcp_pcb *)lpcb; } -/** +/** * Update the state that tracks the available window space to advertise. * * Returns how much extra window would be advertised if we sent an @@ -636,7 +638,7 @@ tcp_new_port(void) #define TCP_LOCAL_PORT_RANGE_END 0x7fff #endif static u16_t port = TCP_LOCAL_PORT_RANGE_START; - + again: // if (++port >= TCP_LOCAL_PORT_RANGE_END) { // port = TCP_LOCAL_PORT_RANGE_START; @@ -646,7 +648,7 @@ tcp_new_port(void) if (port < TCP_LOCAL_PORT_RANGE_START) port += TCP_LOCAL_PORT_RANGE_START; /* Check all PCB lists. */ - for (i = 0; i < NUM_TCP_PCB_LISTS; i++) { + for (i = 0; i < NUM_TCP_PCB_LISTS; i++) { for(pcb = *tcp_pcb_lists[i]; pcb != NULL; pcb = pcb->next) { if (pcb->local_port == port) { goto again; @@ -743,7 +745,7 @@ tcp_connect(struct tcp_pcb *pcb, ip_addr_t *ipaddr, u16_t port, pcb->ssthresh = pcb->mss * 10; #if LWIP_CALLBACK_API pcb->connected = connected;//ע��connected�ص����� -#else /* LWIP_CALLBACK_API */ +#else /* LWIP_CALLBACK_API */ LWIP_UNUSED_ARG(connected); #endif /* LWIP_CALLBACK_API */ @@ -849,7 +851,7 @@ tcp_slowtmr(void) LWIP_DEBUGF(TCP_CWND_DEBUG, ("tcp_slowtmr: cwnd %"U16_F " ssthresh %"U16_F"\n", pcb->cwnd, pcb->ssthresh)); - + /* The following needs to be called AFTER cwnd is set to one mss - STJ */ tcp_rexmit_rto(pcb); @@ -873,7 +875,7 @@ tcp_slowtmr(void) if((u32_t)(tcp_ticks - pcb->tmr) > (pcb->keep_idle + (pcb->keep_cnt*pcb->keep_intvl)) / TCP_SLOW_INTERVAL) -#else +#else if((u32_t)(tcp_ticks - pcb->tmr) > (pcb->keep_idle + TCP_MAXIDLE) / TCP_SLOW_INTERVAL) #endif /* LWIP_TCP_KEEPALIVE */ @@ -881,17 +883,17 @@ tcp_slowtmr(void) LWIP_DEBUGF(TCP_DEBUG, ("tcp_slowtmr: KEEPALIVE timeout. Aborting connection to %"U16_F".%"U16_F".%"U16_F".%"U16_F".\n", ip4_addr1_16(&pcb->remote_ip), ip4_addr2_16(&pcb->remote_ip), ip4_addr3_16(&pcb->remote_ip), ip4_addr4_16(&pcb->remote_ip))); - + ++pcb_remove; ++pcb_reset; } #if LWIP_TCP_KEEPALIVE - else if((u32_t)(tcp_ticks - pcb->tmr) > + else if((u32_t)(tcp_ticks - pcb->tmr) > (pcb->keep_idle + pcb->keep_cnt_sent * pcb->keep_intvl) / TCP_SLOW_INTERVAL) #else - else if((u32_t)(tcp_ticks - pcb->tmr) > - (pcb->keep_idle + pcb->keep_cnt_sent * TCP_KEEPINTVL_DEFAULT) + else if((u32_t)(tcp_ticks - pcb->tmr) > + (pcb->keep_idle + pcb->keep_cnt_sent * TCP_KEEPINTVL_DEFAULT) / TCP_SLOW_INTERVAL) #endif /* LWIP_TCP_KEEPALIVE */ { @@ -942,12 +944,12 @@ tcp_slowtmr(void) LWIP_ASSERT("tcp_slowtmr: first pcb == tcp_active_pcbs", tcp_active_pcbs == pcb); tcp_active_pcbs = pcb->next; } - + if (pcb_reset) { tcp_rst(pcb->snd_nxt, pcb->rcv_nxt, &pcb->local_ip, &pcb->remote_ip, pcb->local_port, pcb->remote_port); } - + TCP_EVENT_ERR(pcb->errf, pcb->callback_arg, ERR_ABRT); pcb2 = pcb; pcb = pcb->next; @@ -971,7 +973,7 @@ tcp_slowtmr(void) } } - + /* Steps through all of the TIME-WAIT PCBs. */ prev = NULL; pcb = tcp_tw_pcbs; @@ -983,7 +985,7 @@ tcp_slowtmr(void) if ((u32_t)(tcp_ticks - pcb->tmr) > 2 * TCP_MSL / TCP_SLOW_INTERVAL) { ++pcb_remove; } - + /* If the PCB should be removed, do it. */ @@ -1101,7 +1103,7 @@ tcp_setprio(struct tcp_pcb *pcb, u8_t prio) * * @param seg the old tcp_seg * @return a copy of seg - */ + */ struct tcp_seg * tcp_seg_copy(struct tcp_seg *seg) { @@ -1111,7 +1113,7 @@ tcp_seg_copy(struct tcp_seg *seg) if (cseg == NULL) { return NULL; } - SMEMCPY((u8_t *)cseg, (const u8_t *)seg, sizeof(struct tcp_seg)); + SMEMCPY((u8_t *)cseg, (const u8_t *)seg, sizeof(struct tcp_seg)); pbuf_ref(cseg->p); return cseg; } @@ -1150,7 +1152,7 @@ tcp_kill_prio(u8_t prio) mprio = TCP_PRIO_MAX; - + /* We kill the oldest active connection that has lower priority than prio. */ inactivity = 0; inactive = NULL; @@ -1207,7 +1209,7 @@ tcp_alloc(u8_t prio) { struct tcp_pcb *pcb; u32_t iss; - + pcb = (struct tcp_pcb *)memp_malloc(MEMP_TCP_PCB);//�����ڴ�ؿռ� if (pcb == NULL) { //os_printf("tcp_pcb memory is fail\n"); @@ -1253,18 +1255,18 @@ tcp_alloc(u8_t prio) pcb->snd_wl2 = iss; //��ʼ�����ʹ��ڸ����ֶ� pcb->snd_nxt = iss; pcb->lastack = iss; - pcb->snd_lbb = iss; + pcb->snd_lbb = iss; pcb->tmr = tcp_ticks; //��¼���ƿ鴴��ϵͳʱ�� pcb->polltmr = 0; //����������¼���ʱ�� #if LWIP_CALLBACK_API pcb->recv = tcp_recv_null; //ע�������ݵ�Ĭ���ϲ㺯�� -#endif /* LWIP_CALLBACK_API */ - +#endif /* LWIP_CALLBACK_API */ + /* Init KEEPALIVE timer */ pcb->keep_idle = TCP_KEEPIDLE_DEFAULT; - + #if LWIP_TCP_KEEPALIVE pcb->keep_intvl = TCP_KEEPINTVL_DEFAULT; pcb->keep_cnt = TCP_KEEPCNT_DEFAULT; @@ -1300,10 +1302,10 @@ tcp_new(void) * ���ֶν���Ϊ����ݸ�������� * @param pcb tcp_pcb to set the callback argument * @param arg void pointer argument to pass to callback functions - */ + */ void tcp_arg(struct tcp_pcb *pcb, void *arg) -{ +{ pcb->callback_arg = arg; } #if LWIP_CALLBACK_API @@ -1314,7 +1316,7 @@ tcp_arg(struct tcp_pcb *pcb, void *arg) *����ƿ��recv�ֶ�ע�ắ���յ����ʱ�ص� * @param pcb tcp_pcb to set the recv callback * @param recv callback function to call for this pcb when data is received - */ + */ void tcp_recv(struct tcp_pcb *pcb, tcp_recv_fn recv) { @@ -1327,7 +1329,7 @@ tcp_recv(struct tcp_pcb *pcb, tcp_recv_fn recv) *����ƿ�send �ֶ�ע�ắ����ݷ��ͳɹ���ص� * @param pcb tcp_pcb to set the sent callback * @param sent callback function to call for this pcb when data is successfully sent - */ + */ void tcp_sent(struct tcp_pcb *pcb, tcp_sent_fn sent) { @@ -1341,7 +1343,7 @@ tcp_sent(struct tcp_pcb *pcb, tcp_sent_fn sent) * @param pcb tcp_pcb to set the err callback * @param err callback function to call for this pcb when a fatal error * has occured on the connection - */ + */ void tcp_err(struct tcp_pcb *pcb, tcp_err_fn err) { @@ -1355,7 +1357,7 @@ tcp_err(struct tcp_pcb *pcb, tcp_err_fn err) * @param pcb tcp_pcb to set the accept callback * @param accept callback function to call for this pcb when LISTENing * connection has been connected to another host - */ + */ void tcp_accept(struct tcp_pcb *pcb, tcp_accept_fn accept) { @@ -1369,15 +1371,15 @@ tcp_accept(struct tcp_pcb *pcb, tcp_accept_fn accept) * from TCP. The interval is specified in terms of the TCP coarse * timer interval, which is called twice a second. *����ƿ��POLL�ֶ�ע�ắ��ú��������Ա����� - */ + */ void tcp_poll(struct tcp_pcb *pcb, tcp_poll_fn poll, u8_t interval) { #if LWIP_CALLBACK_API pcb->poll = poll; -#else /* LWIP_CALLBACK_API */ +#else /* LWIP_CALLBACK_API */ LWIP_UNUSED_ARG(poll); -#endif /* LWIP_CALLBACK_API */ +#endif /* LWIP_CALLBACK_API */ pcb->pollinterval = interval; } @@ -1461,7 +1463,7 @@ tcp_pcb_remove(struct tcp_pcb **pcblist, struct tcp_pcb *pcb) TCP_RMV(pcblist, pcb); tcp_pcb_purge(pcb); - + /* if there is an outstanding delayed ACKs, send it */ if (pcb->state != TIME_WAIT && pcb->state != LISTEN && @@ -1492,7 +1494,7 @@ u32_t tcp_next_iss(void) { static u32_t iss = 6510; - + again: iss += tcp_ticks; /* XXX */ if (iss == 0) @@ -1632,21 +1634,21 @@ tcp_debug_print_pcbs(void) pcb->local_port, pcb->remote_port, pcb->snd_nxt, pcb->rcv_nxt)); tcp_debug_print_state(pcb->state); - } + } LWIP_DEBUGF(TCP_DEBUG, ("Listen PCB states:\n")); for(pcb = (struct tcp_pcb *)tcp_listen_pcbs.pcbs; pcb != NULL; pcb = pcb->next) { LWIP_DEBUGF(TCP_DEBUG, ("Local port %"U16_F", foreign port %"U16_F" snd_nxt %"U32_F" rcv_nxt %"U32_F" ", pcb->local_port, pcb->remote_port, pcb->snd_nxt, pcb->rcv_nxt)); tcp_debug_print_state(pcb->state); - } + } LWIP_DEBUGF(TCP_DEBUG, ("TIME-WAIT PCB states:\n")); for(pcb = tcp_tw_pcbs; pcb != NULL; pcb = pcb->next) { LWIP_DEBUGF(TCP_DEBUG, ("Local port %"U16_F", foreign port %"U16_F" snd_nxt %"U32_F" rcv_nxt %"U32_F" ", pcb->local_port, pcb->remote_port, pcb->snd_nxt, pcb->rcv_nxt)); tcp_debug_print_state(pcb->state); - } + } } /** diff --git a/tools/sdk/lwip/src/core/tcp_in.c b/tools/sdk/lwip/src/core/tcp_in.c index be74a28aca..409559605b 100644 --- a/tools/sdk/lwip/src/core/tcp_in.c +++ b/tools/sdk/lwip/src/core/tcp_in.c @@ -6,7 +6,7 @@ * * These functions are generally called in the order (ip_input() ->) * tcp_input() -> * tcp_process() -> tcp_receive() (-> application). - * + * */ /* @@ -92,12 +92,12 @@ static err_t tcp_timewait_input(struct tcp_pcb *pcb)ICACHE_FLASH_ATTR; * @param p received TCP segment to process (p->payload pointing to the IP header) * @param inp network interface on which this segment was received */ - /** - * TCP��ʼ�����봦�?��֤��TCPͷ���������IP����� - - * @����p:������յ�TCP��(ָ��IPͷ�ĸ���) - * @����inp:���նε�����ӿ� - */ + /** + * TCP��ʼ�����봦�?��֤��TCPͷ���������IP����� + + * @����p:������յ�TCP��(ָ��IPͷ�ĸ���) + * @����inp:���նε�����ӿ� + */ void tcp_input(struct pbuf *p, struct netif *inp) { @@ -112,15 +112,15 @@ tcp_input(struct pbuf *p, struct netif *inp) PERF_START; - TCP_STATS_INC(tcp.recv); //״̬��1 + TCP_STATS_INC(tcp.recv); //״̬��1 snmp_inc_tcpinsegs(); //tcp����μ�1 iphdr = (struct ip_hdr *)p->payload;// pointer to the actual data in the buffer - /* - *��ͷ����(IHL)��4λ��IPЭ���ͷ�ij��ȣ�ָ��IPv4Э���ͷ���ȵ��ֽ������ٸ�32λ�� - *����IPv4�İ�ͷ���ܰ�ɱ������Ŀ�ѡ ���������ֶο�������ȷ��IPv4��ݱ�����ݲ��ֵ�ƫ������ - *IPv4��ͷ����С������20���ֽڣ����IHL����ֶε���Сֵ��ʮ���Ʊ�ʾ����5 (5x4 = 20�ֽ�)�� - *����˵�����ʾ�İ�ͷ�����ֽ�����4�ֽڵı��� + /* + *��ͷ����(IHL)��4λ��IPЭ���ͷ�ij��ȣ�ָ��IPv4Э���ͷ���ȵ��ֽ������ٸ�32λ�� + *����IPv4�İ�ͷ���ܰ�ɱ������Ŀ�ѡ ���������ֶο�������ȷ��IPv4��ݱ�����ݲ��ֵ�ƫ������ + *IPv4��ͷ����С������20���ֽڣ����IHL����ֶε���Сֵ��ʮ���Ʊ�ʾ����5 (5x4 = 20�ֽ�)�� + *����˵�����ʾ�İ�ͷ�����ֽ�����4�ֽڵı��� */ tcphdr = (struct tcp_hdr *)((u8_t *)p->payload + IPH_HL(iphdr) * 4); @@ -135,7 +135,7 @@ tcp_input(struct pbuf *p, struct netif *inp) TCP_STATS_INC(tcp.lenerr);//���󳤶ȼ��� TCP_STATS_INC(tcp.drop);//��ֹ���� snmp_inc_tcpinerrs(); - pbuf_free(p);//�ͷ�buffer + pbuf_free(p);//�ͷ�buffer return; } @@ -183,23 +183,23 @@ tcp_input(struct pbuf *p, struct netif *inp) /* Convert fields in TCP header to host byte order. */ tcphdr->src = ntohs(tcphdr->src); //ת��Դ��ַ tcphdr->dest = ntohs(tcphdr->dest); //ת��Ŀ�ĵ�ַ - seqno = tcphdr->seqno = ntohl(tcphdr->seqno); //ת�����к� + seqno = tcphdr->seqno = ntohl(tcphdr->seqno); //ת�����к� ackno = tcphdr->ackno = ntohl(tcphdr->ackno); //ת��Ӧ��� tcphdr->wnd = ntohs(tcphdr->wnd); //ת��tcp���� - flags = TCPH_FLAGS(tcphdr);//�õ�tcp header�ı�־ - /* - *��־��3λ�����ֶΣ��� - * ����λ��1λ - * ���ֶ�λ��1λ��ȡֵ��0��������ݱ��ֶΣ���1����ݱ����ֶܷΣ� - * ����λ��1λ��ȡֵ��0����ݰ����û�а�1����ݰ�����и��İ� - */ + flags = TCPH_FLAGS(tcphdr);//�õ�tcp header�ı�־ + /* + *��־��3λ�����ֶΣ��� + * ����λ��1λ + * ���ֶ�λ��1λ��ȡֵ��0��������ݱ��ֶΣ���1����ݱ����ֶܷΣ� + * ����λ��1λ��ȡֵ��0����ݰ����û�а�1����ݰ�����и��İ� + */ tcplen = p->tot_len + ((flags & (TCP_FIN | TCP_SYN)) ? 1 : 0);//TCP_FIN �� TCP_SYN ��λ��1�������0 /* Demultiplex an incoming segment. First, we check if it is destined for an active connection. ���ȣ�����Ƿ�һ��Ҫ����һ������*/ //////////////////////////////////////////////////////////////////////////////////////// - prev = NULL; + prev = NULL; for(pcb = tcp_active_pcbs; pcb != NULL; pcb = pcb->next) {//������б� LWIP_ASSERT("tcp_input: active pcb->state != CLOSED", pcb->state != CLOSED); LWIP_ASSERT("tcp_input: active pcb->state != TIME-WAIT", pcb->state != TIME_WAIT); @@ -286,9 +286,9 @@ tcp_input(struct pbuf *p, struct netif *inp) /* put this listening pcb at the head of the listening list */ tcp_listen_pcbs.listen_pcbs = lpcb; } - + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_input: packed for LISTENing connection.\n")); - tcp_listen_input(lpcb);//����tcp������ݰ� + tcp_listen_input(lpcb);//����tcp������ݰ� pbuf_free(p); return; } @@ -385,7 +385,7 @@ tcp_input(struct pbuf *p, struct netif *inp) //PSH��־ PSH ����λ�� //��PSH=1ʱ��Ҫ���ͷ����Ϸ��͸÷ֶΣ� //����շ�����Ľ����Ľ���Ӧ�ò㣬�������д��? - + if (flags & TCP_PSH) { recv_data->flags |= PBUF_FLAG_PUSH;//���bufferӦ������������ } @@ -411,7 +411,7 @@ tcp_input(struct pbuf *p, struct netif *inp) if (pcb->rcv_wnd != TCP_WND) { pcb->rcv_wnd++; } - + TCP_EVENT_CLOSED(pcb, err); if (err == ERR_ABRT) { goto aborted; @@ -595,21 +595,21 @@ tcp_listen_input(struct tcp_pcb_listen *pcb) static err_t tcp_timewait_input(struct tcp_pcb *pcb) { - + if (flags & TCP_RST) { //RST��λ��ֱ�ӷ��� return ERR_OK; } - + if (flags & TCP_SYN) { //��SYN������Ϣ����������ݱ���ڽ��մ����ڣ����ͷ�����RST���� - + if (TCP_SEQ_BETWEEN(seqno, pcb->rcv_nxt, pcb->rcv_nxt+pcb->rcv_wnd)) { - + tcp_rst(ackno, seqno + tcplen, ip_current_dest_addr(), ip_current_src_addr(), tcphdr->dest, tcphdr->src); return ERR_OK; } } else if (flags & TCP_FIN) { //���İ�FIN������Ϣ - + pcb->tmr = tcp_ticks; //��λ�ȴ�2MSLʱ�䣬���ƿ����µȴ�2MSL } @@ -648,7 +648,7 @@ tcp_process(struct tcp_pcb *pcb) acceptable = 1; } } else { - if (TCP_SEQ_BETWEEN(seqno, pcb->rcv_nxt, + if (TCP_SEQ_BETWEEN(seqno, pcb->rcv_nxt, pcb->rcv_nxt+pcb->rcv_wnd)) { acceptable = 1; } @@ -669,12 +669,12 @@ tcp_process(struct tcp_pcb *pcb) } } - if ((flags & TCP_SYN) && (pcb->state != SYN_SENT && pcb->state != SYN_RCVD)) { + if ((flags & TCP_SYN) && (pcb->state != SYN_SENT && pcb->state != SYN_RCVD)) { /* Cope with new connection attempt after remote end crashed */ tcp_ack_now(pcb); return ERR_OK; } - + if ((pcb->flags & TF_RXCLOSED) == 0) { /* Update the PCB (in)activity timer unless rx is closed (see tcp_shutdown) */ pcb->tmr = tcp_ticks; @@ -808,6 +808,9 @@ tcp_process(struct tcp_pcb *pcb) TCP_RMV(&tcp_active_pcbs, pcb); pcb->state = TIME_WAIT; TCP_REG(&tcp_tw_pcbs, pcb); + #if MEMP_NUM_TCP_PCB_TIME_WAIT + TCP_TW_LIMIT(MEMP_NUM_TCP_PCB_TIME_WAIT); + #endif } else { tcp_ack_now(pcb); pcb->state = CLOSING; @@ -825,6 +828,9 @@ tcp_process(struct tcp_pcb *pcb) TCP_RMV(&tcp_active_pcbs, pcb); pcb->state = TIME_WAIT; TCP_REG(&tcp_tw_pcbs, pcb); +#if MEMP_NUM_TCP_PCB_TIME_WAIT + TCP_TW_LIMIT(MEMP_NUM_TCP_PCB_TIME_WAIT); +#endif } break; case CLOSING: @@ -835,6 +841,9 @@ tcp_process(struct tcp_pcb *pcb) TCP_RMV(&tcp_active_pcbs, pcb); pcb->state = TIME_WAIT; TCP_REG(&tcp_tw_pcbs, pcb); +#if MEMP_NUM_TCP_PCB_TIME_WAIT + TCP_TW_LIMIT(MEMP_NUM_TCP_PCB_TIME_WAIT); +#endif } break; case LAST_ACK: @@ -939,7 +948,7 @@ tcp_receive(struct tcp_pcb *pcb) #if TCP_WND_DEBUG } else { if (pcb->snd_wnd != tcphdr->wnd) { - LWIP_DEBUGF(TCP_WND_DEBUG, + LWIP_DEBUGF(TCP_WND_DEBUG, ("tcp_receive: no window update lastack %"U32_F" ackno %" U32_F" wl1 %"U32_F" seqno %"U32_F" wl2 %"U32_F"\n", pcb->lastack, ackno, pcb->snd_wl1, seqno, pcb->snd_wl2)); @@ -954,12 +963,12 @@ tcp_receive(struct tcp_pcb *pcb) * 3) the advertised window hasn't changed ���ش���û�и��� * 4) There is outstanding unacknowledged data (retransmission timer running)������ݵȴ�ȷ�� * 5) The ACK is == biggest ACK sequence number so far seen (snd_una) ackno = lastack - * - * If it passes all five, should process as a dupack: - * a) dupacks < 3: do nothing - * b) dupacks == 3: fast retransmit - * c) dupacks > 3: increase cwnd - * + * + * If it passes all five, should process as a dupack: + * a) dupacks < 3: do nothing + * b) dupacks == 3: fast retransmit + * c) dupacks > 3: increase cwnd + * * If it only passes 1-3, should reset dupack counter (and add to * stats, which we don't do in lwIP) * @@ -1002,10 +1011,10 @@ tcp_receive(struct tcp_pcb *pcb) } } else if (TCP_SEQ_BETWEEN(ackno, pcb->lastack+1, pcb->snd_nxt)){//ackno��lastack+1��snd_nxt֮�䣬�жϷ��ʹ�������� /* We come here when the ACK acknowledges new data. */ - + if (pcb->flags & TF_INFR) { pcb->flags &= ~TF_INFR;// Reset the "IN Fast Retransmit" flag,since we are no longer in fast retransmit - pcb->cwnd = pcb->ssthresh;//Reset the congestion window to the "slow start threshold". + pcb->cwnd = pcb->ssthresh;//Reset the congestion window to the "slow start threshold". } /* Reset the number of retransmissions. */ @@ -1047,7 +1056,7 @@ tcp_receive(struct tcp_pcb *pcb) ntohl(pcb->unacked->tcphdr->seqno) + TCP_TCPLEN(pcb->unacked): 0)); /* Remove segment from the unacknowledged list if the incoming - ACK acknowlegdes them. + ACK acknowlegdes them. *�ͷ�unacked�����ϱ�ȷ�ϵı��ĶΣ� *ֱ��unacked����Ϊ��ֹͣ*/ while (pcb->unacked != NULL && @@ -1068,7 +1077,7 @@ tcp_receive(struct tcp_pcb *pcb) pcb->acked--; } - pcb->snd_queuelen -= pbuf_clen(next->p);//�������������pbufs���� + pcb->snd_queuelen -= pbuf_clen(next->p);//�������������pbufs���� tcp_seg_free(next);//�ͷ�tcp�� LWIP_DEBUGF(TCP_QLEN_DEBUG, ("%"U16_F" (after freeing unacked)\n", (u16_t)pcb->snd_queuelen)); @@ -1099,13 +1108,13 @@ tcp_receive(struct tcp_pcb *pcb) in fact have been sent once. */ /** unsent�������Ƿ��ܱ�acknoȷ�ϵı��ĶΣ������ͷ�**/ while (pcb->unsent != NULL && - TCP_SEQ_BETWEEN(ackno, ntohl(pcb->unsent->tcphdr->seqno) + + TCP_SEQ_BETWEEN(ackno, ntohl(pcb->unsent->tcphdr->seqno) + TCP_TCPLEN(pcb->unsent), pcb->snd_nxt)) { LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_receive: removing %"U32_F":%"U32_F" from pcb->unsent\n", ntohl(pcb->unsent->tcphdr->seqno), ntohl(pcb->unsent->tcphdr->seqno) + TCP_TCPLEN(pcb->unsent))); - next = pcb->unsent;//pcbδ���ͱ�־ + next = pcb->unsent;//pcbδ���ͱ�־ pcb->unsent = pcb->unsent->next;//δ���͵���һ�� LWIP_DEBUGF(TCP_QLEN_DEBUG, ("tcp_receive: queuelen %"U16_F" ... ", (u16_t)pcb->snd_queuelen)); LWIP_ASSERT("pcb->snd_queuelen >= pbuf_clen(next->p)", (pcb->snd_queuelen >= pbuf_clen(next->p))); @@ -1252,7 +1261,7 @@ tcp_receive(struct tcp_pcb *pcb) /* The sequence number must be within the window (above rcv_nxt and below rcv_nxt + rcv_wnd) in order to be further processed. */ - if (TCP_SEQ_BETWEEN(seqno, pcb->rcv_nxt, + if (TCP_SEQ_BETWEEN(seqno, pcb->rcv_nxt, pcb->rcv_nxt + pcb->rcv_wnd - 1)){//rcv_nxt < seqno < rcv_nxt + rcv_wnd - 1,������ڽ��շ�Χ�� if (pcb->rcv_nxt == seqno) { /* The incoming segment is the next in sequence. We check if @@ -1261,12 +1270,12 @@ tcp_receive(struct tcp_pcb *pcb) tcplen = TCP_TCPLEN(&inseg);//���㱨�Ķγ��� if (tcplen > pcb->rcv_wnd) {//������մ��ڴ�С��������β���ض� - LWIP_DEBUGF(TCP_INPUT_DEBUG, + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_receive: other end overran receive window" "seqno %"U32_F" len %"U16_F" right edge %"U32_F"\n", seqno, tcplen, pcb->rcv_nxt + pcb->rcv_wnd)); if (TCPH_FLAGS(inseg.tcphdr) & TCP_FIN) { - /* Must remove the FIN from the header as we're trimming + /* Must remove the FIN from the header as we're trimming * that byte of sequence-space from the packet */ TCPH_FLAGS_SET(inseg.tcphdr, TCPH_FLAGS(inseg.tcphdr) &~ TCP_FIN); } @@ -1286,7 +1295,7 @@ tcp_receive(struct tcp_pcb *pcb) - inseq overlaps with ooseq */ if (pcb->ooseq != NULL) { if (TCPH_FLAGS(inseg.tcphdr) & TCP_FIN) { - LWIP_DEBUGF(TCP_INPUT_DEBUG, + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_receive: received in-order FIN, binning ooseq queue\n")); /* Received in-order FIN means anything that was received * out of order must now have been received in-order, so @@ -1394,7 +1403,7 @@ tcp_receive(struct tcp_pcb *pcb) recv_flags |= TF_GOT_FIN; if (pcb->state == ESTABLISHED) { /* force passive close or we can move to active close */ pcb->state = CLOSE_WAIT; - } + } } pcb->ooseq = cseg->next; @@ -1507,12 +1516,12 @@ tcp_receive(struct tcp_pcb *pcb) } /* check if the remote side overruns our receive window */ if ((u32_t)tcplen + seqno > pcb->rcv_nxt + (u32_t)pcb->rcv_wnd) { - LWIP_DEBUGF(TCP_INPUT_DEBUG, + LWIP_DEBUGF(TCP_INPUT_DEBUG, ("tcp_receive: other end overran receive window" "seqno %"U32_F" len %"U16_F" right edge %"U32_F"\n", seqno, tcplen, pcb->rcv_nxt + pcb->rcv_wnd)); if (TCPH_FLAGS(next->next->tcphdr) & TCP_FIN) { - /* Must remove the FIN from the header as we're trimming + /* Must remove the FIN from the header as we're trimming * that byte of sequence-space from the packet */ TCPH_FLAGS_SET(next->next->tcphdr, TCPH_FLAGS(next->next->tcphdr) &~ TCP_FIN); } @@ -1549,7 +1558,7 @@ tcp_receive(struct tcp_pcb *pcb) } /** - * Parses the options contained in the incoming segment. + * Parses the options contained in the incoming segment. * * Called from tcp_listen_input() and tcp_process(). * Currently, only the MSS option is supported! @@ -1606,7 +1615,7 @@ tcp_parseopt(struct tcp_pcb *pcb) return; } /* TCP timestamp option with valid length */ - tsval = (opts[c+2]) | (opts[c+3] << 8) | + tsval = (opts[c+2]) | (opts[c+3] << 8) | (opts[c+4] << 16) | (opts[c+5] << 24); if (flags & TCP_SYN) { pcb->ts_recent = ntohl(tsval); From f9b23a5d6adf7c321fc118cee5fbd25f383bf411 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Mon, 11 Jul 2016 14:40:34 +0300 Subject: [PATCH 3/4] Add liblwip_gcc.a --- tools/sdk/lib/liblwip_gcc.a | Bin 1062720 -> 1071268 bytes tools/sdk/lwip/src/Makefile | 3 +++ 2 files changed, 3 insertions(+) diff --git a/tools/sdk/lib/liblwip_gcc.a b/tools/sdk/lib/liblwip_gcc.a index 6006179d89267fa22918633bfb0beaf8db4ea6d3..f1cfed0d346b4f2843332adaa713ed631e7e6e38 100644 GIT binary patch delta 262068 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 delta 254200 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

2tsgu_-U99M~=GPvRYq3%7PtSHvE-|n5dYflbL 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 z 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 Date: Mon, 11 Jul 2016 15:21:53 +0300 Subject: [PATCH 4/4] Make the changes be backward compatible with the current xcc version --- boards.txt | 2 +- .../ESP8266WiFi/src/include/UdpContext.h | 20 ++++++++++++++++++- tools/sdk/lwip/include/lwip/udp.h | 6 +++++- 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/boards.txt b/boards.txt index 1519bba24d..af080f735a 100644 --- a/boards.txt +++ b/boards.txt @@ -1680,7 +1680,7 @@ coredev.build.lwip_flags= coredev.menu.LwIPVariant.Espressif=Espressif (xcc) coredev.menu.LwIPVariant.Espressif.build.lwip_lib=-llwip -coredev.menu.LwIPVariant.Espressif.build.lwip_flags= +coredev.menu.LwIPVariant.Espressif.build.lwip_flags=-DLWIP_MAYBE_XCC coredev.menu.LwIPVariant.Prebuilt=Prebuilt Source (gcc) coredev.menu.LwIPVariant.Prebuilt.build.lwip_lib=-llwip_gcc coredev.menu.LwIPVariant.Prebuilt.build.lwip_flags=-DLWIP_OPEN_SRC diff --git a/libraries/ESP8266WiFi/src/include/UdpContext.h b/libraries/ESP8266WiFi/src/include/UdpContext.h index e302094004..9213accfe7 100644 --- a/libraries/ESP8266WiFi/src/include/UdpContext.h +++ b/libraries/ESP8266WiFi/src/include/UdpContext.h @@ -46,6 +46,9 @@ class UdpContext , _tx_buf_offset(0) { _pcb = udp_new(); +#ifdef LWIP_MAYBE_XCC + _mcast_ttl = 1; +#endif } ~UdpContext() @@ -108,7 +111,11 @@ class UdpContext void setMulticastTTL(int ttl) { +#ifdef LWIP_MAYBE_XCC + _mcast_ttl = ttl; +#else udp_set_multicast_ttl(_pcb, ttl); +#endif } // warning: handler is called from tcp stack context @@ -270,11 +277,19 @@ class UdpContext addr = &_pcb->remote_ip; port = _pcb->remote_port; } - +#ifdef LWIP_MAYBE_XCC + uint16_t old_ttl = _pcb->ttl; + if (ip_addr_ismulticast(addr)) { + _pcb->ttl = _mcast_ttl; + } +#endif err_t err = udp_sendto(_pcb, tx_copy, addr, port); if (err != ERR_OK) { DEBUGV(":ust rc=%d\r\n", err); } +#ifdef LWIP_MAYBE_XCC + _pcb->ttl = old_ttl; +#endif pbuf_free(tx_copy); return err == ERR_OK; } @@ -352,6 +367,9 @@ class UdpContext pbuf* _tx_buf_cur; size_t _tx_buf_offset; rxhandler_t _on_rx; +#ifdef LWIP_MAYBE_XCC + uint16_t _mcast_ttl; +#endif }; diff --git a/tools/sdk/lwip/include/lwip/udp.h b/tools/sdk/lwip/include/lwip/udp.h index d14f903b46..2e4b57ae75 100644 --- a/tools/sdk/lwip/include/lwip/udp.h +++ b/tools/sdk/lwip/include/lwip/udp.h @@ -103,8 +103,10 @@ struct udp_pcb { #if LWIP_IGMP /** outgoing network interface for multicast packets */ ip_addr_t multicast_ip; +#ifndef LWIP_MAYBE_XCC /** TTL for outgoing multicast packets */ u8_t mcast_ttl; +#endif /* LWIP_MAYBE_XCC */ #endif /* LWIP_IGMP */ #if LWIP_UDPLITE @@ -161,9 +163,11 @@ void udp_input (struct pbuf *p, struct netif *inp)ICACHE_FLASH_ #if LWIP_IGMP #define udp_set_multicast_netif_addr(pcb, ipaddr) ip_addr_copy((pcb)->multicast_ip, (ipaddr)) #define udp_get_multicast_netif_addr(pcb) ((pcb)->multicast_ip) +#ifndef LWIP_MAYBE_XCC #define udp_set_multicast_ttl(pcb, value) do { (pcb)->mcast_ttl = value; } while(0) #define udp_get_multicast_ttl(pcb) ((pcb)->mcast_ttl) -#endif +#endif /* LWIP_MAYBE_XCC */ +#endif /* LWIP_IGMP */ #if UDP_DEBUG void udp_debug_print(struct udp_hdr *udphdr)ICACHE_FLASH_ATTR;