On Mon, Oct 20, 2025 at 11:22:09AM +0200, Ales Musil wrote: > On Fri, Oct 17, 2025 at 1:59 PM Mairtin O'Loingsigh via dev < > [email protected]> wrote: > > > Add type and nb_ic_uuid to Datapath_Binding adn Port_Binding > > 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]> > > --- > > > > Hi Mairtin, > > thank you for the v5. I have a few small comments down below. > > > > ovn-ic-nb.ovsschema | 36 +++++++++++++++++++++-- > > ovn-ic-nb.xml | 70 +++++++++++++++++++++++++++++++++++++++++++++ > > ovn-ic-sb.ovsschema | 23 +++++++++++++-- > > ovn-ic-sb.xml | 18 ++++++++++++ > > 4 files changed, 142 insertions(+), 5 deletions(-) > > > > diff --git a/ovn-ic-nb.ovsschema b/ovn-ic-nb.ovsschema > > index 8145b0335..ca67a2fa9 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.3.0", > > + "cksum": "1918565391 5082", > > "tables": { > > "IC_NB_Global": { > > "columns": { > > @@ -35,6 +35,38 @@ > > "min": 0, "max": "unlimited"}}}, > > "isRoot": true, > > "indexes": [["name"]]}, > > + "Transit_Router": { > > + "columns": { > > + "name": {"type": "string"}, > > + "ports": {"type": {"key": {"type": "uuid", > > + "refTable": > > "Transit_Router_Port", > > + "refType": "strong"}, > > + "min": 0, > > + "max": "unlimited"}}, > > + "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"}}, > > + "tr_uuid": {"type": {"key": {"type": "uuid"}, > > + "min": 1, > > + "max": 1}}}, > > + "isRoot": false, > > + "indexes": [["name"]]}, > > "Connection": { > > "columns": { > > "target": {"type": "string"}, > > diff --git a/ovn-ic-nb.xml b/ovn-ic-nb.xml > > index 304e100ff..a3a35baf2 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> > > + > > + <column name="ports"> > > + The router's ports. > > + </column> > > + > > + <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="tr_uuid"> > > + This is the UUID of the northbound IC logical datapath this port is > > + associated with. > > + </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 967ae637f..a11c9a333 100644 > > --- a/ovn-ic-sb.ovsschema > > +++ b/ovn-ic-sb.ovsschema > > @@ -1,7 +1,7 @@ > > { > > "name": "OVN_IC_Southbound", > > "version": "2.3.0", > > - "cksum": "4059944648 8639", > > + "cksum": "3834405974 9713", > > "tables": { > > "IC_SB_Global": { > > "columns": { > > @@ -58,6 +58,14 @@ > > "Datapath_Binding": { > > "columns": { > > "transit_switch": {"type": "string"}, > > + "type": {"type": {"key": {"type": "string", > > + "enum": ["set", > > + ["transit-switch", > > + > > "transit-router"]]}, > > + "min": 0, "max": > > 1}}, > > + "nb_ic_uuid": {"type": {"key": {"type": "uuid"}, > > + "min": 0, > > + "max": 1}}, > > "tunnel_key": { > > "type": {"key": {"type": "integer", > > "minInteger": 1, > > @@ -65,7 +73,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,11 +91,20 @@ > > "refType": "weak"}, > > "min": 0, "max": 1}}, > > "address": {"type": "string"}, > > + "type": {"type": {"key": {"type": "string", > > + "enum": ["set", > > + ["transit-switch-port", > > + > > "transit-router-port"]]}, > > + "min": 0, "max": 1}}, > > + "nb_ic_uuid": {"type": {"key": {"type": "uuid"}, > > + "min": 0, > > + "max": 1}}, > > "external_ids": {"type": {"key": "string", > > "value": "string", > > "min": 0, > > "max": "unlimited"}}}, > > - "indexes": [["transit_switch", "tunnel_key"], > > ["logical_port"]], > > + "indexes": [["transit_switch", "nb_ic_uuid", "tunnel_key"], > > + ["nb_ic_uuid", "logical_port"]], > > "isRoot": true}, > > "Route": { > > "columns": { > > diff --git a/ovn-ic-sb.xml b/ovn-ic-sb.xml > > index 924aaac5f..8ad3fa556 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"}'> > > > > nit: The type should be uuid. Ack: Ill fix this > > > > + 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"}'> > > > > nit: Same here, the type should be uuid. Ack: Ill fix this > > > > + 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"> > > -- > > 2.51.0 > > > > _______________________________________________ > > dev mailing list > > [email protected] > > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > > > > Thanks for the review Ales
_______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
