LWIP如何设置多个netif

问题描述

我正在尝试设置多接口lwIP堆栈。但是我不明白这一点。所以我希望有人指出什么是不正确的。


    ip4_addr_t netif_ipaddr,netif_netmask,netif_gw;
    ethernetif_config_t enet_config0 = {
        .phyHandle  = &phyHandle0,.macAddress = {0x91,0xda,0xa3,0x39,0xdf,0x0a},};

    ethernetif_config_t enet_config1 = {
        .phyHandle  = &phyHandle1,0x0b},};

    tcpip_init(NULL,NULL);

    // port 1
    netif_ipaddr.addr = PP_HTONL(LWIP_MAKEU32(192,168,102));
    netif_netmask.addr = PP_HTONL(LWIP_MAKEU32(255,255,0));
    netif_gw.addr = PP_HTONL(LWIP_MAKEU32(192,100));

    netifapi_netif_add(&netif[1],&netif_ipaddr,&netif_netmask,&netif_gw,&enet_config1,ethernetif1_init,tcpip_input);
    netifapi_netif_set_default(&netif[1]);
    netifapi_netif_set_up(&netif[1]);


    // Port 0
    netif_ipaddr.addr = PP_HTONL(LWIP_MAKEU32(192,1,100));

    netifapi_netif_add(&netif[0],&enet_config0,ethernetif0_init,tcpip_input);
    netifapi_netif_set_up(&netif[0]);

如果我配置其中之一,则可以正常工作。但是在配置时,两者都不起作用。
有什么建议吗?
谢谢。

注意:这是一个嵌入式系统问题。因此该操作系统是免费的。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)