summaryrefslogtreecommitdiff
path: root/nest/bfd.h
diff options
context:
space:
mode:
authorOndrej Zajicek (work) <santiago@crfreenet.org>2019-07-18 02:04:42 +0200
committerOndrej Zajicek (work) <santiago@crfreenet.org>2019-07-18 02:04:42 +0200
commitf9deedf1f045d1b64edaf2f27209e5227cce155a (patch)
treecd092a8b499d79be68ee22cb5981154811ed8021 /nest/bfd.h
parent9ff6c8d83c7fee5f354d4d6ed4efc15bfc6bc7e1 (diff)
BFD: Support for VRFs
Allow multiple BFD instances in separate VRFs, dispatch BFD requests according to VRFs. Thanks to Alexander Zubkov for notice and patches.
Diffstat (limited to 'nest/bfd.h')
-rw-r--r--nest/bfd.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/nest/bfd.h b/nest/bfd.h
index b0ebe31d..4654d969 100644
--- a/nest/bfd.h
+++ b/nest/bfd.h
@@ -19,6 +19,7 @@ struct bfd_request {
ip_addr addr;
ip_addr local;
struct iface *iface;
+ struct iface *vrf;
void (*hook)(struct bfd_request *);
void *data;
@@ -40,13 +41,13 @@ struct bfd_request {
#ifdef CONFIG_BFD
-struct bfd_request * bfd_request_session(pool *p, ip_addr addr, ip_addr local, struct iface *iface, void (*hook)(struct bfd_request *), void *data);
+struct bfd_request * bfd_request_session(pool *p, ip_addr addr, ip_addr local, struct iface *iface, struct iface *vrf, void (*hook)(struct bfd_request *), void *data);
static inline void cf_check_bfd(int use UNUSED) { }
#else
-static inline struct bfd_request * bfd_request_session(pool *p, ip_addr addr, ip_addr local, struct iface *iface, void (*hook)(struct bfd_request *), void *data) { return NULL; }
+static inline struct bfd_request * bfd_request_session(pool *p, ip_addr addr, ip_addr local, struct iface *iface, struct iface *vrf, void (*hook)(struct bfd_request *), void *data) { return NULL; }
static inline void cf_check_bfd(int use) { if (use) cf_error("BFD not available"); }