@@ -3240,6 +3240,7 @@ ovn_port_update_sbrec(struct northd_input *input_data,
ds_destroy(&s);
struct smap ids = SMAP_INITIALIZER(&ids);
+ smap_clone(&ids, &op->nbrp->external_ids);
sbrec_port_binding_set_external_ids(op->sb, &ids);
sbrec_port_binding_set_nat_addresses(op->sb, NULL, 0);
@@ -2895,6 +2895,12 @@
<group title="Common Columns">
<column name="external_ids">
See <em>External IDs</em> at the beginning of this document.
+ <p>
+ The <code>ovn-northd</code> program copies all these pairs into the
+ <ref column="external_ids"/> column of the
+ <ref table="Port_Binding"/> table in <ref db="OVN_Southbound"/>
+ database.
+ </p>
</column>
</group>
</table>
@@ -3354,7 +3354,8 @@ tcp.flags = RST;
<p>
The <code>ovn-northd</code> program populates this column with
all entries into the <ref column="external_ids"/> column of the
- <ref table="Logical_Switch_Port"/> table of the
+ <ref table="Logical_Switch_Port"/> and
+ <ref table="Logical_Router_Port"/> tables of the
<ref db="OVN_Northbound"/> database.
</p>
</column>
@@ -144,6 +144,20 @@ AT_CHECK([test x`ovn-nbctl lsp-get-up S1-R1` = xup])
AT_CLEANUP
])
+OVN_FOR_EACH_NORTHD([
+AT_SETUP([check external id propagation to SBDB])
+ovn_start
+
+ovn-nbctl lr-add ro
+ovn-nbctl lrp-add ro lrp0 00:00:00:00:00:01 192.168.1.1/24
+ovn-nbctl --wait=sb set logical_router_port lrp0 external_ids=test=123
+AT_CHECK([ovn-sbctl --columns=external_ids --bare find Port_Binding logical_port=lrp0],
+[0], [test=123
+])
+
+AT_CLEANUP
+])
+
OVN_FOR_EACH_NORTHD([
AT_SETUP([check IPv6 RA config propagation to SBDB])
ovn_start