summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ovn/northd/ovn-northd.c14
-rw-r--r--ovn/ovn-nb.ovsschema5
-rw-r--r--ovn/ovn-nb.xml27
-rw-r--r--tests/ovn.at2
4 files changed, 25 insertions, 23 deletions
diff --git a/ovn/northd/ovn-northd.c b/ovn/northd/ovn-northd.c
index 8fe0c2c9d..2bd31ee26 100644
--- a/ovn/northd/ovn-northd.c
+++ b/ovn/northd/ovn-northd.c
@@ -594,23 +594,20 @@ join_logical_ports(struct northd_context *ctx,
continue;
}
- char name[UUID_LEN + 1];
- snprintf(name, sizeof name, UUID_FMT,
- UUID_ARGS(&nbr->header_.uuid));
- struct ovn_port *op = ovn_port_find(ports, name);
+ struct ovn_port *op = ovn_port_find(ports, nbr->name);
if (op) {
if (op->nbs || op->nbr) {
static struct vlog_rate_limit rl
= VLOG_RATE_LIMIT_INIT(5, 1);
VLOG_WARN_RL(&rl, "duplicate logical router port %s",
- name);
+ nbr->name);
continue;
}
op->nbr = nbr;
list_remove(&op->list);
list_push_back(both, &op->list);
} else {
- op = ovn_port_create(ports, name, NULL, nbr, NULL);
+ op = ovn_port_create(ports, nbr->name, NULL, nbr, NULL);
list_push_back(nb_only, &op->list);
}
@@ -647,10 +644,7 @@ join_logical_ports(struct northd_context *ctx,
sizeof *op->od->router_ports * (op->od->n_router_ports + 1));
op->od->router_ports[op->od->n_router_ports++] = op;
} else if (op->nbr && op->nbr->peer) {
- char peer_name[UUID_LEN + 1];
- snprintf(peer_name, sizeof peer_name, UUID_FMT,
- UUID_ARGS(&op->nbr->peer->header_.uuid));
- op->peer = ovn_port_find(ports, peer_name);
+ op->peer = ovn_port_find(ports, op->nbr->name);
}
}
}
diff --git a/ovn/ovn-nb.ovsschema b/ovn/ovn-nb.ovsschema
index b338c3fc1..9fb8cd10c 100644
--- a/ovn/ovn-nb.ovsschema
+++ b/ovn/ovn-nb.ovsschema
@@ -1,7 +1,7 @@
{
"name": "OVN_Northbound",
- "version": "2.0.0",
- "cksum": "3515938918 4583",
+ "version": "2.0.1",
+ "cksum": "660370796 4618",
"tables": {
"Logical_Switch": {
"columns": {
@@ -89,6 +89,7 @@
"external_ids": {
"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 b6eef036a..a1fa0eeed 100644
--- a/ovn/ovn-nb.xml
+++ b/ovn/ovn-nb.xml
@@ -148,9 +148,10 @@
subnets).
</p>
- <column name="options" key="router-port" type='{"type": "uuid"}'>
- Required. The UUID of the <ref table="Logical_Router_Port"/> to
- which this logical switch port is connected.
+ <column name="options" key="router-port">
+ Required. The <ref column="name"/> of the <ref
+ table="Logical_Router_Port"/> to which this logical switch port is
+ connected.
</column>
</group>
@@ -468,10 +469,14 @@
<column name="name">
<p>
- A name for the logical router port. This name has no special meaning or purpose
- other than to provide convenience for human interaction with the ovn-nb
- database. There is no requirement for the name to be unique. The
- logical router port's UUID should be used as the unique identifier.
+ A name for the logical router port.
+ </p>
+
+ <p>
+ In addition to provide convenience for human interaction with the
+ ovn-nb database, this column is used as reference by its patch port in
+ <ref table="Logical_Port"/> or another logical router port in <ref
+ table="Logical_Router_Port"/>.
</p>
</column>
@@ -502,8 +507,10 @@
<li>
To attach a logical switch to a logical router. A logical router
port of this type is referenced by exactly one <ref
- table="Logical_Port"/> of type <code>router</code>. The <ref
- column="peer"/> column is empty.
+ table="Logical_Port"/> of type <code>router</code>. The value of
+ <ref column="name"/> is set as <code>router-port</code> in column
+ <ref column="options"/> of <ref table="Logical_Port"/>.
+ In this case <ref column="peer"/> column is empty.
</li>
<li>
@@ -518,7 +525,7 @@
<column name="peer">
<p>
For a router port used to connect two logical routers, this
- identifies the other router port in the pair.
+ identifies the other router port in the pair by <ref column="name"/>.
</p>
<p>
diff --git a/tests/ovn.at b/tests/ovn.at
index 68fcc9a95..75933c356 100644
--- a/tests/ovn.at
+++ b/tests/ovn.at
@@ -878,7 +878,7 @@ for i in 1 2 3; do
-- lport-add ls$i lrp$i$j-attachment`
ovn-nbctl \
set Logical_Port lrp$i$j-attachment type=router \
- options:router-port=$lrp_uuid \
+ options:router-port=lrp$i$j \
addresses='"00:00:00:00:ff:'$i$j'"'
done
done