Hi Jaime,

On Thu, Jul 07, 2016 at 07:00:11PM -0500, Jaime Fernandez Hoffiz wrote:
> Hi Sylvain,
> 
> I think I actually use tcpip_input but please correct me if I'm doing
> something wrong
> 
> this is how I add the netif:
> 
> Inside my callback if I change from ethernet_input to tcpip_input I can't
> not longer ping the target. This is the callback, called by the emac rx
> interrupt.

You can't call tcpip_input() from an interrupt, this is a blocking 
message passing, it can block. You have to create a rx threads. This is 
what you should do:


MAC IRQ                  |          RX THREAD              |         LWIP
                         |                                 |
input pkt -> sem_give ---|--> sem_take -> tcpip_input() ---|--> message box
   |                     |                  |              |
   |                     v                pbuf             v
   |                 semaphore              |       message passing
   |                                        |
   '-->--->--->---- DMA RING --->--->--->---'  


Sylvain

Attachment: signature.asc
Description: Digital signature

_______________________________________________
lwip-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to