diff options
author | Martin Mares <mj@ucw.cz> | 1998-11-29 15:40:39 +0100 |
---|---|---|
committer | Martin Mares <mj@ucw.cz> | 1998-11-29 15:40:39 +0100 |
commit | bd5d0d62f10c65d56e1900014be5989a3feb8380 (patch) | |
tree | 33acdff0db62a4221888232cc23361c3bc830885 | |
parent | 0cf86f0fc34c7daf020a9189279644af89e273a1 (diff) | |
download | bird-bd5d0d62f10c65d56e1900014be5989a3feb8380.tar bird-bd5d0d62f10c65d56e1900014be5989a3feb8380.zip |
Allow setting debug value and `disabled' flag in protocol definition.
-rw-r--r-- | bird.conf | 5 | ||||
-rw-r--r-- | nest/config.Y | 6 | ||||
-rw-r--r-- | nest/protocol.h | 1 |
3 files changed, 9 insertions, 3 deletions
@@ -6,8 +6,9 @@ router id 62.168.0.1 -define xyzzy = 120+10; +define xyzzy = 120+10 protocol rip MyRIP_test { - preference xyzzy; + preference xyzzy + debug all } diff --git a/nest/config.Y b/nest/config.Y index f467a1a..9efebbe 100644 --- a/nest/config.Y +++ b/nest/config.Y @@ -12,7 +12,7 @@ static struct proto *this_proto; CF_DECLS -CF_KEYWORDS(ROUTER, ID, PROTOCOL, PREFERENCE) +CF_KEYWORDS(ROUTER, ID, PROTOCOL, PREFERENCE, DISABLED, DEBUG, ALL, OFF) %type <i> idval @@ -58,6 +58,10 @@ proto_item: if ($2 < 0 || $2 > 255) cf_error("Invalid preference"); this_proto->preference = $2; } + | DISABLED { this_proto->disabled = 1; } + | DEBUG expr { this_proto->debug = $2; } + | DEBUG ALL { this_proto->debug = ~0; } + | DEBUG OFF { this_proto->debug = 0; } ; CF_CODE diff --git a/nest/protocol.h b/nest/protocol.h index d94e02d..34624e9 100644 --- a/nest/protocol.h +++ b/nest/protocol.h @@ -60,6 +60,7 @@ struct proto { pool *pool; /* Local objects */ unsigned preference; /* Default route preference */ unsigned state; /* PRS_... */ + unsigned disabled; /* Manually disabled */ void (*if_notify)(struct proto *, unsigned flags, struct iface *new, struct iface *old); void (*rt_notify)(struct proto *, struct network *net, struct rte *new, struct rte *old); |