Added filter_same() for comparision of two filters.
Pavel, please implement this as soon as possible.
This commit is contained in:
parent
bf8558bc9c
commit
30a6108ccc
4 changed files with 10 additions and 5 deletions
3
TODO
3
TODO
|
@ -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)
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
Loading…
Reference in a new issue