diff options
Diffstat (limited to 'proto/bfd/packets.c')
-rw-r--r-- | proto/bfd/packets.c | 3 |
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) |