1
0
mirror of https://gitlab.labs.nic.cz/labs/bird.git synced 2024-05-11 16:54:54 +00:00

Fixes in generalized import limits.

This commit is contained in:
Ondrej Zajicek
2012-04-21 21:05:36 +02:00
parent 334a0ed24d
commit 7d0a31deed
6 changed files with 54 additions and 35 deletions

View File

@@ -375,13 +375,24 @@ extern struct proto_config *cf_dev_proto;
#define PLA_RESTART 4 /* Force protocol restart */
#define PLA_DISABLE 5 /* Shutdown and disable protocol */
#define PLS_INITIAL 0 /* Initial limit state after protocol start */
#define PLS_ACTIVE 1 /* Limit was hit */
#define PLS_BLOCKED 2 /* Limit is active and blocking new routes */
struct proto_limit {
u32 limit; /* Maximum number of prefixes */
byte action; /* Action to take (PLA_*) */
byte active; /* Limit is active */
byte state; /* State of limit (PLS_*) */
};
int proto_notify_limit(struct announce_hook *ah, struct proto_limit *l);
void proto_notify_limit(struct announce_hook *ah, struct proto_limit *l, u32 rt_count);
static inline void proto_reset_limit(struct proto_limit *l)
{
if (l)
l->state = PLS_INITIAL;
}
/*
* Route Announcement Hook