From 34aa744869baf48e04f94f63f8e44274409a51a1 Mon Sep 17 00:00:00 2001 From: bisdhdh Date: Thu, 24 Oct 2019 12:10:37 +0530 Subject: [PATCH] bgpd: BGP-GR peer router restart-time should be reset. When the peer router's gr mode had changed from helper/restart to disable. The local bgp gr router should reset the peer router's restart-time stored. Signed-off-by: Biswajit Sadhu --- bgpd/bgp_open.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/bgpd/bgp_open.c b/bgpd/bgp_open.c index 82a17671e9..57df4d0967 100644 --- a/bgpd/bgp_open.c +++ b/bgpd/bgp_open.c @@ -830,6 +830,7 @@ static int bgp_capability_parse(struct peer *peer, size_t length, int ret; struct stream *s = BGP_INPUT(peer); size_t end = stream_get_getp(s) + length; + uint16_t restart_flag_time = 0; assert(STREAM_READABLE(s) >= length); @@ -1006,6 +1007,12 @@ static int bgp_capability_parse(struct peer *peer, size_t length, caphdr.length); stream_set_getp(s, start + caphdr.length); } + + if (!CHECK_FLAG(peer->cap, PEER_CAP_RESTART_RCV)) { + UNSET_FLAG(restart_flag_time, 0xF000); + peer->v_gr_restart = restart_flag_time; + } + } return 0; } -- 2.39.5