diff options
author | Donald Sharp <sharpd@cumulusnetworks.com> | 2018-09-11 14:13:42 +0200 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2018-10-01 16:58:06 +0200 |
commit | 9bf904cc8b05b0771665291d9a7df34a253ac6de (patch) | |
tree | 21be75b6c4f7f0349205996cdf2f8c66ccb44321 /bgpd/bgp_errors.c | |
parent | Merge pull request #3086 from patrasar/1836 (diff) | |
download | frr-9bf904cc8b05b0771665291d9a7df34a253ac6de.tar.xz frr-9bf904cc8b05b0771665291d9a7df34a253ac6de.zip |
bgpd: Try to notice when configuration changes during startup
During peer startup there exists the possibility that both
locally and remote peers try to start communication at the
same time. In addition it is possible for local configuration
to change at the same time this is going on. When this happens
try to notice that the remote peer may be in opensent or openconfirm
and if so we need to restart the connection from both sides.
Additionally try to write a bit of extra code in peer_xfer_conn
to notice when this happens and to emit a error message to
the end user about this happening so that it can be cleaned up.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'bgpd/bgp_errors.c')
-rw-r--r-- | bgpd/bgp_errors.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/bgpd/bgp_errors.c b/bgpd/bgp_errors.c index bd42901c2..7cebd0e48 100644 --- a/bgpd/bgp_errors.c +++ b/bgpd/bgp_errors.c @@ -463,6 +463,12 @@ static struct log_ref ferr_bgp_err[] = { .suggestion = "Gather log files from the router and open an issue, Restart FRR" }, { + .code = EC_BGP_DOPPELGANGER_CONFIG, + .title = "BGP has detected a configuration overwrite during peer collision resolution", + .description = "As part of BGP startup, the peer and ourselves can start connections to each other at the same time. During this process BGP received additional configuration, but it was only applied to one of the two nascent connections. Depending on the result of collision detection and resolution this configuration might be lost. To remedy this, after performing collision detection and resolution the peer session has been reset in order to apply the new configuration.", + .suggestion = "Gather data and open a Issue so that this developmental escape can be fixed, the peer should have been reset", + }, + { .code = END_FERR, } }; |