summaryrefslogtreecommitdiffstats
path: root/zebra/rib.h
diff options
context:
space:
mode:
authorStephen Hemminger <stephen.hemminger@vyatta.com>2008-12-18 17:19:46 -0800
committerStephen Hemminger <stephen.hemminger@vyatta.com>2008-12-18 17:19:46 -0800
commit3111ae93268b1af36e469b1f7744e821f27f0a30 (patch)
tree0c6282fe70d9f0df38ec5136a046ce14311c0d42 /zebra/rib.h
parent0b49f5d475aa5503e60d8dbdc9b4dcc8f6a614ec (diff)
parent177fec0b82d18dc92fe40b51bf1a4a294fb9a7ff (diff)
downloadquagga-3111ae93268b1af36e469b1f7744e821f27f0a30.tar.bz2
quagga-3111ae93268b1af36e469b1f7744e821f27f0a30.tar.xz
Merge branch 'jenner' of suva.vyatta.com:/git/vyatta-quagga into jenner
Diffstat (limited to 'zebra/rib.h')
-rw-r--r--zebra/rib.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/zebra/rib.h b/zebra/rib.h
index c39afa73..c71407e4 100644
--- a/zebra/rib.h
+++ b/zebra/rib.h
@@ -55,14 +55,17 @@ struct rib
u_int32_t metric;
/* Which routing table */
- u_int32_t table;
+ u_int32_t table;
/* Type for this route. < ZEBRA_ROUTE_MAX */
u_int8_t type;
- /* Scope for this route. */
+ /* Scope for this route: RTM_UNIVERSE .. RTM_NOWHERE */
u_int8_t scope;
+ /* Routing protocol: RTPROT_UNSPEC .. */
+ u_int8_t protocol;
+
/* Status Flags for the *route_node*, but kept in the head RIB.. */
u_char rn_status;
#define RIB_ROUTE_QUEUED(x) (1 << (x))
@@ -109,7 +112,7 @@ struct static_ipv4
struct static_ipv4 *next;
/* Nexthop value. */
- union
+ union
{
struct in_addr ipv4;
char *ifname;
@@ -225,7 +228,7 @@ struct vrf
struct route_table *stable[AFI_MAX][SAFI_MAX];
};
-extern struct nexthop *nexthop_ifindex_add (struct rib *, unsigned int,
+extern struct nexthop *nexthop_ifindex_add (struct rib *, unsigned int,
struct in_addr *);
extern struct nexthop *nexthop_ifname_add (struct rib *, char *);
extern struct nexthop *nexthop_blackhole_add (struct rib *);
@@ -255,7 +258,8 @@ extern struct route_table *vrf_static_table (afi_t afi, safi_t safi, u_int32_t i
extern int rib_add_ipv4 (int type, int flags, struct prefix_ipv4 *p,
struct in_addr *gate, struct in_addr *src,
unsigned int ifindex, u_int32_t vrf_id,
- u_int32_t metric, u_int8_t distance, u_int8_t scope);
+ u_int32_t metric, u_int8_t distance,
+ u_int8_t scope, u_int8_t protocol);
extern int rib_add_ipv4_multipath (struct prefix_ipv4 *, struct rib *);