Hi, The allowed address pair extension was added to the neutron api to allow protocols like VRRP to work. All it dictates are mac_address/ip_address(cidrs) that are allowed to pass through a neutron port.
rest inline On Wed, Jul 1, 2015 at 10:47 AM, Ben Pfaff <b...@nicira.com> wrote: > On Wed, Jul 01, 2015 at 12:25:58PM -0500, Kyle Mestery wrote: > > On Wed, Jul 1, 2015 at 12:11 PM, Ben Pfaff <b...@nicira.com> wrote: > > > Where's the spec for allowed address pairs? It's probably pretty easy > > > to implement in OVN. > > > > > The API developer documentation is here [1]. The BP with a link to a > google > > doc (this was implemented in 2013) is here [2]. > > > > [1] > > > http://specs.openstack.org/openstack/neutron-specs/specs/api/allowed_address_pairs.html > > [2] https://blueprints.launchpad.net/neutron/+spec/allowed-address-pairs > > It's not as explicit about the meaning as I would like. Is the > following correct? > > A packet is allowed if one of the following is true: > > 1. Its MAC address is 'mac_address' and, if it is an IP packet, its > IP address is one of those in 'fixed_ips'. > > 2. Its MAC address is in 'allowed_address_pairs' and, if it is an IP > packet, its IP address is in the same 'allowed_address_pairs' > pair. > > Correct. Also fwiw the difference between fixed_ips and allowed_address_pairs is that the dhcp-server on the network will hand out the addresses for a port that matches it's fixed_ips +mac_address (the allowed-address-pairs are just additional addresses that are allowed to pass through). > How is IPv6 handled? I suppose that 'fixed_ips' and the 'ip_address' > part of an 'allowed_address_pairs' pair can be an IPv6? > Correct it could be an ipv6 address as well. > > What happens to an IPv6 packet if 'mac_address' matches but 'fixed_ips' > only lists IPv4 addresses? Conversely, what happens to an IPv4 packet > if 'mac_address' matches but 'fixed_ips' only lists IPv6 addresses? > The packet is dropped in both cases if only the mac_address matches but the ip doesn't match. > > Are ARP packets supposed to have their inner IPv4 and MAC addresses > filtered by these rules? How about IPv6 ND packets? > This is a good question. Today we are only enforcing that the l2/l3 fields match. That said, I think it probably makes sense for us to filter on this too. > > (All of the possibilities above, in either direction, are implementable > in OVN, but I didn't know what precedent had been set in Neutron or > whether that precedent was set for good reason or for convenience, so > I've only implemented L2 port security so far.) > > Thanks a lot; this is a discussion I've been meaning to have for a > while. > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev