lwip-users
[Top][All Lists]
Advanced

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

Re: [lwip-users] Lwip tcp-stack reliability issue when using non-reliabl


From: Itzik Levi
Subject: Re: [lwip-users] Lwip tcp-stack reliability issue when using non-reliable network?
Date: Tue, 7 Nov 2017 20:47:41 +0200

Wait, it might be the implementation for SYS_ARCH_PROTECT, SYS_ARCH_UNPROTECT.

I will check.

On Tue, Nov 7, 2017 at 8:42 PM, Itzik Levi <address@hidden> wrote:
Some update:

I've enabled "LWIP_NETCONN_FULLDUPLEX" - needed some work as it requires LWIP_NETCON_SEM_PER_THREAD.

So I needed to implement(getting a unique semaphore per thread):
  • LWIP_NETCONN_THREAD_SEM_GET() 
  • LWIP_NETCONN_THREAD_SEM_ALLOC()
  • LWIP_NETCONN_THREAD_SEM_FREE() 

Now I cant even reach the corruption issue(not sure if solved or not), as I constantly getting another assert after a while : "Assertion "sock->fd_used != 0" failed at line 344 in lwip/src/api/sockets.c.".

I'm guessing thats why this feature is in alpha level :)





On Tue, Nov 7, 2017 at 7:09 PM, Itzik Levi <address@hidden> wrote:
Hi Sylvain,

Although I am reading and writing from separated threads, I am not doing that in parallel(mutex protected), lwip_recv is never called in parallel to lwip_send.
I will try and enable LWIP_NETCONN_FULLDUPLEX to see if it does anything, but I remember its highly experimental at this point.

Will report back.

On Tue, Nov 7, 2017 at 7:02 PM, Sylvain Rochet <address@hidden> wrote:
Hi Itzik,

On Tue, Nov 07, 2017 at 06:40:52PM +0200, Itzik Levi wrote:
> Hi Sylvain,
>
> Thanks for the response!
>
> Just tried disabling both CORE_LOCKING and CORE_LOCKING_INPUT and
> unfortunately encountered the same problem.
>
> I'm probably missing something, but what... loss-less stream works
> excellent, without any corruption, might be some kind of internal tcp queue
> corruption while congested?

It looks like a thread safety issue, but you seem to do things well
(PPPAPI, pppos_input_tcpip, socket API, rx/tx mutex), but could you try
setting LWIP_NETCONN_FULLDUPLEX since you are using rx and tx from
multiple threads ?

Sylvain

_______________________________________________
lwip-users mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/lwip-users




reply via email to

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