vmware-nsx/neutron
Francois Eleouet a369f9e396 Enable GRE and VXLAN with the same ID
Current packet processing in br-tun is based on tun-id,
as a consequence, two networks using different tunnel
types but sharing the same tun-id would not be properly isolated.

To ensure proper isolation within a single bridge, NORMAL action
can't be used any more as it floods unknown unicasts on all
bridges ports. It is replaced by a learn action that dynamically
sets-up flows when packets are recieved from tunnel ports. As mac
address are learnt in explicit flows (in table 20), we can use a
default action in that table to flood unknown unicasts to the
right set of ports, like broadcasts and multicasts packets.

See https://wiki.openstack.org/wiki/Ovs-flow-logic for a more
detailled explanation of the flow logic

Another alternative could have been to use distinct bridges for
each tunnel type (whithout modifying the current flow logic),
but previous alternative may be preferable as it paves the way
for new tunneling optimisations (like RPC based mac learning and
partial-mesh flooding proposed in bp/l2-population)

Change-Id: I1dfe74f96680c2c6fe4d8d4aac4821c6b020c005
Closes-Bug: #1196963
2013-08-22 18:06:16 +02:00
..
agent Enable GRE and VXLAN with the same ID 2013-08-22 18:06:16 +02:00
api Fix typos and code style check 2013-08-19 22:54:51 +08:00
cmd remove binaries under bin 2013-08-16 10:10:30 +08:00
common Merge "Returns 503 if the NVP cluster is in maintenance mode" 2013-08-16 18:40:27 +00:00
db Merge "Use subnet id instead of wrong built-in id()" 2013-08-22 05:21:22 +00:00
debug Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
extensions Add multiple provider network extension 2013-08-20 10:30:08 -07:00
locale Imported Translations from Transifex 2013-08-21 06:21:49 +00:00
openstack Fix case error in qpid exchange name. s/Direct/direct/ 2013-08-16 10:19:59 -04:00
plugins Enable GRE and VXLAN with the same ID 2013-08-22 18:06:16 +02:00
scheduler Merge "Register agent schedulers options in one place" 2013-07-18 10:05:43 +00:00
server Enable localizable REST API responses via the Accept-Language header 2013-08-07 21:19:25 +00:00
services Add metering extension and base class 2013-08-14 14:32:46 +02:00
tests Enable GRE and VXLAN with the same ID 2013-08-22 18:06:16 +02:00
__init__.py Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
auth.py Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
context.py Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
hooks.py Fixes Windows setup dependency bug 2013-08-15 22:58:14 +03:00
manager.py Add agent scheduling for LBaaS namespace agent 2013-07-19 13:25:04 +04:00
neutron_plugin_base_v2.py Remove openstack.common.exception usage 2013-08-06 10:42:02 +02:00
policy.py Fixing some typos found during translation 2013-07-30 07:16:22 -03:00
quota.py Externalize error messages in the API 2013-08-07 21:19:25 +00:00
service.py Enable logging before using it 2013-07-13 15:35:22 +08:00
version.py Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
wsgi.py Externalize error messages in the API 2013-08-07 21:19:25 +00:00