summaryrefslogtreecommitdiffstats
path: root/nest
diff options
context:
space:
mode:
authorMartin Mares <mj@ucw.cz>2000-01-17 12:52:50 +0100
committerMartin Mares <mj@ucw.cz>2000-01-17 12:52:50 +0100
commitd272fe22dddcb5c293d6aac18d36e3e3e66406a5 (patch)
tree20710583efb431b87ce836c068825dc12be7f0d2 /nest
parentf7fcb752520759ab3aed274ca608e8e6f96665c8 (diff)
downloadbird-d272fe22dddcb5c293d6aac18d36e3e3e66406a5.tar
bird-d272fe22dddcb5c293d6aac18d36e3e3e66406a5.zip
Separated `official protocol names' used in status dumps from name templates
used for automatic generation of instance names. protocol->name is the official name protocol->template is the name template (usually "name%d"), should be all lowercase. Updated all protocols to define the templates, checked that their configuration grammar includes proto_name which generates the name and interns it in the symbol table.
Diffstat (limited to 'nest')
-rw-r--r--nest/config.Y2
-rw-r--r--nest/protocol.h1
-rw-r--r--nest/rt-dev.c1
3 files changed, 3 insertions, 1 deletions
diff --git a/nest/config.Y b/nest/config.Y
index 0cb1108..4bccc16 100644
--- a/nest/config.Y
+++ b/nest/config.Y
@@ -76,7 +76,7 @@ proto_start: PROTOCOL
proto_name:
/* EMPTY */ {
- struct symbol *s = cf_default_name(this_proto->protocol->name, &this_proto->protocol->name_counter);
+ struct symbol *s = cf_default_name(this_proto->protocol->template, &this_proto->protocol->name_counter);
s->class = SYM_PROTO;
s->def = this_proto;
this_proto->name = s->name;
diff --git a/nest/protocol.h b/nest/protocol.h
index d5b5810..815a7a7 100644
--- a/nest/protocol.h
+++ b/nest/protocol.h
@@ -33,6 +33,7 @@ struct symbol;
struct protocol {
node n;
char *name;
+ char *template; /* Template for automatic generation of names */
unsigned debug; /* Default debugging flags */
int priority; /* Protocol priority (usually 0) */
int name_counter; /* Counter for automatic name generation */
diff --git a/nest/rt-dev.c b/nest/rt-dev.c
index 23d9b56..89b2250 100644
--- a/nest/rt-dev.c
+++ b/nest/rt-dev.c
@@ -88,6 +88,7 @@ dev_reconfigure(struct proto *p, struct proto_config *new)
struct protocol proto_device = {
name: "Direct",
+ template: "direct%d",
priority: 90,
init: dev_init,
reconfigure: dev_reconfigure