Merge "Neutron OVS based Distributed Virtual Router"

This commit is contained in:
Jenkins 2014-10-22 20:18:42 +00:00 committed by Gerrit Code Review
commit 9df8ee0120

View File

@ -129,6 +129,74 @@ track the SNAT service on each node.
| l3_agent_id | string(36) | YES | MUL | NULL |
+------------------+--------------+------+-----+---------+
3. ML2 DVR interface binding data model.
::
+-------------------+--------------+------+-----+---------+
| Field | Type | Null | Key | Default |
+-------------------+--------------+------+-----+---------+
| port_id | string(36) | NO | PRI | |
| host | string(255) | NO | PRI | |
| router_id | string(36) | YES | | NULL |
| vif_type | string(64) | YES | | NULL |
| vif_details | string(4095) | YES | | NULL |
| vnic_type | string(64) | YES | | NULL |
| profile | string(36) | YES | | NULL |
| cap_port_filter | boolean | YES | | NULL |
| driver | string(64) | YES | | NULL |
| segment | string(36) | YES | | NULL |
| status | string(16) | YES | | NULL |
+-------------------+--------------+------+-----+---------+
A new table that is used to hold port bindings for DVR router
interfaces only.
This is similar to the portbindings table, but this table will hold
bindings only for dvr router interfaces.
The original portbindings table will also hold one-binding row
for a dvr router interface, but that wont hold binding information.
That binding row is held there, only to ensure transparency of dvr presence
to the tenants themselves.
Some of the significant fields in the above are:
port_id - This refers to the port id of the DVR Router interface for which
this binding is applied to. The port-id will refer to id field
of the port table.
host - This holds the host on which the DVR interface is bound.
router_id - This field indicates for which router interface, this
binding belongs.
status - This field represents the status of the dvr interface port on the
host, which is represented by this binding.
The status field value of the single-binding row for dvr router
interface in the original portbindings table will now be an ORed result
of the above status field of all such bindings available in the above
table for dvr router interfaces.
4. ML2 DVR Unique MAC Address Table:
::
+-------------------+--------------+------+-----+---------+
| Field | Type | Null | Key | Default |
+-------------------+--------------+------+-----+---------+
| host | string(255) | NO | PRI | |
| mac_address | string(32) | NO | | NULL |
+-------------------+--------------+------+-----+---------+
A new table that is used to hold Unique DVR Base mac assigned to OVS L2
agent that is running in DVR Mode.
For any given host where an OVS L2 Agent is running, only one MAC Address
from the DVR Base Mac pool is allocated to that OVS L2 Agent. This
allocation rpc cycle, completes during init() of the OVS L2 Agent.
In order to make OVS L2 Agent run in DVR Mode, enable_distributed_routing
flag must be set to True in the [agent] section of ml2 ini file (ml2_conf.ini).
Similarly, the DVR Base Mac Address which represents start of the pool, need
to be defined in neutron.conf
REST API impact
---------------