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, etharp_output(), gmac_low_level_init(), gmac_low_level_output(), gs_gmac_dev, IFNAME0, IFNAME1, netif::linkoutput, LWIP_ASSERT, netif::name, NET_LINK_SPEED, gmac_device::netif, NETIF_INIT_SNMP, netifINTERFACE_TASK_PRIORITY, netifINTERFACE_TASK_STACK_SIZE, NULL, netif::output, snmp_ifType_ethernet_csmacd, netif::state, and sys_thread_new.
Referenced by ethernet_configure_interface().
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, ETHTYPE_ARP, ETHTYPE_IP, ETHTYPE_PPPOE, ETHTYPE_PPPOEDISC, gmac_low_level_input(), htons, netif::input, LWIP_DEBUGF, NETIF_DEBUG, NULL, pbuf::payload, and pbuf_free().
Referenced by ethernet_task().