From: Ofer Ben Yacov <ofer.benya...@gmail.com> Currently the scenario of single logical bridge that use multiple locators with different tunnel key on each of the locators is not supported. In order to support much more flexibility in the tunnel settings, we need to add tunnel key column to the Physical_Locator table.
This patch is needed to support the usage of neutron L2GW as an inter-cloud gateway. The tunnel key that is set in the logical bridge will be used 'internally' to connect the L2GW to the compute hosts and the key that is set in the physical locator will be used to connect the L2GW to a remote L2GW to form a tunnel between 2 clouds. In this case, the 'external' connection will use single 'dst_ip' on all the locators with different tunnel key for each L2 domain. Signed-off-by: Ofer Ben-Yacov<ofer.benya...@gmail.com> --- vtep/vtep.ovsschema | 7 ++++--- vtep/vtep.xml | 22 ++++++++++++---------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/vtep/vtep.ovsschema b/vtep/vtep.ovsschema index 1375173..cfa83e5 100644 --- a/vtep/vtep.ovsschema +++ b/vtep/vtep.ovsschema @@ -1,6 +1,6 @@ { "name": "hardware_vtep", - "cksum": "2177247725 10499", + "cksum": "1536799901 10584", "tables": { "Global": { "columns": { @@ -188,8 +188,9 @@ "enum": ["set", ["vxlan_over_ipv4"]], "type": "string"}}, "mutable": false}, - "dst_ip": {"type": "string", "mutable": false}}, - "indexes": [["encapsulation_type", "dst_ip"]]}, + "dst_ip": {"type": "string", "mutable": false}, + "tunnel_key": {"type": {"key": "integer", "min": 0, "max": 1}}}, + "indexes": [["encapsulation_type", "dst_ip","tunnel_key"]]}, "ACL_entry": { "columns": { "sequence": {"type": "integer"}, diff --git a/vtep/vtep.xml b/vtep/vtep.xml index 6c49e06..483f8f4 100644 --- a/vtep/vtep.xml +++ b/vtep/vtep.xml @@ -995,17 +995,10 @@ <p> For the <code>vxlan_over_ipv4</code> encapsulation, the only encapsulation defined so far, all endpoints associated with a given <ref - table="Logical_Switch"/> must use a common tunnel key, which is carried + table="Logical_Switch"/> can use a common tunnel key, which is carried in the <ref table="Logical_Switch" column="tunnel_key"/> column of <ref - table="Logical_Switch"/>. - </p> - - <p> - For some encapsulations yet to be defined, we expect <ref - table="Physical_Locator"/> to identify both an endpoint and a tunnel key. - When the first such encapsulation is defined, we expect to add a - ``tunnel_key'' column to <ref table="Physical_Locator"/> to allow the - tunnel key to be defined. + table="Logical_Switch"/>, or use key per tunnel by using the tunnel key + carried in the <ref table="Physical_Locator" column="tunnel_key"/> </p> <p> @@ -1029,6 +1022,15 @@ </p> </column> + <column name="tunnel_key"> + <p> + This supports per <ref table="Logical_Switch"/>+<ref + table="Physical_Locator"/> pair. That is, each logical switch may be + assigned a different tunnel key on every <ref table="Physical_Locator"/>. + The <ref table="Physical_Locator"/> carries the tunnel key in this case. + </p> + </column> + </table> <table name="ACL_entry"> <p> -- 2.1.4 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev