summaryrefslogtreecommitdiffstats
path: root/proto/bgp/bgp.h
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2009-06-04 13:31:09 +0200
committerOndrej Zajicek <santiago@crfreenet.org>2009-06-04 13:31:09 +0200
commit72b28a041df18f0da2e6a85360d6935c6a2db471 (patch)
treebad02619dbb7181cb49dba4abcd9aa43c5fa39ab /proto/bgp/bgp.h
parent925fe2d3de0e12c644f91f94d13bf388aeda9b57 (diff)
downloadbird-72b28a041df18f0da2e6a85360d6935c6a2db471.tar
bird-72b28a041df18f0da2e6a85360d6935c6a2db471.zip
Implements import route limits.
Diffstat (limited to 'proto/bgp/bgp.h')
-rw-r--r--proto/bgp/bgp.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/proto/bgp/bgp.h b/proto/bgp/bgp.h
index 8477f9e..1f29d59 100644
--- a/proto/bgp/bgp.h
+++ b/proto/bgp/bgp.h
@@ -31,6 +31,7 @@ struct bgp_config {
int rr_client; /* Whether neighbor is RR client of me */
int rs_client; /* Whether neighbor is RS client of me */
int advertise_ipv4; /* Whether we should add IPv4 capability advertisement to OPEN message */
+ u32 route_limit; /* Number of routes that may be imported, 0 means disable limit */
unsigned connect_retry_time;
unsigned hold_time, initial_hold_time;
unsigned keepalive_time;
@@ -132,6 +133,7 @@ void bgp_conn_enter_established_state(struct bgp_conn *conn);
void bgp_conn_enter_close_state(struct bgp_conn *conn);
void bgp_conn_enter_idle_state(struct bgp_conn *conn);
void bgp_store_error(struct bgp_proto *p, struct bgp_conn *c, u8 class, u32 code);
+int bgp_apply_limits(struct bgp_proto *p);
#ifdef LOCAL_DEBUG
@@ -256,8 +258,11 @@ void bgp_log_error(struct bgp_proto *p, char *msg, unsigned code, unsigned subco
#define BEM_NEIGHBOR_LOST 1
#define BEM_INVALID_NEXT_HOP 2
-#define BEM_INVALID_MD5 3 /* MD5 authentication kernel request failed (possibly not supported */
+#define BEM_INVALID_MD5 3 /* MD5 authentication kernel request failed (possibly not supported) */
+/* Automatic shutdown error codes */
+
+#define BEA_ROUTE_LIMIT_EXCEEDED 1
/* Well-known communities */