/*
函数功能:给指定网卡更新ip 掩码 网关 (不需要更新的还是原先数值就好)
函数参数:
netif:需要更新这些的网卡
ip:需要更新的ip
mask:更新的掩码
gw:更新的网关
返回值:无
注释:本人亲测可以使用,代码成功
*/
void AddrUpdate(struct netif *netif,u8_t *ip,u8_t *mask,u8_t *gw)
{
ip_addr_t ip_update;
ip_addr_t mask_update;
ip_addr_t gw_update;
//转换
IP4_ADDR(&ip_update, ip[0], ip[1], ip[2], ip[3]);
IP4_ADDR(&mask_update, mask[0], mask[1], mask[2], mask[3]);
IP4_ADDR(&gw_update, gw[0], gw[1], gw[2], gw[3]);
//禁用网卡
netif_set_down(&netif);
//1.分别设置
netif_set_gw(&netif, &ip_update); //重新设置网关地址
netif_set_netmask(&netif, &mask_update); //重新设置子网掩码
netif_set_ipaddr(&netif, &gw_update); //重新设置IP地址
//2.全部设置 netif_set_addr函数
//重新使能网卡
netif_set_up(&netif);
}
【lwip】 网卡动态更新ip、网关、掩码(不重启前提)
于 2021-08-07 16:58:06 首次发布