1801895_zh-CN

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

1801895_zh-CN

1801895_zh-CN

将多个 IP 地址映射到一个以太网接口(LWIP)

你好,

我正在尝试使用不同的 struct netif 逻辑接口将多个 IP 地址绑定到单个以太网端口。我目前的实现方法是禁用其中一个接口才能使其正常工作。

寻求有关正确方法的指导或资源。任何见解都非常感谢。

谢谢!

int main ( void ) {

struct netif netif1 , netif2 ;

int ret


ip4_addr_t netif1_ipaddr netif1_netmask netif1_gw

ip4_addr_t netif2_ipaddr netif2_netmask netif2_gw


ethernetif_config_t enet_config = { . phyHandle = & phyHandle ,

.phyAddr = EXAMPLE_PHY_ADDRESS

.phyOps = EXAMPLE_PHY_OPS

.phyResource = EXAMPLE_PHY_RESOURCE

}


BOARD_ConfigMPU () ;

BOARD_InitPins () ;

BOARD_BootClockRUN () ;

BOARD_InitDebugConsole () ;

BOARD_InitModuleClock () ;


SCB_DisableDCache () ;


IOMUXC_SelectENETClock () ;


BOARD_InitBothEnetPins_test () ;

BOARD_ENET_PHY1_RESET

启用IRQ ENET_1G_MAC0_Tx_Rx_1_IRQn

启用IRQ ENET_1G_MAC0_Tx_Rx_2_IRQn


MDIO_Init () ;

g_phy_resource.read = MDIO_Read ;

g_phy_resource.write = MDIO_Write ;


time_init () ;

CRYPTO_InitHardware () ;


lwip_init () ;


// 添加第一个逻辑接口及其 IP 配置

IP4_ADDR & netif1_ipaddr 192,168,0,102

IP4_ADDR ( & netif1_netmask , 255 , 255 , 255 , 0 ) ;

IP4_ADDR & netif1_gw 192,168,0,100

netif_add ( & netif1 , & netif1_ipaddr , & netif1_netmask , & netif1_gw , & enet_config , EXAMPLE_NETIF_INIT_FN , ethernet_input ) ;

netif_set_default ( & netif1 ) ;

netif_set_up ( & netif1 ) ;


// 添加第二个逻辑接口及其 IP 配置

IP4_ADDR & netif2_ipaddr 192,168,0,111

IP4_ADDR ( & netif2_netmask , 255 , 255 , 255 , 0 ) ;

IP4_ADDR & netif2_gw 192,168,0,100

netif_add ( & netif2 , & netif2_ipaddr , & netif2_netmask , & netif2_gw , & enet_config , EXAMPLE_NETIF_INIT_FN , ethernet_input ) ;

netif_set_up ( & netif2 ) ;





while ( 1 ) {

// 轮询两个网络接口以获取传入帧

ethernetif_input & netif1

ethernetif_input & netif2

sys_check_timeouts () ; // 处理所有核心协议的系统超时

}


返回-1

}

Re: mapping multiple * IP addresses to one Ethernet interface (LWIP)

在 LWIP 中,将多个 IP 地址映射到单个以太网接口,对于需要通过一个物理连接处理不同网络身份或服务的系统来说非常有用。关键在于确保 IP 配置、路由和 ARP 处理得到正确管理,以便每个地址都能正确响应而不会发生冲突。在设计嵌入式网络解决方案时,了解可用的硬件选项并探索支持灵活网络设置和可靠通信的网络产品也很有帮助。使用不同的网络场景进行适当的测试有助于发现与数据包处理和接口配置相关的问题。


Re: mapping multiple * IP addresses to one Ethernet interface (LWIP)

您好,您发布这个问题已经有一段时间了,请问您找到解决方法了吗?

我目前正在使用TI TMS570LC43 Launchpad和lwIP 1.4.1版本尝试同样的操作。

Tags (1)
No ratings
Version history
Last update:
‎07-10-2026 04:32 AM
Updated by: