Microchip® Advanced Software Framework

netif Struct Reference

Generic data structure used for all lwIP network interfaces.

The following fields should be filled in by the initialization function for the device driver: hwaddr_len, hwaddr[], mtu, flags

#include <netif.h>

Data Fields

u8_t flags
 flags (see NETIF_FLAG_ above) More...
 
ip_addr_t gw
 
u8_t hwaddr [NETIF_MAX_HWADDR_LEN]
 link level hardware address of this interface More...
 
u8_t hwaddr_len
 number of bytes used in hwaddr More...
 
netif_input_fn input
 This function is called by the network device driver to pass a packet up the TCP/IP stack. More...
 
ip_addr_t ip_addr
 IP address configuration in network byte order. More...
 
netif_linkoutput_fn linkoutput
 This function is called by the ARP module when it wants to send a packet on the interface. More...
 
u16_t mtu
 maximum transfer unit (in bytes) More...
 
char name [2]
 descriptive abbreviation More...
 
ip_addr_t netmask
 
struct netifnext
 pointer to next in linked list More...
 
u8_t num
 number of this interface More...
 
netif_output_fn output
 This function is called by the IP module when it wants to send a packet on the interface. More...
 
voidstate
 This field can be set by the device driver and could point to state information for the device. More...
 
netif_status_callback_fn status_callback
 This function is called when the netif state is set to up or down. More...
 

ip_addr_t netif::gw
u8_t netif::hwaddr_len
netif_input_fn netif::input

This function is called by the network device driver to pass a packet up the TCP/IP stack.

Referenced by ethernetif_input(), and netif_add().

netif_linkoutput_fn netif::linkoutput

This function is called by the ARP module when it wants to send a packet on the interface.

This function outputs the pbuf as-is on the link medium.

Referenced by etharp_arp_input(), etharp_raw(), etharp_send_ip(), and ethernetif_init().

u16_t netif::mtu

maximum transfer unit (in bytes)

Referenced by ip_frag(), ksz8851snl_low_level_init(), and tcp_eff_send_mss().

char netif::name[2]
struct netif* netif::next

pointer to next in linked list

Referenced by ip_input(), ip_route(), netif_add(), netif_find(), and netif_remove().

u8_t netif::num

number of this interface

Referenced by netif_add(), and netif_find().

netif_output_fn netif::output

This function is called by the IP module when it wants to send a packet on the interface.

This function typically first resolves the hardware address, then sends the packet.

Referenced by ethernetif_init(), and ip_frag().

void* netif::state

This field can be set by the device driver and could point to state information for the device.

Referenced by etharp_cleanup_netif(), etharp_find_addr(), etharp_update_arp_entry(), ethernetif_init(), ksz8851snl_low_level_input(), ksz8851snl_low_level_output(), ksz8851snl_update(), and netif_add().

netif_status_callback_fn netif::status_callback

This function is called when the netif state is set to up or down.

Referenced by netif_add(), and netif_set_status_callback().