Skip to content

Commit

Permalink
northd: Sync routing data to pb.
Browse files Browse the repository at this point in the history
this allows the the ovn-controller to later find all ports that
participate in dynamic routing.

Signed-off-by: Felix Huettner <[email protected]>
Signed-off-by: 0-day Robot <[email protected]>
  • Loading branch information
felixhuettner authored and ovsrobot committed Dec 18, 2024
1 parent dfe3acb commit 6748242
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 0 deletions.
15 changes: 15 additions & 0 deletions northd/northd.c
Original file line number Diff line number Diff line change
Expand Up @@ -4052,6 +4052,21 @@ sync_pb_for_lrp(struct ovn_port *op,
}
}

if (is_cr_port(op) || chassis_name) {
if (smap_get_bool(&op->nbrp->options, "maintain-vrf", false)) {
smap_add(&new, "maintain-vrf", "true");
}
if (smap_get_bool(&op->od->nbr->options, "dynamic-routing", false)) {
smap_add(&new, "dynamic-routing", "true");
}
const char *ifname = smap_get(&op->nbrp->options,
"dynamic-routing-ifname");
if (ifname) {
smap_add(&new, "dynamic-routing-ifname", ifname);
}
}


const char *ipv6_pd_list = smap_get(&op->sb->options, "ipv6_ra_pd_list");
if (ipv6_pd_list) {
smap_add(&new, "ipv6_ra_pd_list", ipv6_pd_list);
Expand Down
23 changes: 23 additions & 0 deletions ovn-nb.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3776,6 +3776,29 @@ or
</li>
</ul>
</column>

<column name="options" key="maintain-vrf" type='{"type": "boolean"}'>
Only relevant if <ref column="options" key="dynamic-routing"
table="Logical_Router"/> on the respective Logical_Router is set
to <code>true</code>.

If this LRP is bound to a specific chassis then the ovn-controller of
this chassis will maintain a vrf named "ovnvrf" with the datapath id
of the Logical Router appended to it.
This vrf will contain all the routes that should be announced from
this LRP.
</column>

<column name="options" key="dynamic-routing-ifname"
type='{"type": "string"}'>
Only relevant if <ref column="options" key="dynamic-routing"
table="Logical_Router"/> on the respective Logical_Router is set
to <code>true</code>.

Only learn routes associated with the interface specified here.
This allows a single chassis to learn different routes on separate
LRPs bound to this chassis.
</column>
</group>

<group title="Attachment">
Expand Down

0 comments on commit 6748242

Please sign in to comment.