|
From: | Artem Pisarenko |
Subject: | [lwip-users] multiple IP addresses on network interface |
Date: | Sat, 08 Dec 2012 16:16:43 +0700 |
User-agent: | Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20121026 Thunderbird/16.0.2 |
I'm aware of solution to use multiple netifs on single driver. Simon said that he did it successfully but I faced with a lot of problems trying to implement it in my driver because of ethernetif_input() ambiguity. Simple solutions such as accepting packet on any one assigned netif or accepting packet on all assigned netifs aren't suitable. Driver has to be very smart and analyze packet with code taken from lwip core to determine which assigned netif it should be sent to.
I even tried following solution: driver detects eth type of incoming packet, if it's ARP then accept packet on all assigned netifs, otherwise accept it on first assigned netif (based on fragment of ip_input() which walks the list of all configured netifs trying to find matching netif). But this doesn't work as expected. ip_input() finds correct netif but ignores it in further processing. And, for example, if packet is icmp ping request then answer is being sent to gateway of source netif instead of right one.
Could you provide with fast workaround at this moment ? Any help appreciated. -- Regards, Artem
[Prev in Thread] | Current Thread | [Next in Thread] |