diff options
Diffstat (limited to 'proto/bfd')
-rw-r--r-- | proto/bfd/bfd.c | 2 | ||||
-rw-r--r-- | proto/bfd/packets.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/proto/bfd/bfd.c b/proto/bfd/bfd.c index c6fd311a..315d132b 100644 --- a/proto/bfd/bfd.c +++ b/proto/bfd/bfd.c @@ -740,7 +740,7 @@ bfd_neigh_notify(struct neighbor *nb) if ((nb->scope > 0) && !n->req) { - ip_addr local = ipa_nonzero(n->local) ? n->local : nb->iface->addr->ip; + ip_addr local = ipa_nonzero(n->local) ? n->local : nb->ifa->ip; n->req = bfd_request_session(p->p.pool, n->addr, local, nb->iface, NULL, NULL); } diff --git a/proto/bfd/packets.c b/proto/bfd/packets.c index fc2616ca..964172d8 100644 --- a/proto/bfd/packets.c +++ b/proto/bfd/packets.c @@ -230,7 +230,7 @@ bfd_open_tx_sk(struct bfd_proto *p, ip_addr local, struct iface *ifa) sk->tos = IP_PREC_INTERNET_CONTROL; sk->priority = sk_priority_control; sk->ttl = ifa ? 255 : -1; - sk->flags = SKF_THREAD; + sk->flags = SKF_THREAD | SKF_BIND; #ifdef IPV6 sk->flags |= SKF_V6ONLY; |