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: 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)

View 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;
}

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);
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);

View 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 */