diff options
author | Ondrej Zajicek <santiago@crfreenet.org> | 2012-01-24 11:31:00 +0100 |
---|---|---|
committer | Ondrej Zajicek <santiago@crfreenet.org> | 2012-01-24 11:31:00 +0100 |
commit | 39c028e9e9e3acf840051f4271fadd4939fde2af (patch) | |
tree | d6ca0ff9816965b31cb2ee4794c1a1c65a427f7d /nest | |
parent | 09686693d35bd71187847c95c0967d4125215b97 (diff) |
Assign default protocol preference via proto_config_new().
The patch from Alexander V. Chernikov.
Diffstat (limited to 'nest')
-rw-r--r-- | nest/config.Y | 1 | ||||
-rw-r--r-- | nest/proto.c | 1 | ||||
-rw-r--r-- | nest/protocol.h | 1 | ||||
-rw-r--r-- | nest/rt-dev.c | 1 |
4 files changed, 3 insertions, 1 deletions
diff --git a/nest/config.Y b/nest/config.Y index a6baf4ea..3fcfa528 100644 --- a/nest/config.Y +++ b/nest/config.Y @@ -219,7 +219,6 @@ CF_ADDTO(proto, dev_proto '}') dev_proto_start: proto_start DIRECT { this_proto = proto_config_new(&proto_device, sizeof(struct rt_dev_config), $1); - this_proto->preference = DEF_PREF_DIRECT; init_list(&DIRECT_CFG->iface_list); } ; diff --git a/nest/proto.c b/nest/proto.c index d55c348d..0fc72ce1 100644 --- a/nest/proto.c +++ b/nest/proto.c @@ -200,6 +200,7 @@ proto_config_new(struct protocol *pr, unsigned size, int class) c->global = new_config; c->protocol = pr; c->name = pr->name; + c->preference = pr->preference; c->class = class; c->out_filter = FILTER_REJECT; c->table = c->global->master_rtc; diff --git a/nest/protocol.h b/nest/protocol.h index 3766e15e..a83c4ffc 100644 --- a/nest/protocol.h +++ b/nest/protocol.h @@ -39,6 +39,7 @@ struct protocol { char *template; /* Template for automatic generation of names */ int name_counter; /* Counter for automatic name generation */ int attr_class; /* Attribute class known to this protocol */ + unsigned preference; /* Default protocol preference */ void (*preconfig)(struct protocol *, struct config *); /* Just before configuring */ void (*postconfig)(struct proto_config *); /* After configuring each instance */ diff --git a/nest/rt-dev.c b/nest/rt-dev.c index 497ee808..54cb14ba 100644 --- a/nest/rt-dev.c +++ b/nest/rt-dev.c @@ -109,6 +109,7 @@ dev_copy_config(struct proto_config *dest, struct proto_config *src) struct protocol proto_device = { name: "Direct", template: "direct%d", + preference: DEF_PREF_DIRECT, init: dev_init, reconfigure: dev_reconfigure, copy_config: dev_copy_config |