Hi Praveen,

I think we should fix the update_method instead to properly check for this.
I don't see any advantage to allow the fixed_ips/mac to be in the
allowed_address_pairs since they are explicitly allowed. What's your
motivation for changing this?

Aaron


On Mon, May 19, 2014 at 4:05 PM, Praveen Yalagandula <
yprav...@avinetworks.com> wrote:

> Hi Aaron,
>
> Thanks for the prompt response.
>
> If the overlap does not have any negative effect, can we please just
> remove this check? It creates confusion as there are certain code paths
> where we do not perform this check. For example, the current code does NOT
> perform this check when we are updating the list of allowed-address-pairs
> -- I can successfully assign an existing fixed IP address to the
> allowed-address-pairs. The check is being performed on only one code path -
> when assigning fixed IPs.
>
> If it sounds right to you, I can submit my patch removing this check.
>
> Thanks,
> Praveen
>
>
>
> On Mon, May 19, 2014 at 12:32 PM, Aaron Rosen <aaronoro...@gmail.com>wrote:
>
>> Hi,
>>
>> Sure, if you look at this method:
>>
>>     def _check_fixed_ips_and_address_pairs_no_overlap(self, context,
>> port):
>>         address_pairs = self.get_allowed_address_pairs(context,
>> port['id'])
>>         for fixed_ip in port['fixed_ips']:
>>
>>             for address_pair in address_pairs:
>>
>>                 if (fixed_ip['ip_address'] == address_pair['ip_address']
>>
>>                     and port['mac_address'] ==
>> address_pair['mac_address']):
>>                     raise addr_pair.AddressPairMatchesPortFixedIPAndMac()
>>
>>
>>
>>
>> it checks that the allowed_address_pairs don't overlap with fixed_ips and
>> mac_address on the port. The only reason we do this additional check is
>> that having the same fixed_ip and mac_address pair as an
>> allowed_address_pair would have no effect since the fixed_ip/mac on the
>> port inherently allows that traffic through.
>>
>> Best,
>>
>> Aaron
>>
>>
>>
>> On Mon, May 19, 2014 at 12:22 PM, Praveen Yalagandula <
>> yprav...@avinetworks.com> wrote:
>>
>>> Hi Aaron,
>>>
>>> In OVS and ML2 plugins, on port-update, there is a check to make sure
>>> that allowed-address-pairs and fixed-ips don't overlap. Can you please
>>> explain why that is needed?
>>>
>>> ------------- icehouse final: neutron/plugins/ml2/plugin.py ------------
>>>
>>> 677             elif changed_fixed_ips:
>>>
>>> 678                 self._check_fixed_ips_and_address_pairs_no_overlap(
>>>
>>> 679                     context, updated_port)
>>> -----------------------
>>>
>>> Thanks,
>>> Praveen
>>>
>>>
>>> On Wed, Jul 17, 2013 at 3:45 PM, Aaron Rosen <aro...@nicira.com> wrote:
>>>
>>>> Hi Ian,
>>>>
>>>> For shared networks if the network is set to port_security_enabled=True
>>>> then the tenant will not be able to remove port_security_enabled from their
>>>> port if they are not the owner of the network. I believe this is the
>>>> correct behavior we want. In addition, only admin's are able to create
>>>> shared networks by default.
>>>>
>>>> I've created the following blueprint
>>>> https://blueprints.launchpad.net/neutron/+spec/allowed-address-pairsand 
>>>> doc:
>>>> https://docs.google.com/document/d/1hyB3dIkRF623JlUsvtQFo9fCKLsy0gN8Jf6SWnqbWWA/edit?usp=sharingwhich
>>>>  will provide us a way to do this. It would be awesome if you could
>>>> check it out and let me know what you think.
>>>>
>>>> Thanks,
>>>>
>>>> Aaron
>>>>
>>>>
>>>> On Tue, Jul 16, 2013 at 10:34 AM, Ian Wells <ijw.ubu...@cack.org.uk>wrote:
>>>>
>>>>> On 10 July 2013 21:14, Vishvananda Ishaya <vishvana...@gmail.com>
>>>>> wrote:
>>>>> >> It used to be essential back when we had nova-network and all
>>>>> tenants
>>>>> >> ended up on one network.  It became less useful when tenants could
>>>>> >> create their own networks and could use them as they saw fit.
>>>>> >>
>>>>> >> It's still got its uses - for instance, it's nice that the metadata
>>>>> >> server can be sure that a request is really coming from where it
>>>>> >> claims - but I would very much like it to be possible to, as an
>>>>> >> option, explicitly disable antispoof - perhaps on a per-network
>>>>> basis
>>>>> >> at network creation time - and I think we could do this without
>>>>> >> breaking the security model beyond all hope of usefulness.
>>>>> >
>>>>> > Per network and per port makes sense.
>>>>> >
>>>>> > After all, this is conceptually the same as enabling or disabling
>>>>> > port security on your switch.
>>>>>
>>>>> Bit late on the reply to this, but I think we should be specific on
>>>>> the network, at least at creation time, on what disabling is allowed
>>>>> at port level (default off, may be off, must be on as now).  Yes, it's
>>>>> exactly like disabling port security, and you're not always the
>>>>> administrator of your own switch; if we extend the analogy you
>>>>> probably wouldn't necessarily want people turning antispoof off on an
>>>>> explicitly shared-tenant network.
>>>>> --
>>>>> Ian.
>>>>>
>>>>> _______________________________________________
>>>>> OpenStack-dev mailing list
>>>>> OpenStack-dev@lists.openstack.org
>>>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> OpenStack-dev mailing list
>>>> OpenStack-dev@lists.openstack.org
>>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>>>
>>>>
>>>
>>> _______________________________________________
>>> OpenStack-dev mailing list
>>> OpenStack-dev@lists.openstack.org
>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>>
>>>
>>
>> _______________________________________________
>> OpenStack-dev mailing list
>> OpenStack-dev@lists.openstack.org
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>
>>
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev@lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to