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?

-Zach

_______________________________________________
lwip-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to