diff options
-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); |