summaryrefslogtreecommitdiffstats
path: root/nest/route.h
diff options
context:
space:
mode:
authorMartin Mares <mj@ucw.cz>2000-04-01 12:19:47 +0200
committerMartin Mares <mj@ucw.cz>2000-04-01 12:19:47 +0200
commit3991d84e8fa9118a43149d4d3304726eb786bd46 (patch)
treea1fdbcdb43b3bc63f228593f017f0389c09f3d0f /nest/route.h
parentf8809249906811683e7e8d2a7b8cdcccde86742a (diff)
downloadbird-3991d84e8fa9118a43149d4d3304726eb786bd46.tar
bird-3991d84e8fa9118a43149d4d3304726eb786bd46.zip
Changed initialization of protocol list -- now we call proto_build() instead
of calling the protocols manually. Implemented printing of dynamic attributes in `show route all'. Each protocol can now register its own attribute class (protocol->attr_class, set to EAP_xxx) and also a callback for naming and formatting of attributes. The callback can return one of the following results: GA_UNKNOWN Attribute not recognized. GA_NAME Attribute name recognized and put to the buffer, generic code should format the value. GA_FULL Both attribute name and value put to the buffer. Please update protocols generating dynamic attributes to provide the attr_class and formatting hook.
Diffstat (limited to 'nest/route.h')
-rw-r--r--nest/route.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/nest/route.h b/nest/route.h
index f180d5e..96ee580 100644
--- a/nest/route.h
+++ b/nest/route.h
@@ -283,6 +283,7 @@ typedef struct eattr {
#define EAP_GENERIC 0 /* Generic attributes */
#define EAP_BGP 1 /* BGP attributes */
#define EAP_RIP 2 /* RIP */
+#define EAP_MAX 3
#define EA_CODE(proto,id) (((proto) << 8) | (id))
#define EA_PROTO(ea) ((ea) >> 8)
@@ -336,6 +337,8 @@ 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 *);
+extern struct protocol *attr_class_to_protocol[EAP_MAX];
+
/*
* Default protocol preferences
*/