diff options
author | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2019-07-18 02:04:42 +0200 |
---|---|---|
committer | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2019-07-18 02:04:42 +0200 |
commit | f9deedf1f045d1b64edaf2f27209e5227cce155a (patch) | |
tree | cd092a8b499d79be68ee22cb5981154811ed8021 /proto/ospf | |
parent | 9ff6c8d83c7fee5f354d4d6ed4efc15bfc6bc7e1 (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 'proto/ospf')
-rw-r--r-- | proto/ospf/neighbor.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/proto/ospf/neighbor.c b/proto/ospf/neighbor.c index 9fe3c028..bc274e5f 100644 --- a/proto/ospf/neighbor.c +++ b/proto/ospf/neighbor.c @@ -584,8 +584,11 @@ ospf_neigh_bfd_hook(struct bfd_request *req) void ospf_neigh_update_bfd(struct ospf_neighbor *n, int use_bfd) { + struct ospf_proto *p = n->ifa->oa->po; + if (use_bfd && !n->bfd_req) - n->bfd_req = bfd_request_session(n->pool, n->ip, n->ifa->addr->ip, n->ifa->iface, + n->bfd_req = bfd_request_session(n->pool, n->ip, n->ifa->addr->ip, + n->ifa->iface, p->p.vrf, ospf_neigh_bfd_hook, n); if (!use_bfd && n->bfd_req) |