diff options
-rw-r--r-- | TODO | 3 | ||||
-rw-r--r-- | filter/filter.c | 7 | ||||
-rw-r--r-- | filter/filter.h | 1 | ||||
-rw-r--r-- | nest/proto.c | 4 |
4 files changed, 10 insertions, 5 deletions
@@ -25,8 +25,6 @@ Core - config: executable config files - config: when parsing prefix, check zero bits -- config: reconfiguration -- config: reconfiguration of filters - config: useless rules when protocols disabled - config: remove protocol startup priority hacks? - config: better datetime format @@ -54,7 +52,6 @@ show <name> # show everything you know about symbol <name> Roadmap ~~~~~~~ -- Dynamic reconfiguration - Allocators and data structures - Client - Remaining bits of IPv6 support (radvd) diff --git a/filter/filter.c b/filter/filter.c index 84e039b7..558ee61e 100644 --- a/filter/filter.c +++ b/filter/filter.c @@ -444,3 +444,10 @@ filters_postconfig(void) printf( "done\n" ); } } + +int +filter_same(struct filter *new, struct filter *old) +{ + /* FIXME: This has to be defined! */ + return new == old; +} diff --git a/filter/filter.h b/filter/filter.h index 79d14da4..2fe66539 100644 --- a/filter/filter.h +++ b/filter/filter.h @@ -67,6 +67,7 @@ struct rte; int f_run(struct filter *filter, struct rte **rte, struct ea_list **tmp_attrs, struct linpool *tmp_pool); char *filter_name(struct filter *filter); +int filter_same(struct filter *new, struct filter *old); int val_compare(struct f_val v1, struct f_val v2); void val_print(struct f_val v); diff --git a/nest/proto.c b/nest/proto.c index 36829bfd..84b9cd82 100644 --- a/nest/proto.c +++ b/nest/proto.c @@ -228,8 +228,8 @@ protos_commit(struct config *new, struct config *old, int force_reconfig) && nc->preference == oc->preference && nc->disabled == oc->disabled && nc->table->table == oc->table->table - && nc->in_filter == oc->in_filter - && nc->out_filter == oc->out_filter + && filter_same(nc->in_filter, oc->in_filter) + && filter_same(nc->out_filter, oc->out_filter) && p->proto_state != PS_DOWN) { /* Generic attributes match, try converting them and then ask the protocol */ |