low_level_output() is only used within LwIP_TCP_Echo_Client.
 
Symbols
loading...
Files
loading...

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.

Syntax

static err_t low_level_output(struct netif *netif,     struct pbuf *p);

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).

References

LocationReferrerText
ethernetif.c:180
static err_t low_level_output(struct netif *netif, struct pbuf *p)
ethernetif.c:293ethernetif_init()
netif->linkoutput = low_level_output;

Call Tree

Functions called by low_level_output()
low_level_output()
memset()
all items filtered out
Data read by low_level_output()
Data written by low_level_output()
low_level_output()::Txbuffer
low_level_output()::i
low_level_output()::q
low_level_output()::errval
all items filtered out
low_level_output()
Implementations
low_level_output()
all items filtered out
Type of low_level_output()
low_level_output()
uint32_t
all items filtered out