|Subject:||[lwip-users] IP6 address autoconfig problem when using hub|
|Date:||Sat, 8 Dec 2012 00:05:21 +0000|
I am having a problem when I connect my IPv6 device running lwip to a hub instead of a switch.
I have autoconfig enabled (LWIP_IPV6_AUTOCONFIG and netif->ip6_autoconfig_enabled = 1) so the device will attempt to configure itself with an IPv6 address. Once the device has chosen an IP6 address to use (netif_create_ip6_linklocal_address() function) then it uses neighbor discovery to find out if there is any other device on the network with the same address.
Since a hub forwards all packets received onto all ports it is echoing my devices neighbor discovery messages back. LwIP sees those packets that are echoed back and I guess considers them to be responses from another device. So, the IP6 address chosen is now marked as invalid and I am left without a valid IP6 address. When using a switch instead of a hub everything works OK presumably because I am not getting my own ND packets echoed back to me.
Does anyone know what to do about this? Should lwip be rejecting packets coming from my own MAC address or do I just filter/reject packets with src MAC = my MAC at the low level ethernetif_input()? Or at the MAC level?
|[Prev in Thread]||Current Thread||[Next in Thread]|