Skip to content

网络接口

网卡的管理接口, lwIP支持多种不同的网卡, 直接和底层打交道, 硬件的处理是不同的, 所以需要用户提供底层接口函数, lwIP的统一接口需要用户实现(ethernetif.c), 使用结构体netif进行管理, 记录有发送函数以及接收等函数以及网卡的状态, 最后把netif使用链表连接起来

image-20240703222255794

image-20240703222628246

使用netif函数的时候

image-20240703222232516

相关函数变量

image-20240704184443521

image-20240704184628865

c
struct netif *
netif_add(struct netif *netif,
          const ip4_addr_t *ipaddr, const ip4_addr_t *netmask, const ip4_addr_t *gw,
          void *state, netif_init_fn init, netif_input_fn input)

如果IP地址, 网关, 子网掩码为NULL, 会使用默认的值

之后初始化netif里面的函数, 参数等

之后把网卡加入链表里面

c
void netif_remove(struct netif *netif)

会把这一个netif从链表里面移除, 以及关闭和从默认的网卡位置移除