diff options
author | Ondrej Zajicek <santiago@crfreenet.org> | 2010-04-25 20:12:34 +0200 |
---|---|---|
committer | Ondrej Zajicek <santiago@crfreenet.org> | 2010-04-25 20:12:34 +0200 |
commit | 4e5fb4b60c59db3248fd12db2bc6f0424d798122 (patch) | |
tree | 93596ccfa8c4d4cb3ffc607d21578417966bd3f8 /proto/ospf/lsalib.c | |
parent | c1b51598d49ff737b926bd8ad2e308a5a15ce3a2 (diff) | |
download | bird-4e5fb4b60c59db3248fd12db2bc6f0424d798122.tar bird-4e5fb4b60c59db3248fd12db2bc6f0424d798122.zip |
Skip LSA host<->network endianity conversions on big endians.
Diffstat (limited to 'proto/ospf/lsalib.c')
-rw-r--r-- | proto/ospf/lsalib.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/proto/ospf/lsalib.c b/proto/ospf/lsalib.c index 53c2562..c932fe0 100644 --- a/proto/ospf/lsalib.c +++ b/proto/ospf/lsalib.c @@ -87,6 +87,7 @@ ospf_age(struct proto_ospf *po) } } +#ifndef CPU_BIG_ENDIAN void htonlsah(struct ospf_lsa_header *h, struct ospf_lsa_header *n) { @@ -138,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 @@ -184,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]; @@ -198,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)); } /* |