From 674824239d5d54ff5ec0da633741db9c252855ac Mon Sep 17 00:00:00 2001 From: Felix Huettner Date: Wed, 18 Dec 2024 11:25:03 +0100 Subject: [PATCH] northd: Sync routing data to pb. this allows the the ovn-controller to later find all ports that participate in dynamic routing. Signed-off-by: Felix Huettner Signed-off-by: 0-day Robot --- northd/northd.c | 15 +++++++++++++++ ovn-nb.xml | 23 +++++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/northd/northd.c b/northd/northd.c index c6344b48af..903ddf732b 100644 --- a/northd/northd.c +++ b/northd/northd.c @@ -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); diff --git a/ovn-nb.xml b/ovn-nb.xml index eb7ee72dfe..2726a20176 100644 --- a/ovn-nb.xml +++ b/ovn-nb.xml @@ -3776,6 +3776,29 @@ or + + + Only relevant if on the respective Logical_Router is set + to true. + + 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. + + + + Only relevant if on the respective Logical_Router is set + to true. + + 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. +