summaryrefslogtreecommitdiff
path: root/proto/bfd/packets.c
diff options
context:
space:
mode:
Diffstat (limited to 'proto/bfd/packets.c')
-rw-r--r--proto/bfd/packets.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/proto/bfd/packets.c b/proto/bfd/packets.c
index 703c6e28..7618e20f 100644
--- a/proto/bfd/packets.c
+++ b/proto/bfd/packets.c
@@ -366,7 +366,8 @@ bfd_rx_hook(sock *sk, uint len)
if (ps > BFD_STATE_DOWN)
DROP("invalid init state", ps);
- s = bfd_find_session_by_addr(p, sk->faddr);
+ uint ifindex = (sk->sport == BFD_CONTROL_PORT) ? sk->lifindex : 0;
+ s = bfd_find_session_by_addr(p, sk->faddr, ifindex);
/* FIXME: better session matching and message */
if (!s)