lwip-users
[Top][All Lists]
Advanced

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

Re: [lwip-users] Limiting the number of connections: Possible bug with M


From: Tony
Subject: Re: [lwip-users] Limiting the number of connections: Possible bug with MEMP_NUM_TCP_PCB?
Date: Fri, 4 Aug 2017 11:43:18 +0200

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?




reply via email to

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