On Fri, 2014-08-22 at 10:54 -0700, David Miller wrote:
quoted
quoted
if (res.type == RTN_BROADCAST)
goto brd_input;
Is this place better, after checking for RTN_BROADCAST?
/* ARP link-layer broadcasts are acceptable here */
if ((skb->pkt_type == PACKET_BROADCAST ||
skb->pkt_type == PACKET_MULTICAST) &&
skb->protocol == htons(ETH_P_IP))
goto e_inval;
Indeed, this would make ARP happier, but that still leaves open the
issue of CLUSTERIP.
I'm back looking at this, but must admit I'm completely confused now :-)
I could add an IPv4 sysctl to control this behaviour:
0 - off
1 - RFC 1122 "SHOULD"
2 - also drop unicast-in-multicast (for wireless)
But I guess due to cluster-IP it would have to default to 0.
However, talk about ip_local_deliver_finish() in this thread has me
wondering if we could just implement it using iptables? I guess
ipt_addrtype and ip6t_addrtype would let me do that?
johannes
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html