summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonatas Abraitis <donatas@opensourcerouting.org>2025-01-17 13:22:08 +0200
committerDonatas Abraitis <donatas@opensourcerouting.org>2025-01-17 13:22:38 +0200
commitd3c46bce3b0db5bb4dd7fb460fce0f7aa1e908a5 (patch)
tree88271b4f6d87e298f2fe8787665a3f705251e4d4
parent8878e385d82bb8cc8b67e29f7bec53e308ed1ae6 (diff)
bgpd: Set the last reset reason correctly if we change capabilities per-peer
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
-rw-r--r--bgpd/bgpd.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c
index c2254ae791..6ee2a10185 100644
--- a/bgpd/bgpd.c
+++ b/bgpd/bgpd.c
@@ -4899,7 +4899,10 @@ static int peer_flag_action_set(const struct peer_flag_action *action_list,
static void peer_flag_modify_action(struct peer *peer, uint64_t flag)
{
- if (flag == PEER_FLAG_DYNAMIC_CAPABILITY)
+ if (flag == PEER_FLAG_DYNAMIC_CAPABILITY || flag == PEER_FLAG_CAPABILITY_ENHE ||
+ flag == PEER_FLAG_CAPABILITY_FQDN || flag == PEER_FLAG_CAPABILITY_SOFT_VERSION ||
+ flag == PEER_FLAG_DONT_CAPABILITY || flag == PEER_FLAG_OVERRIDE_CAPABILITY ||
+ flag == PEER_FLAG_STRICT_CAP_MATCH)
peer->last_reset = PEER_DOWN_CAPABILITY_CHANGE;
else if (flag == PEER_FLAG_PASSIVE)
peer->last_reset = PEER_DOWN_PASSIVE_CHANGE;