summaryrefslogtreecommitdiffstats
path: root/nest/route.h
diff options
context:
space:
mode:
Diffstat (limited to 'nest/route.h')
-rw-r--r--nest/route.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/nest/route.h b/nest/route.h
index 0de5455..5fcae2b 100644
--- a/nest/route.h
+++ b/nest/route.h
@@ -140,18 +140,20 @@ typedef struct rte {
struct {
} bgp;
#endif
- struct { /* Routes internally generated by krt sync */
- int src; /* Alleged route source (see krt.h) */
- } krt_sync;
+ struct { /* Routes generated by krt sync (both temporary and inherited ones) */
+ s8 src; /* Alleged route source (see krt.h) */
+ u8 proto; /* Kernel source protocol ID */
+ u8 type; /* Kernel route type */
+ u8 seen; /* Seen during last scan */
+ u32 metric; /* Kernel metric */
+ } krt;
} u;
} rte;
-#define REF_CHOSEN 1 /* Currently chosen route */
-
extern rtable master_table;
void rt_init(void);
-void rt_setup(rtable *, char *);
+void rt_setup(pool *, rtable *, char *);
net *net_find(rtable *tab, unsigned tos, ip_addr addr, unsigned len);
net *net_get(rtable *tab, unsigned tos, ip_addr addr, unsigned len);
rte *rte_find(net *net, struct proto *p);