LwIP之网络接口管理

151 篇文章 3 订阅 ¥299.90 ¥99.00

协议栈内部使用netif的结构体来描述网络接口,先来看一下这个结构体。

/* netif结构体 */
struct netif {
  struct netif *next;				//用于将netif连接成链表

  /* IP地址、子网掩码、网关地址 */
  struct ip_addr ip_addr;
  struct ip_addr netmask;
  struct ip_addr gw;

  /* 向IP层输入数据包 */
  err_t (* input)(struct pbuf *p, struct netif *inp);
  /* 发送IP层数据包(先通过ARP查找目的MAC,再调用linkoutput) */
  err_t (* output)(struct netif *netif, struct pbuf *p, struct ip_addr *ipaddr);
  /* 底层数据包发送 */
  err_t (* linkoutput)(struct netif *netif, struct pbuf *p);

  /* 用户字段 */
  void *state;

  /* 最大允许数据包长度 */
  u16_t mtu;

  /* 物理MAC地址 */
  u8_t hwaddr_len;
  u8_t hwaddr[NETIF_MAX_HWADDR_LEN];

  u8_t flags;			//标志位
  char name[2];	//网络接口名字
  u8_t num;			//网路接口编号
};

关于标志位的定义如下

/* 网络接口标志位 */
#define NETIF_FLAG_UP          				0x01U		/* 网络接口是否已被上层使能 */
#define NETIF_FLAG_BROADCAST    	0x02U		/* 网络接口是否支持广播 */
#define NETIF_FLAG_POINTTOPOINT 	0x04U		/* 网络接口是
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值