diff options
Diffstat (limited to 'nest/neighbor.c')
-rw-r--r-- | nest/neighbor.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/nest/neighbor.c b/nest/neighbor.c index 2c2d3adf..63c07f83 100644 --- a/nest/neighbor.c +++ b/nest/neighbor.c @@ -217,7 +217,8 @@ neigh_find(struct proto *p, ip_addr a, struct iface *iface, uint flags) struct ifa *addr = NULL; WALK_LIST(n, neigh_hash_table[h]) /* Search the cache */ - if ((n->proto == p) && ipa_equal(n->addr, a) && (n->ifreq == iface)) + if ((n->proto == p) && ipa_equal(n->addr, a) && (n->ifreq == iface) && + ((n->flags & NEF_ONLINK) == (flags & NEF_ONLINK))) return n; if (flags & NEF_IFACE) |