From 86c84d76b706e77ec5977a3c9e300b0fca9f6b10 Mon Sep 17 00:00:00 2001 From: Ondrej Filip Date: Thu, 15 Jul 2004 16:37:52 +0000 Subject: Huge OSPF database redesign. Since now, all LSAs of all areas are in single database. This avoids duplication of external LSAs and fixes bug in external LSA distribution. --- proto/ospf/lsack.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'proto/ospf/lsack.c') diff --git a/proto/ospf/lsack.c b/proto/ospf/lsack.c index 14832b8..bb1afa0 100644 --- a/proto/ospf/lsack.c +++ b/proto/ospf/lsack.c @@ -37,7 +37,7 @@ ospf_lsack_send(struct ospf_neighbor *n, int queue) struct ospf_lsa_header *h; struct lsah_n *no; struct ospf_iface *ifa = n->ifa; - struct proto *p = &n->ifa->proto->proto; + struct proto *p = &n->ifa->oa->po->proto; if (EMPTY_LIST(n->ackl[queue])) return; @@ -122,7 +122,7 @@ ospf_lsack_receive(struct ospf_lsack_packet *ps, struct ospf_lsa_header lsa, *plsa; u16 nolsa; struct top_hash_entry *en; - struct proto *p = (struct proto *) ifa->proto; + struct proto *p = &ifa->oa->po->proto; unsigned int size = ntohs(ps->ospf_packet.length), i; OSPF_TRACE(D_PACKETS, "Received LS ack from %I", n->ip); @@ -146,7 +146,7 @@ ospf_lsack_receive(struct ospf_lsack_packet *ps, for (i = 0; i < nolsa; i++) { ntohlsah(plsa + i, &lsa); - if ((en = ospf_hash_find_header(n->lsrth, &lsa)) == NULL) + if ((en = ospf_hash_find_header(n->lsrth, n->ifa->oa->areaid, &lsa)) == NULL) continue; /* pg 155 */ if (lsa_comp(&lsa, &en->lsa) != CMP_SAME) /* pg 156 */ -- cgit v1.2.3