neutron/neutron/agent
LIU Yulong bd6203b2c7 [Security] fix allowed-address-pair 0.0.0.0/0 issue
When add allowed-address-pair 0.0.0.0/0 to one port, it will
unexpectedly open all others' protocol under same security
group. IPv6 has the same problem.

The root cause is the openflow rules calculation of the
security group, it will unexpectedly allow all IP(4&6)
traffic to get through.

For openvswitch openflow firewall, this patch adds a source
mac address match for the allowed-address-pair which has
prefix lenght 0, that means all ethernet packets from this
mac will be accepted. It exactly will meet the request of
accepting any IP address from the configured VM.

Test result shows that the remote security group and
allowed address pair works:
1. Port has 0.0.0.0/0 allowed-address-pair clould send any
   IP (src) packet out.
2. Port has x.x.x.x/y allowed-address-pair could be accepted
   for those VMs under same security group.
3. Ports under same network can reach each other (remote
   security group).
4. Protocol port number could be accessed only when there
   has related rule.

Conflicts:
    neutron/tests/unit/agent/linux/openvswitch_firewall/test_rules.py

Closes-bug: #1867119
Change-Id: I2e3aa7c400d7bb17cc117b65faaa160b41013dde
(cherry picked from commit 00298fe6e8)
2020-07-31 13:31:18 +02:00
..
common Merge "[OVS] Make QoS OVS agent deletion operations more resilient" into stable/queens 2020-07-08 09:41:53 +00:00
dhcp Prioritize port create and update ready messages 2020-05-07 15:11:42 +00:00
l2 Clear residual qos rules after l2-agent restarts. 2019-01-24 06:43:01 +00:00
l3 [stable only] Configure logging in keepalived_state_change 2020-07-17 09:32:35 +00:00
linux [Security] fix allowed-address-pair 0.0.0.0/0 issue 2020-07-31 13:31:18 +02:00
metadata Remove extra header fields in proxied metadata requests 2020-03-03 20:11:49 +00:00
ovsdb Merge "Fixes using SSL OVSDB connection" 2018-02-09 09:04:26 +00:00
windows Fix neutron-openvswitch-agent Windows support 2018-11-23 17:13:42 +02:00
__init__.py Empty files should not contain copyright or license 2014-10-20 00:50:32 +00:00
agent_extension.py Generalize agent extension mechanism 2016-07-19 13:45:22 +00:00
agent_extensions_manager.py Make code follow log translation guideline 2017-08-14 02:01:48 +00:00
dhcp_agent.py Change ip_lib network namespace code to use pyroute2 2017-10-04 21:09:28 +00:00
firewall.py consume load_class_by_alias_or_classname from neutron-lib 2017-10-21 06:01:15 -06:00
l3_agent.py Refactoring agent linux&ovsdb config 2017-08-25 10:41:39 -04:00
metadata_agent.py Remove deprecated cache_url 2017-11-10 00:47:19 -05:00
resource_cache.py Merge "Fix race condition with enabling SG on many ports at once" 2018-01-27 10:36:37 +00:00
rpc.py Do not call update_device_list in large sets 2019-04-12 20:07:04 +00:00
securitygroups_rpc.py Add accepted egress direct flow 2020-02-25 07:32:29 +08:00