forked from Mirror/frr
sharpd: fix avoid twice sending NHG_DEL for a nexthop-group
After removing the nexthop of a nexthop group, when the nexthop group
is removed, a nhg removal failure happens:
> ubuntu2204(config)# nexthop-group CCC
> ubuntu2204(config-nh-group)# nexthop 192.0.2.211 loop1
> ubuntu2204(config-nh-group)# no nexthop 192.0.2.211 loop1
> [..]
> 2023/12/05 08:59:22 SHARP: [H3QKG-WH8ZV] Removed nhg 179687505
> ubuntu2204(config-nh-group)# exi
> ubuntu2204(config)# no nexthop-group CCC
> [..]
> 2023/12/05 08:59:27 SHARP: [N030J-V0SFN] Failed removal of nhg 179687505
The NHG_DEL message is sent twice at the nexthop deletion, and at the
nexthop-group deletion. Avoid sending it twice.
Fixes: 82beaf6ae5
("sharpd: fix deleting nhid when suppressing nexthop from nh group")
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
This commit is contained in:
parent
82c1d82d77
commit
f806ec101f
|
@ -174,7 +174,8 @@ static void sharp_nhgroup_delete_cb(const char *name)
|
|||
if (!snhg)
|
||||
return;
|
||||
|
||||
nhg_del(snhg->id);
|
||||
if (sharp_nhgroup_id_is_installed(snhg->id))
|
||||
nhg_del(snhg->id);
|
||||
sharp_nhg_rb_del(&nhg_head, snhg);
|
||||
XFREE(MTYPE_NHG, snhg);
|
||||
}
|
||||
|
|
|
@ -934,6 +934,7 @@ static int nhg_notify_owner(ZAPI_CALLBACK_ARGS)
|
|||
zlog_debug("Failed install of nhg %u", id);
|
||||
break;
|
||||
case ZAPI_NHG_REMOVED:
|
||||
sharp_nhgroup_id_set_installed(id, false);
|
||||
zlog_debug("Removed nhg %u", id);
|
||||
break;
|
||||
case ZAPI_NHG_REMOVE_FAIL:
|
||||
|
|
Loading…
Reference in a new issue