one connection between them), but for connections between a router and
a switch it might matter because a switch has only one router port.
-*** Logical router port names in ACLs
-
-Currently the ACL table documents that the logical router port is
-always named "ROUTER". This can't work directly using logical patch
-ports to connect a logical switch to its logical router, because every
-row in the Logical_Port table must have a unique name. This probably
-means that we should change the convention for the ACL table so that
-the logical router port name is unique; for example, we could change
-the Logical_Router_Port table to require the 'name' column to be
-unique, and then use that name in the ACL table.
-
-Another alternative would be to add a way to have aliases for logical
-ports, but I'm not sure that's a rathole we really want to go down.
-
** OVN_SB schema
*** Allow output to ingress port
{
"name": "OVN_Northbound",
- "version": "1.0.0",
- "cksum": "1432579799 4805",
+ "version": "2.0.0",
+ "cksum": "1378979036 4524",
"tables": {
"Logical_Switch": {
"columns": {
"refType": "strong"},
"min": 0,
"max": "unlimited"}},
- "router_port": {"type": {"key": {"type": "uuid",
- "refTable": "Logical_Router_Port",
- "refType": "weak"},
- "min": 0, "max": 1}},
"external_ids": {
"type": {"key": "string", "value": "string",
"min": 0, "max": "unlimited"}}},
</p>
</column>
- <column name="router_port">
- <p>
- The router port to which this logical switch is connected, or empty if
- this logical switch is not connected to any router. A switch may be
- connected to at most one logical router, but this is not a significant
- restriction because logical routers may be connected into arbitrary
- topologies.
- </p>
-
- <p>
- It is an error for multiple logical switches to refer to the same
- router port.
- </p>
- </column>
-
<column name="acls">
Access control rules that apply to packets within the logical switch.
</column>
A VM (or VIF) interface.
</dd>
+ <dt><code>router</code></dt>
+ <dd>
+ A connection to a logical router.
+ </dd>
+
<dt><code>localnet</code></dt>
<dd>
A connection to a locally accessible network from each
individually below.
</column>
+ <group title="Options for router ports">
+ <p>
+ These options apply when <ref column="type"/> is <code>router</code>.
+ </p>
+
+ <p>
+ A given logical switch may have at most one logical port of type
+ <code>router</code>. (This is not a significant restriction because
+ logical routers may be connected into arbitrary topologies.)
+ </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>
+ </group>
+
<group title="Options for localnet ports">
<p>
These options apply when <ref column="type"/> is
restrictive policy, it is important to remember to allow flows
such as ARP and IPv6 neighbor discovery packets.
</p>
-
- <p>
- In logical switches connected to logical routers, the special
- port name <code>ROUTER</code> refers to the logical router port.
- </p>
</column>
<column name="action">
<ul>
<li>
To attach a logical switch to a logical router. A logical router
- port of this type is referenced by exactly the <ref
- column="router_port" table="Logical_Switch"/> column in exactly one
- <ref table="Logical_Switch"/> row. The <ref column="peer"/> column
- is empty.
+ 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.
</li>
<li>