summaryrefslogtreecommitdiffstats
path: root/proto/bgp/bgp.h
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2009-06-06 18:16:22 +0200
committerOndrej Zajicek <santiago@crfreenet.org>2009-06-06 18:16:22 +0200
commitdd91e467657b2dba84df308d0dc74d268bbfa228 (patch)
tree958ad7529f94bc44af0ffe6e8b38e9379e05078d /proto/bgp/bgp.h
parent2a04b045e480bbf75229f0177abbd7f84d3b7089 (diff)
downloadbird-dd91e467657b2dba84df308d0dc74d268bbfa228.tar
bird-dd91e467657b2dba84df308d0dc74d268bbfa228.zip
Differentiate between error delay and connect/reconnect delay.
The difference is here to reject incoming connections in the first case.
Diffstat (limited to 'proto/bgp/bgp.h')
-rw-r--r--proto/bgp/bgp.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/proto/bgp/bgp.h b/proto/bgp/bgp.h
index 1f29d59..15c7cf0 100644
--- a/proto/bgp/bgp.h
+++ b/proto/bgp/bgp.h
@@ -82,6 +82,7 @@ struct bgp_proto {
ip_addr local_addr; /* Address of the local end of the link to next_hop */
ip_addr source_addr; /* Address used as advertised next hop, usually local_addr */
struct event *event; /* Event for respawning and shutting process */
+ struct timer *startup_timer; /* Timer used to delay protocol startup due to previous errors (startup_delay) */
struct bgp_bucket **bucket_hash; /* Hash table of attribute buckets */
unsigned int hash_size, hash_count, hash_limit;
struct fib prefix_fib; /* Prefixes to be sent */
@@ -241,8 +242,9 @@ void bgp_log_error(struct bgp_proto *p, char *msg, unsigned code, unsigned subco
*/
#define BSS_PREPARE 0 /* Used before ordinary BGP started, i. e. waiting for lock */
-#define BSS_CONNECT 1 /* Ordinary BGP connecting */
-#define BSS_CONNECT_NOCAP 2 /* Legacy BGP connecting (without capabilities) */
+#define BSS_DELAY 1 /* Startup delay due to previous errors */
+#define BSS_CONNECT 2 /* Ordinary BGP connecting */
+#define BSS_CONNECT_NOCAP 3 /* Legacy BGP connecting (without capabilities) */
/* Error classes */