GMAC (Gigabit MAC) driver for lwIP.
Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries.
Functions | |
err_t | ethernetif_init (struct netif *netif) |
Should be called at the beginning of the program to set up the network interface. More... | |
void | ethernetif_input (struct netif *netif) |
This function should be called when a packet is ready to be read from the interface. More... | |
Should be called at the beginning of the program to set up the network interface.
It calls the function gmac_low_level_init() to do the actual setup of the hardware.
netif | the lwIP network interface structure for this ethernetif. |
References ERR_MEM, ERR_OK, gmac_low_level_init(), gmac_low_level_output(), gmac_task(), gs_gmac_dev, IFNAME0, IFNAME1, netif::linkoutput, LWIP_ASSERT, netif::name, NET_LINK_SPEED, gmac_device::netif, NETIF_INIT_SNMP, NULL, netif::output, gmac_device::rx_sem, snmp_ifType_ethernet_csmacd, netif::state, sys_sem_new(), and sys_thread_new().
Referenced by ethernet_configure_interface().
void ethernetif_input | ( | struct netif * | netif | ) |
This function should be called when a packet is ready to be read from the interface.
It uses the function gmac_low_level_input() that handles the actual reception of bytes from the network interface. Then the type of the received packet is determined and the appropriate input function is called.
netif | the lwIP network interface structure for this ethernetif. |
References ERR_OK, gmac_low_level_input(), htons, netif::input, LWIP_DEBUGF, NETIF_DEBUG, NULL, pbuf::payload, and pbuf_free().
Referenced by ethernet_task(), and gmac_task().