summaryrefslogtreecommitdiffstats
path: root/proto/ospf/rt.c
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2010-03-14 16:36:59 +0100
committerOndrej Zajicek <santiago@crfreenet.org>2010-03-14 16:36:59 +0100
commit0aad2b9292f8e5ff32d048378faf80d2d0bfbb80 (patch)
treee245c5adb1392fee5d402b25823b558969f9cd13 /proto/ospf/rt.c
parent54305181f6ee3af57dd3d15d53ea2e851b36ed23 (diff)
downloadbird-0aad2b9292f8e5ff32d048378faf80d2d0bfbb80.tar
bird-0aad2b9292f8e5ff32d048378faf80d2d0bfbb80.zip
Temporary OSPF commit - sockets.
Diffstat (limited to 'proto/ospf/rt.c')
-rw-r--r--proto/ospf/rt.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/proto/ospf/rt.c b/proto/ospf/rt.c
index 9a330a8..b589459 100644
--- a/proto/ospf/rt.c
+++ b/proto/ospf/rt.c
@@ -424,12 +424,14 @@ ospf_rt_spfa(struct ospf_area *oa)
if ((tmp = ospf_hash_find_rt(po->gr, oa->areaid, iface->vid)) &&
(!ipa_equal(tmp->lb, IPA_NONE)))
{
- if ((iface->state != OSPF_IS_PTP) || (iface->iface != tmp->nhi->iface) || (!ipa_equal(iface->vip, tmp->lb)))
+ if ((iface->state != OSPF_IS_PTP) || (iface->vifa != tmp->nhi) || (!ipa_equal(iface->vip, tmp->lb)))
{
OSPF_TRACE(D_EVENTS, "Vlink peer %R found", tmp->lsa.id);
ospf_iface_sm(iface, ISM_DOWN);
+ iface->vifa = tmp->nhi;
iface->iface = tmp->nhi->iface;
- iface->addr = iface->iface->addr;
+ iface->addr = tmp->nhi->addr;
+ iface->sk = tmp->nhi->sk;
iface->vip = tmp->lb;
ospf_iface_sm(iface, ISM_UP);
}