| 
    Zephyr Project API
    3.3.0
    
   A Scalable Open Source RTOS 
   | 
 
Network Interface Device structure. More...
#include <net_if.h>
Data Fields | |
| const struct device * | dev | 
| const struct net_l2 *const | l2 | 
| void * | l2_data | 
| atomic_t | flags [ATOMIC_BITMAP_SIZE(NET_IF_NUM_FLAGS)] | 
| struct net_linkaddr | link_addr | 
| uint16_t | mtu | 
| enum net_if_oper_state | oper_state | 
Network Interface Device structure.
Used to handle a network interface on top of a device driver instance. There can be many net_if_dev instance against the same device.
Such interface is mainly to be used by the link layer, but is also tight to a network context: it then makes the relation with a network context and the network device.
Because of the strong relationship between a device driver and such network interface, each net_if_dev should be instantiated by
| atomic_t net_if_dev::flags[ATOMIC_BITMAP_SIZE( NET_IF_NUM_FLAGS)] | 
| const struct net_l2* const net_if_dev::l2 | 
Interface's L2 layer
| void* net_if_dev::l2_data | 
Interface's private L2 data pointer
| struct net_linkaddr net_if_dev::link_addr | 
The hardware link address
| uint16_t net_if_dev::mtu | 
The hardware MTU
| enum net_if_oper_state net_if_dev::oper_state | 
RFC 2863 operational status