Yes, you are right. It works well with ping until 2000 byte. Then, with bigger ping, application crashes; if some packet was discarded, it have been not a big problem, but crashing, all application is unusable.
I tried to change al lot of lwip options, but the result was always the same.
I am very sorry, … but I have no more ideas!! (:<)
i have run into the same problem and I had it fixed when I disabled ip frag and ip reassembly
at lwiopt.h
You could try the lwip forum too, there are some bugs in pbuf.c that they say it would cause this problem, but when I download a newer pbuf.c, version 1.86, the bug persisted.
So the solution was to add these two lines to lwiopts.h