So, I found the problem on my end: The initialization code was called twice...
The first time when NETIF was UP, the second time when DHCP got an IP-address... (And the initialization the second time obviously was badly written and screwed up the list of lpcbs) I guess this behaved differently in 1.3.2, as in 2.0.2 there was a split between link and netif. Sorry to have bothered you with such a rookie mistake... (Now I have still problem with reset packages for the n+1 connections... But this time I will debug more before posting...) On 4 August 2017 at 11:55, Tony <tony.schinkow...@gmail.com> wrote: > > > _tcppcb = tcp_new(); > ... > > tcp_bind(_tcppcb, IP_ADDR_ANY, _port); > > // tcp deallocates _pcb, see wiki of lwIP > struct tcp_pcb * listen_pcb = tcp_listen(_tcppcb); > ... > > _tcppcb = listen_pcb; > > tcp_accept(_tcppcb, _netsrv_accept_cb); > > On 4 August 2017 at 11:43, Tony <tony.schinkow...@gmail.com> wrote: > >> One more observation from a debugging session (with n=2) with these >> settings >> >> #define MEMP_NUM_TCP_PCB 2 >> #define MEMP_NUM_TCP_PCB_LISTEN 2 >> >> (Hex numbers are addresses of pcbs or lpcbs) >> >> Two listening lpcb initially: >> 0xb78c >> 0xb76c >> >> The first two connections use the following pcbs: >> 0xbab4 (pcb first connection) >> 0xba18 (pcb second connection) >> >> n+1 (third connection in this example) gets this pcb >> 0xbab4 (reuses pcb from first connection) >> => Now we have "lost" the lpcb 0xb76c !!! >> >> n+2 gets this pcb >> 0xb76c (this was the starting address of first "listening pcb", this >> "normal pcb will overlap with second lpcb !!!) >> => This overwrites the "last remaining" listening pcb !!! >> >> If I leave MEMP_NUM_TCP_PCB at 2, but increase the >> MEMP_NUM_TCP_PCB_LISTEN to 6 I get almost identical behavior (different >> addresses obviously) with the same failure at n+2 connection (one lpcb >> dropped at n+1, last remaining lpcb overwritten at n+2). >> >> I will not rule out that some LWIP settings (maybe pcb memory allocation >> settings?) are wrong in my project. Is there any setting I could try? >> >> >> >> >
_______________________________________________ lwip-users mailing list lwip-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/lwip-users