Message ID | 92a57390b721a8322913f03184ee5f3d690c2ddf.1627494892.git.lorenzo.bianconi@redhat.com |
---|---|
State | Superseded |
Headers | show |
Series | controller: improve pinctrl ipv6_pd management | expand |
Context | Check | Description |
---|---|---|
ovsrobot/apply-robot | success | apply and check: success |
On 28/07/2021 18:58, Lorenzo Bianconi wrote: > Clear ipv6_ra_pd_list option in port_binding option column in order to > properly update IPv6 prefix info. > > https://bugzilla.redhat.com/show_bug.cgi?id=1983862 > > Fixes: e3a398e914 ("controller: Add ipv6 prefix delegation state machine") > Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com> > --- > controller/pinctrl.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/controller/pinctrl.c b/controller/pinctrl.c > index 2ac227704..ea542a59a 100644 > --- a/controller/pinctrl.c > +++ b/controller/pinctrl.c > @@ -1257,6 +1257,7 @@ fill_ipv6_prefix_state(struct ovsdb_idl_txn *ovnsb_idl_txn, > pfd->last_complete = time_msec(); > pfd->next_announce = pfd->last_complete + pfd->t1; > smap_clone(&options, &pb->options); > + smap_remove(&options, "ipv6_ra_pd_list"); I think the cause of this bug was a duplicate key? If not, could you explain why this resolves the bug? If so, can you explain this in the commit message. > smap_add_format(&options, "ipv6_ra_pd_list", "%d:%s/%d", > pfd->aid, prefix_str, pfd->plen); > sbrec_port_binding_set_options(pb, &options); >
> On 28/07/2021 18:58, Lorenzo Bianconi wrote: > > Clear ipv6_ra_pd_list option in port_binding option column in order to > > properly update IPv6 prefix info. > > > > https://bugzilla.redhat.com/show_bug.cgi?id=1983862 > > > > Fixes: e3a398e914 ("controller: Add ipv6 prefix delegation state machine") > > Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com> > > --- > > controller/pinctrl.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/controller/pinctrl.c b/controller/pinctrl.c > > index 2ac227704..ea542a59a 100644 > > --- a/controller/pinctrl.c > > +++ b/controller/pinctrl.c > > @@ -1257,6 +1257,7 @@ fill_ipv6_prefix_state(struct ovsdb_idl_txn *ovnsb_idl_txn, > > pfd->last_complete = time_msec(); > > pfd->next_announce = pfd->last_complete + pfd->t1; > > smap_clone(&options, &pb->options); > > + smap_remove(&options, "ipv6_ra_pd_list"); > > I think the cause of this bug was a duplicate key? If not, could you > explain why this resolves the bug? > > If so, can you explain this in the commit message. the root cause of the issue is if option already contains a value for the "ipv6_ra_pd_list" the ipv6_ra_pd_list will fail so we need to remove the stale value first. I will improve commit log. Regards, Lorenzo > > > smap_add_format(&options, "ipv6_ra_pd_list", "%d:%s/%d", > > pfd->aid, prefix_str, pfd->plen); > > sbrec_port_binding_set_options(pb, &options); > > >
diff --git a/controller/pinctrl.c b/controller/pinctrl.c index 2ac227704..ea542a59a 100644 --- a/controller/pinctrl.c +++ b/controller/pinctrl.c @@ -1257,6 +1257,7 @@ fill_ipv6_prefix_state(struct ovsdb_idl_txn *ovnsb_idl_txn, pfd->last_complete = time_msec(); pfd->next_announce = pfd->last_complete + pfd->t1; smap_clone(&options, &pb->options); + smap_remove(&options, "ipv6_ra_pd_list"); smap_add_format(&options, "ipv6_ra_pd_list", "%d:%s/%d", pfd->aid, prefix_str, pfd->plen); sbrec_port_binding_set_options(pb, &options);
Clear ipv6_ra_pd_list option in port_binding option column in order to properly update IPv6 prefix info. https://bugzilla.redhat.com/show_bug.cgi?id=1983862 Fixes: e3a398e914 ("controller: Add ipv6 prefix delegation state machine") Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com> --- controller/pinctrl.c | 1 + 1 file changed, 1 insertion(+)