On Mon, Sep 29, 2025 at 12:18:49PM +0100, Mairtin O'Loingsigh wrote: > 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 > Recheck-request: github-robot-_ovn-kubernetes
_______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
