low_level_output() function
This function should do the actual transmission of the packet. The packet is contained in the pbuf that is passed to the function. This pbuf might be chained.
Arguments
netif
the lwip network interface structure for this ethernetif
p
the MAC packet to send (e.g. IP packet including MAC addresses and type)
Return value
ERR_OK if the packet could be sent an err_t value if the packet couldn't be sent
Notes
Returning ERR_MEM here if a DMA queue of your MAC is full can lead to strange results. You might consider waiting for space in the DMA queue to become available since the stack doesn't retry to send a packet dropped because of memory failure (except for the TCP timers).