diff options
author | Pavel Machek <pavel@ucw.cz> | 1999-10-12 08:27:42 +0200 |
---|---|---|
committer | Pavel Machek <pavel@ucw.cz> | 1999-10-12 08:27:42 +0200 |
commit | d3dd620b96c5960207b9321b416423b8130a4df7 (patch) | |
tree | 984834ecea383ef4a3b6b6e76c487cb6d187e886 /filter/filter.h | |
parent | c79ec2ec1962394f1550afa10a8b396f0e4dfc52 (diff) | |
download | bird-d3dd620b96c5960207b9321b416423b8130a4df7.tar bird-d3dd620b96c5960207b9321b416423b8130a4df7.zip |
Filters: permit variables of prefix types, cleanup around
variables. TODO list added, hopefully complete. Use new features of
filters in bird.conf
Diffstat (limited to 'filter/filter.h')
-rw-r--r-- | filter/filter.h | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/filter/filter.h b/filter/filter.h index f32a98e..ac7162e 100644 --- a/filter/filter.h +++ b/filter/filter.h @@ -31,6 +31,11 @@ struct f_inst { /* Instruction */ struct prefix { ip_addr ip; int len; +#define LEN_MASK 0xff +#define LEN_PLUS 0x10000 +#define LEN_MINUS 0x20000 +#define LEN_RANGE 0x40000 + /* If range then prefix must be in range (len >> 8 & 0xff, len & 0xff) */ }; struct f_val { @@ -66,11 +71,12 @@ int val_compare(struct f_val v1, struct f_val v2); void val_print(struct f_val v); #define F_NOP 0 -#define F_ACCEPT 1 /* Need to preserve ordering: accepts < rejects! */ -#define F_MODIFY 2 /* FIXME: Introduce modification flags instead? */ -#define F_REJECT 3 -#define F_ERROR 4 -#define F_QUITBIRD 5 +#define F_NONL 1 +#define F_ACCEPT 2 /* Need to preserve ordering: accepts < rejects! */ +#define F_MODIFY 3 /* FIXME: Introduce modification flags instead? */ +#define F_REJECT 4 +#define F_ERROR 5 +#define F_QUITBIRD 6 #define FILTER_ACCEPT NULL #define FILTER_REJECT ((void *) 1) @@ -101,4 +107,6 @@ struct f_tree { void *data; }; +#define NEW_F_VAL struct f_val * val; val = cfg_alloc(sizeof(struct f_val)); + #endif |