Added filter_same() for comparision of two filters.

Pavel, please implement this as soon as possible.
This commit is contained in:
Martin Mares 2000-01-16 17:49:32 +00:00
parent bf8558bc9c
commit 30a6108ccc
4 changed files with 10 additions and 5 deletions

3
TODO
View file

@ -25,8 +25,6 @@ Core
- config: executable config files - config: executable config files
- config: when parsing prefix, check zero bits - config: when parsing prefix, check zero bits
- config: reconfiguration
- config: reconfiguration of filters
- config: useless rules when protocols disabled - config: useless rules when protocols disabled
- config: remove protocol startup priority hacks? - config: remove protocol startup priority hacks?
- config: better datetime format - config: better datetime format
@ -54,7 +52,6 @@ show <name> # show everything you know about symbol <name>
Roadmap Roadmap
~~~~~~~ ~~~~~~~
- Dynamic reconfiguration
- Allocators and data structures - Allocators and data structures
- Client - Client
- Remaining bits of IPv6 support (radvd) - Remaining bits of IPv6 support (radvd)

View file

@ -444,3 +444,10 @@ filters_postconfig(void)
printf( "done\n" ); printf( "done\n" );
} }
} }
int
filter_same(struct filter *new, struct filter *old)
{
/* FIXME: This has to be defined! */
return new == old;
}

View 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); int f_run(struct filter *filter, struct rte **rte, struct ea_list **tmp_attrs, struct linpool *tmp_pool);
char *filter_name(struct filter *filter); 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); int val_compare(struct f_val v1, struct f_val v2);
void val_print(struct f_val v); void val_print(struct f_val v);

View file

@ -228,8 +228,8 @@ protos_commit(struct config *new, struct config *old, int force_reconfig)
&& nc->preference == oc->preference && nc->preference == oc->preference
&& nc->disabled == oc->disabled && nc->disabled == oc->disabled
&& nc->table->table == oc->table->table && nc->table->table == oc->table->table
&& nc->in_filter == oc->in_filter && filter_same(nc->in_filter, oc->in_filter)
&& nc->out_filter == oc->out_filter && filter_same(nc->out_filter, oc->out_filter)
&& p->proto_state != PS_DOWN) && p->proto_state != PS_DOWN)
{ {
/* Generic attributes match, try converting them and then ask the protocol */ /* Generic attributes match, try converting them and then ask the protocol */