diff options
author | Martin Mares <mj@ucw.cz> | 1999-08-03 21:34:26 +0200 |
---|---|---|
committer | Martin Mares <mj@ucw.cz> | 1999-08-03 21:34:26 +0200 |
commit | 9c11ec9efca2fc75495cf8dcb28a959ba22b01fa (patch) | |
tree | 80f4d7b42bebab8ed3d9df22d244baef21fe4bfd /nest | |
parent | 8c943173ced1fb85c627a8ba1c3d7360eab7d22b (diff) | |
download | bird-9c11ec9efca2fc75495cf8dcb28a959ba22b01fa.tar bird-9c11ec9efca2fc75495cf8dcb28a959ba22b01fa.zip |
Implemented a Table-to-Table protocol a.k.a The Pipe.
Diffstat (limited to 'nest')
-rw-r--r-- | nest/protocol.h | 1 | ||||
-rw-r--r-- | nest/route.h | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/nest/protocol.h b/nest/protocol.h index 8d2f8cf..a2c0eb9 100644 --- a/nest/protocol.h +++ b/nest/protocol.h @@ -64,6 +64,7 @@ extern struct protocol proto_device; extern struct protocol proto_rip; extern struct protocol proto_static; extern struct protocol proto_ospf; +extern struct protocol proto_pipe; /* * Routing Protocol Instance diff --git a/nest/route.h b/nest/route.h index 577142a..c11d771 100644 --- a/nest/route.h +++ b/nest/route.h @@ -117,6 +117,7 @@ typedef struct rtable { struct fib fib; char *name; /* Name of this table */ list hooks; /* List of announcement hooks */ + int pipe_busy; /* Pipe loop detection */ } rtable; typedef struct network { @@ -223,6 +224,7 @@ typedef struct rta { #define RTS_OSPF_IA 10 /* OSPF inter-area route */ #define RTS_OSPF_BOUNDARY 11 /* OSPF route to boundary router (???) */ #define RTS_BGP 12 /* BGP route */ +#define RTS_PIPE 13 /* Inter-table wormhole */ #define RTC_UNICAST 0 #define RTC_BROADCAST 1 @@ -316,6 +318,7 @@ static inline eattr * rta_find(rta *a, unsigned ea) { return ea_find(a->attrs, e #define DEF_PREF_BGP 100 /* BGP */ #define DEF_PREF_OSPF_EXTERNAL 80 /* OSPF external routes */ #define DEF_PREF_RIP_EXTERNAL 70 /* RIP external routes */ +#define DEF_PREF_PIPE 60 /* Routes piped from other tables */ #define DEF_PREF_UKR 50 /* Unidentified Kernel Route */ #define DEF_PREF_SINK 10 /* Sink route */ |