]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Added filter_same() for comparision of two filters.
authorMartin Mares <mj@ucw.cz>
Sun, 16 Jan 2000 17:49:32 +0000 (17:49 +0000)
committerMartin Mares <mj@ucw.cz>
Sun, 16 Jan 2000 17:49:32 +0000 (17:49 +0000)
Pavel, please implement this as soon as possible.

TODO
filter/filter.c
filter/filter.h
nest/proto.c

diff --git a/TODO b/TODO
index e932761a0c4f07605d7cd8e8d3e019752126699c..b998bc24075d44d09deadfa32a15bde18dc97e47 100644 (file)
--- a/TODO
+++ b/TODO
@@ -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)
index 84e039b73836d06a8314143102a998672e62d35e..558ee61e9080c06eff91639d25d9430f964488df 100644 (file)
@@ -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;
+}
index 79d14da4ee179e946fbebc146e38a3caacf8bfcc..2fe665398e77b03004f52ccb70fe9d2962a79951 100644 (file)
@@ -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);
index 36829bfda8680ab5ccdaaa633fe4989e6d71d524..84b9cd82aaa11dfd0753b26f348b82c3e8507e09 100644 (file)
@@ -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 */