diff options
author | Chris Hall <GMCH@hestia.halldom.com> | 2010-08-04 11:20:31 +0100 |
---|---|---|
committer | Chris Hall <GMCH@hestia.halldom.com> | 2010-08-04 11:20:31 +0100 |
commit | 11fe7d1d77cfd7b29ea14cc05b7fb2ea6ba13b74 (patch) | |
tree | 09b66e2a01eac2c3a8f610fed5bec9fbb062abfb /bgpd/bgp_open_state.h | |
parent | 4af8f7adc4fe05de92cb11912af029c623feb821 (diff) | |
download | quagga-11fe7d1d77cfd7b29ea14cc05b7fb2ea6ba13b74.tar.bz2 quagga-11fe7d1d77cfd7b29ea14cc05b7fb2ea6ba13b74.tar.xz |
Fix various capability flags so that sessions are restarted.
For some reason (unknown) changing the following did NOT restart any
active session:
neighbor dont-capability-negotiate
neighbor override-capability
neighbor strict-capability-match
since these can all change the nature of a session, this seems to be
a (long time) bug, and has been fixed.
Also, per RFC 5492: if (during OpenSent and OpenConfirm) get a
NOTIFICATION: "Open/Unsupported Optional Parameter", treat that as
"don't understand capabilities" and suppress sending of capabilities.
Advanced to "ex05".
Diffstat (limited to 'bgpd/bgp_open_state.h')
-rw-r--r-- | bgpd/bgp_open_state.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/bgpd/bgp_open_state.h b/bgpd/bgp_open_state.h index 8ef109bd..8c30712b 100644 --- a/bgpd/bgp_open_state.h +++ b/bgpd/bgp_open_state.h @@ -92,9 +92,9 @@ struct bgp_open_state unsigned holdtime ; /* in seconds */ bgp_id_t bgp_id ; /* an IPv4 address -- *network order* */ - int can_capability ; /* false => don't do capabilities */ + bool can_capability ; /* false => don't do capabilities */ - int can_as4 ; /* true/false */ + bool can_as4 ; as2_t my_as2 ; /* AS2 from OPEN message */ qafx_set_t can_mp_ext ; /* will accept, may send these */ @@ -105,14 +105,14 @@ struct bgp_open_state qafx_set_t can_orf_prefix_send ; /* wish to send ORF Prefix-List */ qafx_set_t can_orf_prefix_recv ; /* will accept ORF Prefix-List */ - int can_dynamic ; + bool can_dynamic ; - int can_g_restart ; /* can do graceful restart */ + bool can_g_restart ; /* can do graceful restart */ qafx_set_t can_preserve ; /* can preserve forwarding for these */ qafx_set_t has_preserved ; /* has preserved forwarding for these */ - int has_restarted ; /* Restart State flag */ - int restart_time ; /* Restart Time in seconds */ + bool has_restarted ; /* Restart State flag */ + unsigned restart_time ; /* Restart Time in seconds */ struct vector unknowns ; /* list of bgp_cap_unknown */ struct vector afi_safi ; /* various afi/safi capabilities */ |