summaryrefslogtreecommitdiffstats
path: root/pbrd/pbr_nht.h
diff options
context:
space:
mode:
authorRenato Westphal <renato@opensourcerouting.org>2019-02-14 23:00:15 +0100
committerRenato Westphal <renato@opensourcerouting.org>2019-02-15 01:57:39 +0100
commita106a4087b47e180e32c66e139449bcf2660578f (patch)
tree42b01877fb3d52999d9fa3049b71c40da10a50a4 /pbrd/pbr_nht.h
parentpbrd: fix detection of inconsistent nexthop groups (diff)
downloadfrr-a106a4087b47e180e32c66e139449bcf2660578f.tar.xz
frr-a106a4087b47e180e32c66e139449bcf2660578f.zip
pbrd: add support for interface nexthops
Now that nexthop groups can contain interface nexthops, make the necessary adjustments in pbrd to handle them appropriately. For normal IP nexthops, pbrd uses the NHT callbacks to validate these nexthops (i.e. check if they are reachable). NHT can't be used for interface nexthops though. To work around this issue, use the interface event callbacks from the zclient API to validate interface nexthops (an interface nexthop is valid only if the corresponding interface is up and running). Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
Diffstat (limited to 'pbrd/pbr_nht.h')
-rw-r--r--pbrd/pbr_nht.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/pbrd/pbr_nht.h b/pbrd/pbr_nht.h
index d37803fbe..4ef41cede 100644
--- a/pbrd/pbr_nht.h
+++ b/pbrd/pbr_nht.h
@@ -117,5 +117,10 @@ extern void pbr_nht_show_nexthop_group(struct vty *vty, const char *name);
*/
extern void pbr_nht_nexthop_update(struct zapi_route *nhr);
+/*
+ * When we get a callback from zebra about an interface status update.
+ */
+extern void pbr_nht_nexthop_interface_update(struct interface *ifp);
+
extern void pbr_nht_init(void);
#endif