summaryrefslogtreecommitdiffstats
path: root/proto/ospf/lsalib.c
diff options
context:
space:
mode:
authorOndrej Filip <feela@majklik.network.cz>2010-04-27 11:28:44 +0200
committerOndrej Filip <feela@majklik.network.cz>2010-04-27 11:28:44 +0200
commit96599c957baa9c82bde91d610ce4f519aead05e9 (patch)
tree28fc5b3e90afb11e288a6c428d1203dd7992bd35 /proto/ospf/lsalib.c
parentba130172549ef2313f713e048083432f74e7d03d (diff)
parent9d1ee1388771a3caa6c23163571a80457adfab2c (diff)
downloadbird-96599c957baa9c82bde91d610ce4f519aead05e9.tar
bird-96599c957baa9c82bde91d610ce4f519aead05e9.zip
Merge branch 'master' of ssh://git.nic.cz/projects/bird/GIT/bird
Diffstat (limited to 'proto/ospf/lsalib.c')
-rw-r--r--proto/ospf/lsalib.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/proto/ospf/lsalib.c b/proto/ospf/lsalib.c
index 35f02dc..c932fe0 100644
--- a/proto/ospf/lsalib.c
+++ b/proto/ospf/lsalib.c
@@ -45,19 +45,16 @@ ospf_age(struct proto_ospf *po)
struct top_hash_entry *en, *nxt;
int flush = can_flush_lsa(po);
- if (po->cleanup) OSPF_TRACE(D_EVENTS, "Running ospf_age cleanup");
-
WALK_SLIST_DELSAFE(en, nxt, po->lsal)
{
- if (po->cleanup)
+ if (po->calcrt)
{
+ /* Cleanup before ospf_rt_spf() */
en->color = OUTSPF;
en->dist = LSINFINITY;
en->nhi = NULL;
en->nh = IPA_NONE;
en->lb = IPA_NONE;
- DBG("Infinitying Type: %u, Id: %R, Rt: %R\n", en->lsa.type,
- en->lsa.id, en->lsa.rt);
}
if (en->lsa.age == LSA_MAXAGE)
{
@@ -88,9 +85,9 @@ ospf_age(struct proto_ospf *po)
en->lsa.age = LSA_MAXAGE;
}
}
- po->cleanup = 0;
}
+#ifndef CPU_BIG_ENDIAN
void
htonlsah(struct ospf_lsa_header *h, struct ospf_lsa_header *n)
{
@@ -142,6 +139,7 @@ ntohlsab(void *n, void *h, u16 len)
for (i = 0; i < (len / sizeof(u32)); i++)
hid[i] = ntohl(nid[i]);
}
+#endif /* little endian */
/*
void
@@ -188,7 +186,7 @@ lsasum_calculate(struct ospf_lsa_header *h, void *body)
// log(L_WARN "Checksum %R %R %d start (len %d)", h->id, h->rt, h->type, length);
htonlsah(h, h);
- htonlsab(body, body, length - sizeof(struct ospf_lsa_header));
+ htonlsab1(body, length - sizeof(struct ospf_lsa_header));
/*
char buf[1024];
@@ -202,7 +200,7 @@ lsasum_calculate(struct ospf_lsa_header *h, void *body)
// log(L_WARN "Checksum result %4x", h->checksum);
ntohlsah(h, h);
- ntohlsab(body, body, length - sizeof(struct ospf_lsa_header));
+ ntohlsab1(body, length - sizeof(struct ospf_lsa_header));
}
/*