Allow setting debug value and `disabled' flag in protocol definition.

This commit is contained in:
Martin Mares 1998-11-29 14:40:39 +00:00
parent 0cf86f0fc3
commit bd5d0d62f1
3 changed files with 9 additions and 3 deletions

View file

@ -6,8 +6,9 @@
router id 62.168.0.1 router id 62.168.0.1
define xyzzy = 120+10; define xyzzy = 120+10
protocol rip MyRIP_test { protocol rip MyRIP_test {
preference xyzzy; preference xyzzy
debug all
} }

View file

@ -12,7 +12,7 @@ static struct proto *this_proto;
CF_DECLS CF_DECLS
CF_KEYWORDS(ROUTER, ID, PROTOCOL, PREFERENCE) CF_KEYWORDS(ROUTER, ID, PROTOCOL, PREFERENCE, DISABLED, DEBUG, ALL, OFF)
%type <i> idval %type <i> idval
@ -58,6 +58,10 @@ proto_item:
if ($2 < 0 || $2 > 255) cf_error("Invalid preference"); if ($2 < 0 || $2 > 255) cf_error("Invalid preference");
this_proto->preference = $2; 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 CF_CODE

View file

@ -60,6 +60,7 @@ struct proto {
pool *pool; /* Local objects */ pool *pool; /* Local objects */
unsigned preference; /* Default route preference */ unsigned preference; /* Default route preference */
unsigned state; /* PRS_... */ unsigned state; /* PRS_... */
unsigned disabled; /* Manually disabled */
void (*if_notify)(struct proto *, unsigned flags, struct iface *new, struct iface *old); 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); void (*rt_notify)(struct proto *, struct network *net, struct rte *new, struct rte *old);