RFC4861 says Neighbor Advertisements sent in response to unicast Neighbor
Solicitations SHOULD include the Target link-layer address. However, Linux
doesn't. Responses to multicast NS MUST include it, which is what OVS sends. So,
the response to Solicitations sent by OVS will include the TLL address and other
Advertisements not including it can be ignored.
This prevents the inclusion of a zero address in the cache.
return EINVAL;
}
+ if (eth_addr_is_zero(flow->arp_tha)) {
+ return EINVAL;
+ }
+
memset(&wc->masks.ipv6_src, 0xff, sizeof wc->masks.ipv6_src);
memset(&wc->masks.ipv6_dst, 0xff, sizeof wc->masks.ipv6_dst);
memset(&wc->masks.nd_target, 0xff, sizeof wc->masks.nd_target);