CVSROOT:        /cvs
Module name:    src
Changes by:     [email protected] 2026/09/25 14:45:41

Modified files:
        usr.sbin/bgpd  : bgpd.h session.c session_bgp.c 

Log message:
Adjust graceful restart timer handling for multi-AFI/SAFI sessions

The timer is global for all AFI/SAFI but the first EoR would clear the timer
which then can result in stale routes. Instead stop clearing the timer and
use a new flag CAPA_GR_FINISHED. The code no longer clears CAPA_GR_RESTARTING
on EoR but instead sets CAPA_GR_FINISHED and so when the timer fires the
loop over all AFI/SAFI pairs will will skip all the ones that only have
CAPA_GR_RESTARTING set (but no CAPA_GR_FINISHED).

On top of this improve parse_capabilities() by respecting that only the last
instance of the capability matters. Also make sure capa_neg_calc() does not
write anything to capa.neg.grestart if the capability is disabled on our
end.

Reported by N0zoM1z0
OK tb@

Reply via email to