On Fri, Nov 25, 2011 at 09:45:56AM +0100, Andrew Lunn wrote:
Hi Antonio
General question. In the Linux ARP decode code is:
/*
Check for bad requests for 127.x.x.x and requests for multicast
addresses. If this is one such, delete it.
*/ if (ipv4_is_loopback(tip) || ipv4_is_multicast(tip)) goto out;
I don't see the same filtering here. What would happen if you did receiver and cached such a bad request?
atually there isnot such control over the arp message content. In case of, let's say, a malicious ARP message of this type, it is stored like any other one.
In a similar direction, how does duplicate address detection work? i.e. i ARP my own address to see if somebody else is using it?
Or do i just need to RTFM your GSOC documentation :-)
Don't think so. Actually I/we didn't think too much about this kind of cases. Well, a duplicate entry is simply overwritten: I mean, if we already have the entry [IPa,MACa] in the table, any other ARP reply containing [IPa,MACb] will update the older one and MACa will be lost.
Do you expect a different behaviour? Can I do it better?
Cheers,