diff options
author | Martin Mares <mj@ucw.cz> | 2000-05-06 22:57:39 +0000 |
---|---|---|
committer | Martin Mares <mj@ucw.cz> | 2000-05-06 22:57:39 +0000 |
commit | ce1da96ee7efc9310f138e4234495557cdef59e2 (patch) | |
tree | b8fb1177f83a9941c7a173093a3fa20256b6c9cc /nest/route.h | |
parent | 84f070020500de40e69e6d00df9d41ecc90a3b23 (diff) |
Added commands `show route protocol <p>' and `show route import <p>' which
show the routing table as exported to the protocol given resp. as returned
from its import control hook.
To get handling of filtered extended attributes right (even in the old
`show route where <filter>' command), the get_route_info hook gets an
attribute list and all protocol specific rte attributes are contained
there as temporary ones. Updated RIP to do that.
Added ea_append() which joins two ea_list's.
Diffstat (limited to 'nest/route.h')
-rw-r--r-- | nest/route.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/nest/route.h b/nest/route.h index cd9e9ff7..1e6fd64b 100644 --- a/nest/route.h +++ b/nest/route.h @@ -206,6 +206,9 @@ struct rt_show_data { struct filter *filter; int verbose; struct fib_iterator fit; + struct proto *import_protocol; + int import_mode, primary_only; + struct config *running_on_config; }; void rt_show(struct rt_show_data *); @@ -326,6 +329,7 @@ int ea_same(ea_list *x, ea_list *y); /* Test whether two ea_lists are identical unsigned int ea_hash(ea_list *e); /* Calculate 16-bit hash value */ void ea_format(eattr *e, byte *buf); #define EA_FORMAT_BUF_SIZE 256 +ea_list *ea_append(ea_list *to, ea_list *what); void rta_init(void); rta *rta_lookup(rta *); /* Get rta equivalent to this one, uc++ */ @@ -335,7 +339,7 @@ static inline void rta_free(rta *r) { if (r && !--r->uc) rta__free(r); } void rta_dump(rta *); void rta_dump_all(void); static inline eattr * rta_find(rta *a, unsigned ea) { return ea_find(a->eattrs, ea); } -void rta_show(struct cli *, rta *); +void rta_show(struct cli *, rta *, ea_list *); extern struct protocol *attr_class_to_protocol[EAP_MAX]; |