こんにちは、
複数のIPアドレスを1つのイーサネットポートに異なるstruct netif論理インターフェースでバインドしようとしています。現在の実装では、動作させるために1つのインターフェースを無効にしています。
適切なアプローチに関するガイダンスや情報源を求めている。どんなご意見でも歓迎いたします。
ありがとうございます
int main ( void ) {
struct netif netif1 , netif2 ;
整数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 ;
EnableIRQ ( ENET_1G_MAC0_Tx_Rx_1_IRQn ) ;
EnableIRQ ( 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 ) ;
2つ目の論理インターフェースとその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 ) {
// 両方のnetifから受信フレームをポーリングする
ethernetif_input ( & netif1 ) ;
ethernetif_input ( & netif2 ) ;
sys_check_timeouts () ; // すべてのコアプロトコルのすべてのシステムタイムアウトを処理します
}
-1を返す;
}
LWIPで複数のIPアドレスを単一のイーサネットインターフェースにマッピングすることは、異なるネットワーク識別子やサービスを1つの物理接続で扱う必要があるシステムで有用です。重要なのは、IP設定、ルーティング、ARP処理が適切に管理され、各アドレスが競合なく正しく応答することです。組み込みネットワークソリューションを設計する際には、利用可能なハードウェアオプションや、柔軟なネットワーク構成と信頼性の高い通信をサポートする Explore Networking Products を理解することも役立ちます。異なるネットワークシナリオでの適切なテストは、パケット処理やインターフェース設定に関連する問題を特定するのに役立ちます。
こんにちは。問題を投稿されてからかなり時間が経ちましたが、何か解決策は見つかりましたか?
現在、TI TMS570LC43 LaunchPadとlwIP 1.4.1バージョンを使用して同じことを試しています。