Sylvain Rochet wrote:
> You can't call tcpip_input() from an interrupt, this is a blocking
> message passing, it can block.

It's not: tcpip_input/tcpip_inpkt calls sys_mbox_trypost(), which does not have 
to be blocking but should return != ERR_OK if the queue is full (drop input 
packets). However, this is a port function, so the port may well not support 
doing this from interrupt if it's written in a wrong way.

Aside from that, you should call "netif->input()" from your low level input. 
This will be the function passed as input function to "netif_add()". The point 
here is making your driver independent of threading requirements or application 
usage. Calling tcpip_input or ethernet_input directly breaks the lwIP layering 
concepts.

Simon

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

Reply via email to