Some errant network equipment (including the simulation of a network
by VMware, as an example) will reflect back multicast packets to the sender.
This breaks protocols such as DAD and makes IPv6 nearly impossible to use
on these networks.
Now, the argument could be made to fix these network elements, but
there is an elegant solution that improves the quality of FreeBSD: To refuse
packets that have a source ethernet address of the receiving interface. If
you consider this notion, you can quickly and easily accept that an interface
should never "receive" a packet from it's own MAC address.
This behaviour mirrors Linux behavior and I assume Windows behavior.
I won't claim to be experienced in kernel matters, but I chose the
location for this modification to allow BPF to "see" the packets (for
network diagnosis). This test, however, could be moved within this function
or even given a sysctl knob.
How-To-Repeat: Simply install FreeBSD-9.1 on VMWare and enable IPv6. DAD will
Over to maintainer(s).
For bugs matching the following criteria:
Status: In Progress Changed: (is less than) 2014-06-01
Reset to default assignee and clear in-progress tags.
Mail being skipped