On 12/15/2011 10:48 AM, Justin Pettit wrote:
On Dec 6, 2011, at 3:18 PM, David Erickson wrote:

I do agree with your analysis in that it is narrowing some traffic but actually 
broadening it for ARPs to/from a remote.  I think we can actually solve both 
problems by unioning the existing b/c rule with my proposed b*/c* rule ie:

(b**) ARP replies to the local port's MAC address containing the remote's IP as 
a source
(c**) ARP requests from the local port's MAC address containing the remote's IP 
as a target

This should still allow rules to be written to handle ARP replies from a remote 
as long as they aren't going to the local MAC, and ARP requests to a remote as 
long as they aren't from the local port.  It also will *not* catch ARP requests 
coming from the local port to *non* remote targets, and similarly for ARP 
replies coming back to the local port from non remote targets.
To be precise, it would have to be the "next hop"'s, and not the "remote"'s.  This is 
because we may be ARPing for the gateway if the remote is not on the local subnet.  (I had previously 
mentioned "remote", too, so I just want to be correct if we look back at this thread in the 
archives.  I'm also planning to update the description in DESIGN based on this conversation.)

Ya I was going under the definition that remotes included the gateway as needed.


The problem I see is that we ARP for things other than just the next hop.  For 
example, a DHCP client may ARP for its newly assigned IP address as a 
sanity-check to make sure that the address is not already in use.

If this is something that occurs frequently in practice a rule could be readily added for it.


Can you explain your use-case for wanting to limit ARP traffic to and from the 
switch?

I don't consider it limiting per se, but making ARP traffic more visible to the controller by trying to limit the scope of the hidden rules to only bypass the controller with what is critically necessary. My use case is admittedly narrow, I have a cron job that periodically sends out unsolicited ARPs from each host to ensure each host is quickly discovered in the event of a controller restart (and absence of any other outbound traffic from the host) ie: /sbin/arping -U -c 1 -I xenbr0 -s <host's IP> 255.255.255.255. There are certainly other packets that could be generated that produce a similar result, I was just surprised that something as simple as an unsolicited ARP was invisible to the controller.

I understand wanting to be more specific, but we may have to jump through a lot of hoops 
to nail it down.  I would consider some of the ARP holes we punch for the next hop and 
remote more worrisome, since they're not necessarily "trusted" devices.  
Unfortunately, I don't see a way around leaving them pretty open.

Aren't these holes already wide open and we are infact limiting the scope somewhat? Maybe I didn't understand what you meant here and this is just a commentary on the current state of things.

Thanks,
David
_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to