summaryrefslogtreecommitdiffstats
path: root/proto/bgp/bgp.h
diff options
context:
space:
mode:
authorMartin Mares <mj@ucw.cz>2000-04-26 01:08:31 +0200
committerMartin Mares <mj@ucw.cz>2000-04-26 01:08:31 +0200
commit6fd766c17eedf4897e2dff712f0e06bb84dd3d8a (patch)
tree4c7c41c268bc05e0544e37dc93a9879ae913f0e0 /proto/bgp/bgp.h
parent8573314326a36cc8c9aa1755e7ad6c51617015c8 (diff)
downloadbird-6fd766c17eedf4897e2dff712f0e06bb84dd3d8a.tar
bird-6fd766c17eedf4897e2dff712f0e06bb84dd3d8a.zip
Implemented automatic restart after error with all the timers needed.
Diffstat (limited to 'proto/bgp/bgp.h')
-rw-r--r--proto/bgp/bgp.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/proto/bgp/bgp.h b/proto/bgp/bgp.h
index 85399c1..5c29488 100644
--- a/proto/bgp/bgp.h
+++ b/proto/bgp/bgp.h
@@ -28,6 +28,11 @@ struct bgp_config {
unsigned connect_retry_time;
unsigned hold_time, initial_hold_time;
unsigned keepalive_time;
+ unsigned start_delay_time; /* Minimum delay between connects */
+ unsigned error_amnesia_time; /* Errors are forgotten after */
+ unsigned error_delay_time_min; /* Time to wait after an error is detected */
+ unsigned error_delay_time_max;
+ unsigned disable_after_error; /* Disable the protocol when error is detected */
};
struct bgp_conn {
@@ -65,6 +70,8 @@ struct bgp_proto {
struct fib prefix_fib; /* Prefixes to be sent */
list bucket_queue; /* Queue of buckets to send */
struct bgp_bucket *withdraw_bucket; /* Withdrawn routes */
+ unsigned startup_delay; /* Time to delay protocol startup by due to errors */
+ bird_clock_t last_connect; /* Time of last connect attempt */
};
struct bgp_prefix {