summaryrefslogtreecommitdiff
path: root/zebra/rib.h
diff options
context:
space:
mode:
Diffstat (limited to 'zebra/rib.h')
-rw-r--r--zebra/rib.h17
1 files changed, 7 insertions, 10 deletions
diff --git a/zebra/rib.h b/zebra/rib.h
index 495b731e88..4cc69377d8 100644
--- a/zebra/rib.h
+++ b/zebra/rib.h
@@ -45,9 +45,6 @@ struct route_entry {
/* Nexthop structure */
struct nexthop *nexthop;
- /* Refrence count. */
- unsigned long refcnt;
-
/* Tag */
route_tag_t tag;
@@ -231,7 +228,8 @@ typedef enum {
extern struct nexthop *route_entry_nexthop_ifindex_add(struct route_entry *,
ifindex_t);
-extern struct nexthop *route_entry_nexthop_blackhole_add(struct route_entry *);
+extern struct nexthop *route_entry_nexthop_blackhole_add(struct route_entry *,
+ enum blackhole_type);
extern struct nexthop *route_entry_nexthop_ipv4_add(struct route_entry *,
struct in_addr *,
struct in_addr *);
@@ -294,18 +292,17 @@ extern int rib_uninstall_kernel(struct route_node *rn, struct route_entry *re);
* also implicitly withdraw equal prefix of same type. */
extern int rib_add(afi_t afi, safi_t safi, vrf_id_t vrf_id, int type,
u_short instance, int flags, struct prefix *p,
- struct prefix_ipv6 *src_p, union g_addr *gate,
- union g_addr *src, ifindex_t ifindex, u_int32_t table_id,
- u_int32_t metric, u_int32_t mtu, u_char distance);
+ struct prefix_ipv6 *src_p, const struct nexthop *nh,
+ u_int32_t table_id, u_int32_t metric, u_int32_t mtu,
+ u_char distance);
extern int rib_add_multipath(afi_t afi, safi_t safi, struct prefix *,
struct prefix_ipv6 *src_p, struct route_entry *);
extern void rib_delete(afi_t afi, safi_t safi, vrf_id_t vrf_id, int type,
u_short instance, int flags, struct prefix *p,
- struct prefix_ipv6 *src_p, union g_addr *gate,
- ifindex_t ifindex, u_int32_t table_id,
- u_int32_t metric);
+ struct prefix_ipv6 *src_p, const struct nexthop *nh,
+ u_int32_t table_id, u_int32_t metric);
extern struct route_entry *rib_match(afi_t afi, safi_t safi, vrf_id_t,
union g_addr *,