summaryrefslogtreecommitdiff
path: root/proto/static
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2010-11-19 13:46:21 +0100
committerOndrej Zajicek <santiago@crfreenet.org>2010-11-19 13:46:21 +0100
commit391931d45686a807d322878d4b3d5c9634e2dbca (patch)
tree73916db85f6b68eabb5000fdcfe19ade4e7954f3 /proto/static
parent79f561a173c9ceb824d64aa32d82e43ba62acebc (diff)
Minor finalizations of link state checks.
Diffstat (limited to 'proto/static')
-rw-r--r--proto/static/config.Y2
-rw-r--r--proto/static/static.c2
-rw-r--r--proto/static/static.h4
3 files changed, 3 insertions, 5 deletions
diff --git a/proto/static/config.Y b/proto/static/config.Y
index 9f4d7da6..2849015b 100644
--- a/proto/static/config.Y
+++ b/proto/static/config.Y
@@ -32,7 +32,7 @@ static_proto_start: proto_start STATIC {
static_proto:
static_proto_start proto_name '{'
| static_proto proto_item ';'
- | static_proto CHECK LINK ';' { STATIC_CFG->check = STATIC_CHECK_LINK; }
+ | static_proto CHECK LINK bool ';' { STATIC_CFG->check_link = $4; }
| static_proto stat_route ';'
;
diff --git a/proto/static/static.c b/proto/static/static.c
index 4f879bd3..4ee2cbdb 100644
--- a/proto/static/static.c
+++ b/proto/static/static.c
@@ -72,7 +72,7 @@ static_decide(struct static_config *cf, struct static_route *r)
if (!ifa)
return 0;
- if ((cf->check == STATIC_CHECK_LINK) && !(ifa->flags & IF_LINK_UP))
+ if (cf->check_link && !(ifa->flags & IF_LINK_UP))
return 0;
return 1;
diff --git a/proto/static/static.h b/proto/static/static.h
index 40da74c9..5c31e009 100644
--- a/proto/static/static.h
+++ b/proto/static/static.h
@@ -13,11 +13,9 @@ struct static_config {
struct proto_config c;
list iface_routes; /* Routes to search on interface events */
list other_routes; /* Routes hooked to neighbor cache and reject routes */
- int check; /* Condition for route install */
+ int check_link; /* Whether iface link state is used */
};
-#define STATIC_CHECK_NONE 0
-#define STATIC_CHECK_LINK 1
void static_init_config(struct static_config *);