[ovs-dev] [PATCH v3 1/6] ovn: l3ha, NBDB and SBDB changes and documentation
Miguel Angel Ajo
majopela at redhat.com
Wed Jul 5 13:45:13 UTC 2017
This commit introduces the north and south db changes necessary for
the l3ha router implementation.
It defines a new Table in both NBDB and SBDB.
The Gateway_Chassis table is created, with a tiny difference between
NBDB and SBDB, NBDB references the chassis via it's name (chassis_name)
and SBDB references the chassis via reference (chassis) to the Chassis table.
In NBDB a new column (gateway_chassis) is added to Logical_Router_Ports
with a list of Gateway_Chassis which can be empty.
In SBDB a new column (gateway_chassis) is added to Port_Binding with
the same list, this column will be used for ports of type chassis-redirect.
Signed-off-by: Miguel Angel Ajo <majopela at redhat.com>
---
ovn/ovn-nb.ovsschema | 28 +++++++++++++++++++++++++---
ovn/ovn-nb.xml | 39 +++++++++++++++++++++++++++++++++++++++
ovn/ovn-sb.ovsschema | 30 +++++++++++++++++++++++++++---
ovn/ovn-sb.xml | 38 ++++++++++++++++++++++++++++++++++++++
4 files changed, 129 insertions(+), 6 deletions(-)
diff --git a/ovn/ovn-nb.ovsschema b/ovn/ovn-nb.ovsschema
index c6a1417..6a96704 100644
--- a/ovn/ovn-nb.ovsschema
+++ b/ovn/ovn-nb.ovsschema
@@ -1,7 +1,7 @@
{
"name": "OVN_Northbound",
- "version": "5.6.0",
- "cksum": "2552205612 15123",
+ "version": "5.6.2",
+ "cksum": "3482049799 16164",
"tables": {
"NB_Global": {
"columns": {
@@ -196,6 +196,12 @@
"Logical_Router_Port": {
"columns": {
"name": {"type": "string"},
+ "gateway_chassis": {
+ "type": {"key": {"type": "uuid",
+ "refTable": "Gateway_Chassis",
+ "refType": "strong"},
+ "min": 0,
+ "max": "unlimited"}},
"options": {
"type": {"key": "string",
"value": "string",
@@ -293,4 +299,20 @@
"value": "string",
"min": 0,
"max": "unlimited"}}},
- "maxRows": 1}}}
+ "maxRows": 1},
+ "Gateway_Chassis": {
+ "columns": {
+ "name": {"type": "string"},
+ "chassis_name": {"type": "string"},
+ "priority": {"type": {"key": {"type": "integer",
+ "minInteger": 0,
+ "maxInteger": 32767}}},
+ "external_ids": {
+ "type": {"key": "string", "value": "string",
+ "min": 0, "max": "unlimited"}},
+ "options": {
+ "type": {"key": "string", "value": "string",
+ "min": 0, "max": "unlimited"}}},
+ "indexes": [["name"]],
+ "isRoot": false}}
+ }
diff --git a/ovn/ovn-nb.xml b/ovn/ovn-nb.xml
index 32c10c1..6061114 100644
--- a/ovn/ovn-nb.xml
+++ b/ovn/ovn-nb.xml
@@ -1250,6 +1250,11 @@
</p>
</column>
+ <column name="gateway_chassis">
+ Several <ref table="Gateway_Chassis"/> can be referenced for a given
+ logical router port.
+ </column>
+
<column name="networks">
<p>
The IP addresses and netmasks of the router. For example,
@@ -2111,4 +2116,38 @@
<column name="external_ids"/>
</group>
</table>
+ <table name="Gateway_Chassis">
+ Association of chassis to logical router port. The traffic
+ going out through an specific router port will be redirected to a
+ chassis, or a set of them in high availability configurations.
+ This is the equivalent of option:redirect-chassis for Logical
+ Router ports, but allowing the association and prioritize multiple
+ Chassis to a single port.
+
+ <column name="name">
+ Name of the Gateway Chassis element, a recommendation
+ is using ${port_name}_${chassis_name}
+ </column>
+
+ <column name="chassis_name">
+ Name of the chassis that we want to use to traffic going
+ through an specific logical router port
+ </column>
+
+ <column name="priority">
+ This is the priority of a chassis among all Gateway_Chassis belonging
+ to the same logical router port.
+ </column>
+
+ <column name="options">
+ Reserved for future use.
+ </column>
+
+ <group title="Common Columns">
+ The overall purpose of these columns is described under <code>Common
+ Columns</code> at the beginning of this document.
+ <column name="external_ids"/>
+ </group>
+ </table>
+
</database>
diff --git a/ovn/ovn-sb.ovsschema b/ovn/ovn-sb.ovsschema
index 8a68e7c..5c7a001 100644
--- a/ovn/ovn-sb.ovsschema
+++ b/ovn/ovn-sb.ovsschema
@@ -1,7 +1,7 @@
{
"name": "OVN_Southbound",
- "version": "1.13.0",
- "cksum": "3451836240 12038",
+ "version": "1.13.1",
+ "cksum": "1200651109 13275",
"tables": {
"SB_Global": {
"columns": {
@@ -104,6 +104,12 @@
"columns": {
"logical_port": {"type": "string"},
"type": {"type": "string"},
+ "gateway_chassis": {
+ "type": {"key": {"type": "uuid",
+ "refTable": "Gateway_Chassis",
+ "refType": "strong"},
+ "min": 0,
+ "max": "unlimited"}},
"options": {
"type": {"key": "string",
"value": "string",
@@ -244,4 +250,22 @@
"update" : {"type": {"key": "string",
"min": 0,
"max": "unlimited"}}},
- "isRoot": true}}}
+ "isRoot": true},
+ "Gateway_Chassis": {
+ "columns": {
+ "name": {"type": "string"},
+ "chassis": {"type": {"key": {"type": "uuid",
+ "refTable": "Chassis",
+ "refType": "weak"},
+ "min": 0, "max": 1}},
+ "priority": {"type": {"key": {"type": "integer",
+ "minInteger": 0,
+ "maxInteger": 32767}}},
+ "external_ids": {
+ "type": {"key": "string", "value": "string",
+ "min": 0, "max": "unlimited"}},
+ "options": {
+ "type": {"key": "string", "value": "string",
+ "min": 0, "max": "unlimited"}}},
+ "indexes": [["name"]],
+ "isRoot": false}}}
diff --git a/ovn/ovn-sb.xml b/ovn/ovn-sb.xml
index b22d1ac..04f3d76 100644
--- a/ovn/ovn-sb.xml
+++ b/ovn/ovn-sb.xml
@@ -1837,6 +1837,13 @@ tcp.flags = RST;
</column>
+ <column name="gateway_chassis">
+ The list of <ref table="Gateway_Chassis"/> should only be populated for
+ ports of type <code>chassisredirect</code>. And defines the list
+ of chassis which outgoing traffic of the port will be redirected
+ through.
+ </column>
+
<column name="tunnel_key">
<p>
A number that represents the logical port in the key (e.g. STT key or
@@ -2883,4 +2890,35 @@ tcp.flags = RST;
clients are allowed to modify.
</column>
</table>
+ <table name="Gateway_Chassis">
+ Association of Port_Binding of type <code>chassisredirect</code> to
+ a Chassis. The traffic going out through an specific chassisredirect
+ port will be redirected to a chassis, or a set of them in high
+ availability configurations.
+
+ <column name="name">
+ Name of the Gateway Chassis element, a recommendation
+ is using ${port_name}_${chassis_name}
+ </column>
+
+ <column name="chassis">
+ The <ref table="Chassis"/> to which we send the traffic.
+ </column>
+
+ <column name="priority">
+ This is the priority the specific <ref table="Chassis"/> among all
+ Gateway_Chassis belonging to the same logical router port.
+ </column>
+
+ <column name="options">
+ Reserved for future use.
+ </column>
+
+ <group title="Common Columns">
+ The overall purpose of these columns is described under <code>Common
+ Columns</code> at the beginning of this document.
+
+ <column name="external_ids"/>
+ </group>
+ </table>
</database>
--
1.8.3.1
More information about the dev
mailing list