diff options
author | Donald Sharp <sharpd@cumulusnetworks.com> | 2015-05-20 02:47:22 +0200 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2015-05-20 02:47:22 +0200 |
commit | 6e26278cbabccf64de9abf4a764ee71f2c6e9165 (patch) | |
tree | 557beea0102080862534dd0a41a4afa986a3f128 /zebra/zebra_rnh.h | |
parent | 'set metric -12' is broken in the parser (diff) | |
download | frr-6e26278cbabccf64de9abf4a764ee71f2c6e9165.tar.xz frr-6e26278cbabccf64de9abf4a764ee71f2c6e9165.zip |
zebra: zebra-static-route-nht.patch
Use NHT to support static routes with NH derived from protocols.
Diffstat (limited to 'zebra/zebra_rnh.h')
-rw-r--r-- | zebra/zebra_rnh.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/zebra/zebra_rnh.h b/zebra/zebra_rnh.h index 92e4c7a88..53e932aa4 100644 --- a/zebra/zebra_rnh.h +++ b/zebra/zebra_rnh.h @@ -33,6 +33,7 @@ struct rnh #define ZEBRA_NHT_CONNECTED 0x1 struct rib *state; struct list *client_list; + struct list *zebra_static_route_list; /* static routes dependent on this NH */ struct route_node *node; int filtered[ZEBRA_ROUTE_MAX]; /* if this has been filtered for client */ }; @@ -41,6 +42,8 @@ extern struct rnh *zebra_add_rnh(struct prefix *p, u_int32_t vrfid); extern struct rnh *zebra_lookup_rnh(struct prefix *p, u_int32_t vrfid); extern void zebra_delete_rnh(struct rnh *rnh); extern void zebra_add_rnh_client(struct rnh *rnh, struct zserv *client); +extern void zebra_register_rnh_static_nh(struct prefix *, struct route_node *); +extern void zebra_deregister_rnh_static_nh(struct prefix *, struct route_node *); extern void zebra_remove_rnh_client(struct rnh *rnh, struct zserv *client); extern int zebra_evaluate_rnh_table(int vrfid, int family, int force); extern int zebra_dispatch_rnh_table(int vrfid, int family, struct zserv *cl); |