Barrelfish
Data Fields
netif Struct Reference
+ Collaboration diagram for netif:

Data Fields

struct netifnext
 
struct ip_addr ip_addr
 
err_t(* input )(struct pbuf *p, struct netif *inp)
 
err_t(* output )(struct netif *netif, struct pbuf *p, struct ip_addr *ipaddr)
 
err_t(* linkoutput )(struct netif *netif, struct pbuf *p)
 
void * state
 
u8_t hwaddr_len
 
u8_t hwaddr [NETIF_MAX_HWADDR_LEN]
 
u16_t mtu
 
u8_t flags
 
char name [2]
 
u8_t num
 

Detailed Description

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

Field Documentation

u8_t netif::flags

flags (see NETIF_FLAG_ above)

u8_t netif::hwaddr[NETIF_MAX_HWADDR_LEN]

link level hardware address of this interface

u8_t netif::hwaddr_len

number of bytes used in hwaddr

err_t(* netif::input) (struct pbuf *p, struct netif *inp)

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

struct ip_addr netif::ip_addr

IP address configuration in network byte order

err_t(* netif::linkoutput) (struct netif *netif, struct pbuf *p)

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.

u16_t netif::mtu

maximum transfer unit (in bytes)

char netif::name[2]

descriptive abbreviation

struct netif* netif::next

pointer to next in linked list

u8_t netif::num

number of this interface

err_t(* netif::output) (struct netif *netif, struct pbuf *p, struct ip_addr *ipaddr)

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.

void* netif::state

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


The documentation for this struct was generated from the following file: