lwip2: fixing pbuf reallocation and tuning TCP options
authorAdam Turowski <adam.turowski@inf.ethz.ch>
Thu, 1 Jun 2017 13:31:07 +0000 (15:31 +0200)
committerAdam Turowski <adam.turowski@inf.ethz.ch>
Thu, 1 Jun 2017 13:31:07 +0000 (15:31 +0200)
Signed-off-by: Adam Turowski <adam.turowski@inf.ethz.ch>

lib/lwip-2.0.2/src/include/lwipopts.h
lib/net/pbuf.c

index fa0826b..dd741e9 100644 (file)
@@ -155,7 +155,7 @@ struct netif *arp_filter_netif(struct pbuf *p, struct netif *netif, uint16_t typ
  * MEMP_NUM_TCP_SEG: the number of simultaneously queued TCP segments.
  * (requires the LWIP_TCP option)
  */
-#define MEMP_NUM_TCP_SEG                16
+#define MEMP_NUM_TCP_SEG                4096
 
 /**
  * MEMP_NUM_ARP_QUEUE: the number of simulateously queued outgoing
@@ -516,4 +516,9 @@ extern unsigned char debug_flags;
 #define CHECKSUM_GEN_TCP 0
 #endif
 
+#define TCP_MSS                 1460
+#define TCP_WND                 (TCP_MSS * 20)
+#define TCP_SND_BUF             (TCP_MSS * 40)
+#define TCP_SND_QUEUELEN       (16 * (TCP_SND_BUF/TCP_MSS))
+
 #endif /* LWIP_LWIPOPTS_H */
index 4029331..c61f7bd 100644 (file)
@@ -540,6 +540,8 @@ pbuf_realloc(struct pbuf *p, u16_t new_len)
     return;
   }
 
+  p->len = new_len;
+  p->tot_len = new_len;
   return;
 
   /* the pbuf chain grows by (new_len - p->tot_len) bytes