Add type and nb_ic_uuid to Datapath_Binding, Port_Binding and Route so transit router and transit switch entries can be differentiated.
Reported-at: https://issues.redhat.com/browse/FDP-1476 Signed-off-by: Mairtin O'Loingsigh <[email protected]> --- ovn-ic-nb.ovsschema | 32 +++++++++++++++++++-- ovn-ic-nb.xml | 70 +++++++++++++++++++++++++++++++++++++++++++++ ovn-ic-sb.ovsschema | 31 ++++++++++++++++---- ovn-ic-sb.xml | 28 ++++++++++++++++++ 4 files changed, 154 insertions(+), 7 deletions(-) diff --git a/ovn-ic-nb.ovsschema b/ovn-ic-nb.ovsschema index 8145b0335..c1eefb25f 100644 --- a/ovn-ic-nb.ovsschema +++ b/ovn-ic-nb.ovsschema @@ -1,7 +1,7 @@ { "name": "OVN_IC_Northbound", - "version": "1.2.0", - "cksum": "4176728051 3557", + "version": "1.2.1", + "cksum": "471978705 4834", "tables": { "IC_NB_Global": { "columns": { @@ -35,6 +35,34 @@ "min": 0, "max": "unlimited"}}}, "isRoot": true, "indexes": [["name"]]}, + "Transit_Router": { + "columns": { + "name": {"type": "string"}, + "other_config": { + "type": {"key": "string", "value": "string", + "min": 0, "max": "unlimited"}}, + "external_ids": { + "type": {"key": "string", "value": "string", + "min": 0, "max": "unlimited"}}}, + "isRoot": true, + "indexes": [["name"]]}, + "Transit_Router_Port": { + "columns": { + "name": {"type": "string"}, + "other_config": { + "type": {"key": "string", "value": "string", + "min": 0, "max": "unlimited"}}, + "mac": {"type": "string"}, + "chassis": {"type": "string"}, + "networks": {"type": {"key": "string", + "min": 0, + "max": "unlimited"}}, + "nb_ic_uuid": {"type": {"key": {"type": "uuid"}, + "min": 1, + "max": 1}}, + "transit_router": {"type": "string"}}, + "isRoot": true, + "indexes": [["name"]]}, "Connection": { "columns": { "target": {"type": "string"}, diff --git a/ovn-ic-nb.xml b/ovn-ic-nb.xml index 304e100ff..90d4694c4 100644 --- a/ovn-ic-nb.xml +++ b/ovn-ic-nb.xml @@ -120,6 +120,76 @@ </group> </table> + <table name="Transit_Router" title="Transit logical router"> + <p> + Each row represents one transit logical router for interconnection + between different OVN deployments (availability zones). + </p> + + <group title="Naming"> + <column name="name"> + A name that uniquely identifies the transit logical router. + </column> + </group> + + <group title="Common Columns"> + <column name="other_config"/> + <column name="external_ids"> + See <em>External IDs</em> at the beginning of this document. + </column> + </group> + </table> + + <table name="Transit_Router_Port" title="Transit logical router"> + <p> + Each row represents one transit logical router for interconnection + between different OVN deployments (availability zones). + </p> + + <group title="Naming"> + <column name="name"> + A name that uniquely identifies the transit logical router port. + </column> + </group> + + <column name="mac"> + The Ethernet address that belongs to this router port. + </column> + + <column name="chassis"> + The chassis this router port should be bound to. + </column> + + <column name="nb_ic_uuid"> + This is the UUID of the northbound IC logical datapath this port is + associated with. + </column> + + <column name="transit_router"> + The name of the <code>Transit_Router</code> this port belongs to. + </column> + + <column name="networks"> + <p> + The IP addresses and netmasks of the router port. For example, + <code>192.168.0.1/24</code> indicates that the router's IP + address is 192.168.0.1 and that packets destined to + 192.168.0.<var>x</var> should be routed to this port. + These are optional. + </p> + + <p> + A logical router port always adds a link-local IPv6 address + (fe80::/64) automatically generated from the interface's MAC + address using the modified EUI-64 format. + </p> + </column> + + <group title="Common Columns"> + <column name="other_config"/> + </group> + </table> + <table name="SSL"> SSL/TLS configuration for ovn-nb database access. diff --git a/ovn-ic-sb.ovsschema b/ovn-ic-sb.ovsschema index 34b5457bb..5880729e8 100644 --- a/ovn-ic-sb.ovsschema +++ b/ovn-ic-sb.ovsschema @@ -1,7 +1,7 @@ { "name": "OVN_IC_Southbound", "version": "2.2.0", - "cksum": "2294868959 8438", + "cksum": "662060257 9716", "tables": { "IC_SB_Global": { "columns": { @@ -58,6 +58,13 @@ "Datapath_Binding": { "columns": { "transit_switch": {"type": "string"}, + "type": {"type": {"key": {"type": "string", + "enum": ["set", + ["transit-switch", + "transit-router"]]}}}, + "nb_ic_uuid": {"type": {"key": {"type": "uuid"}, + "min": 1, + "max": 1}}, "tunnel_key": { "type": {"key": {"type": "integer", "minInteger": 1, @@ -65,7 +72,7 @@ "external_ids": { "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}}}, - "indexes": [["tunnel_key"]], + "indexes": [["nb_ic_uuid"],["tunnel_key"]], "isRoot": true}, "Port_Binding": { "columns": { @@ -83,15 +90,29 @@ "refType": "weak"}, "min": 0, "max": 1}}, "address": {"type": "string"}, + "type": {"type": {"key": {"type": "string", + "enum": ["set", + ["transit-switch", + "transit-router"]]}}}, + "nb_ic_uuid": {"type": {"key": {"type": "uuid"}, + "min": 1, + "max": 1}}, "external_ids": {"type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}}}, - "indexes": [["transit_switch", "tunnel_key"], ["logical_port"]], + "indexes": [["nb_ic_uuid", "tunnel_key"]], "isRoot": true}, "Route": { "columns": { "transit_switch": {"type": "string"}, + "type": {"type": {"key": {"type": "string", + "enum": ["set", + ["transit-switch", + "transit-router"]]}}}, + "nb_ic_uuid": {"type": {"key": {"type": "uuid"}, + "min": 1, + "max": 1}}, "availability_zone": {"type": {"key": {"type": "uuid", "refTable": "Availability_Zone"}}}, "route_table": {"type": "string"}, @@ -104,8 +125,8 @@ "external_ids": { "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}}}, - "indexes": [["transit_switch", "availability_zone", "route_table", - "ip_prefix", "nexthop"]], + "indexes": [["nb_ic_uuid", "type", "availability_zone", + "route_table", "ip_prefix", "nexthop"]], "isRoot": true}, "Connection": { "columns": { diff --git a/ovn-ic-sb.xml b/ovn-ic-sb.xml index 35dc1f509..2e466271b 100644 --- a/ovn-ic-sb.xml +++ b/ovn-ic-sb.xml @@ -213,6 +213,15 @@ db="OVN_IC_Northbound"/> table. </column> + <column name="type"> + Can be one of <code>transit-switch</code> or <code>transit-router</code> + </column> + + <column name="nb_ic_uuid" type='{"type": "string"}'> + This is the UUID of the corresponding northbound IC logical datapath + represented by this southbound <code>Datapath_Binding</code>. + </column> + <column name="tunnel_key"> <p> The tunnel key value to which the logical datapath is bound. The key @@ -302,6 +311,15 @@ </p> </column> + <column name="type"> + Can be one of <code>switch-port</code> or <code>router-port</code> + </column> + + <column name="nb_ic_uuid" type='{"type": "string"}'> + This is the UUID of the corresponding northbound IC logical datapath + represented by this southbound <code>Datapath_Binding</code>. + </column> + </group> <group title="Common Columns"> @@ -323,6 +341,16 @@ The name of the transit switch, upon which the route is advertised. </column> + <column name="type"> + Can be one of <code>transit-switch</code> or + <code>transit-router</code> + </column> + + <column name="nb_ic_uuid" type='{"type": "string"}'> + This is the UUID of the corresponding northbound IC logical datapath + represented by this southbound <code>Datapath_Binding</code>. + </column> + <column name="availability_zone"> The availability zone that has advertised the route. </column> -- 2.50.0 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
