您的位置:首页 > 房产 > 家装 > html网页制作期末作业_郑州新像素ui设计培训收费_移动网站如何优化排名_济南seo网站优化

html网页制作期末作业_郑州新像素ui设计培训收费_移动网站如何优化排名_济南seo网站优化

2024/12/23 9:06:58 来源:https://blog.csdn.net/weixin_46312715/article/details/144217648  浏览:    关键词:html网页制作期末作业_郑州新像素ui设计培训收费_移动网站如何优化排名_济南seo网站优化
html网页制作期末作业_郑州新像素ui设计培训收费_移动网站如何优化排名_济南seo网站优化

一、简介 

一个系统中可能有多个网络接口,有时候是以太网,有时候是WIFI,也有可能是其他网络接口,在LwIP中每个网卡都由一个netif结构体表示,这些结构体描述了网卡的底层实现函数及状态。有多少个网卡,就有多少个netif结构体,这些结构体以链表的形式进行链接。

 

 二、netif结构体

 

input:指向数据包输入函数,一般指向ethernet_input函数,也可以是ip4_input函数
output:指向数据包的待发送函数(即检测目标IP地址是否存在对应的MAC地址,如果没有,先把数据暂存起来,然后通过数据包的待发送函数向对方主机发送一个ARP请求包,对方主机接收到请求包后会相应的返回一个ARP应答包,应答包中包含了MAC地址)
linkoutput:将以太网数据发送到对方主机中
link_callback:检测是否存在网线连接
state:描述网卡状态
mtu:以太网最大传输单元1500字节

三、netif网络接口函数 

 

1、netif_add()函数 :

  /*第一次添加网卡*/netif->next = netif_list;  //未添加网卡前netif_list无指向,即netif的next指向nullnetif_list = netif;

 

 

/*第二次添加网卡*/netif1->next = netif;  netif_list = netif1;

 

2、 netif_remove()函数:

/*第一步:判断我们要移除的网卡是否为空,不为空跳出相应的if语句,继续执行*/if (netif == NULL) 
{return;
}/*第二步:判断要移除的网卡是否处于开启状态,如果是,则将该网卡进行关闭*/if (netif_is_up(netif)) 
{ netif_set_down(netif);
}/*第三步:判断是否是默认的网卡*/if (netif_default == netif) 
{netif_set_default(NULL);
}/*第四步:移除网卡*/if (netif_list == netif1) //移除netif1。如果netif_list指向netif1,就让netif_list指向netif(即netif1->next)
{netif_list = netif1->next;
}else //移除netif
{struct netif * tmpNetif;for (tmpNetif = netif_list; tmpNetif != NULL; tmpNetif = tmpNetif->next) {if (tmpNetif->next == netif) {tmpNetif->next = netif->next;break;
}

移除netif1图片: 

 

移除netif图片: 

 

3、netif_set_default()函数: 

netif_set_default(struct netif *netif)
{if (netif == NULL) {/* remove default route */snmp_delete_iprteidx_tree(1, netif);} else {/* install default route */snmp_insert_iprteidx_tree(1, netif);}netif_default = netif;//如果要设置netif为默认网卡,则直接让netif_default指向netif就可以了LWIP_DEBUGF(NETIF_DEBUG, ("netif: setting default interface %c%c\n",netif ? netif->name[0] : '\'', netif ? netif->name[1] : '\''));
}

 

 

 

 

 

 

 

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com