diff options
author | Ondrej Zajicek <santiago@crfreenet.org> | 2010-08-22 14:43:53 +0200 |
---|---|---|
committer | Ondrej Zajicek <santiago@crfreenet.org> | 2010-08-22 14:43:53 +0200 |
commit | faf58cec4d0c0d3c1fddee6faf2f57a1362477bb (patch) | |
tree | 6020b17013a7d6ede4e44991d8f0bcc56d21439f /proto/ospf/iface.c | |
parent | ac4a1eedfc515e041877d48fd5f64ee4e3b30532 (diff) |
Fixes a bug in NBMA on an iface with multiple IP addresses.
Diffstat (limited to 'proto/ospf/iface.c')
-rw-r--r-- | proto/ospf/iface.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/proto/ospf/iface.c b/proto/ospf/iface.c index bef31125..04868baa 100644 --- a/proto/ospf/iface.c +++ b/proto/ospf/iface.c @@ -472,6 +472,9 @@ ospf_iface_new(struct proto_ospf *po, struct iface *iface, struct ifa *addr, WALK_LIST(nb, ip->nbma_list) { + if (!ipa_in_net(nb->ip, addr->prefix, addr->pxlen)) + continue; + nbma = mb_alloc(p->pool, sizeof(struct nbma_node)); nbma->ip = nb->ip; nbma->eligible = nb->eligible; |