mirror of
https://gitlab.labs.nic.cz/labs/bird.git
synced 2024-05-11 16:54:54 +00:00
OSPF: Redesign LSA checksumming
New LSA checksumming code separates generic Fletcher-16 and OSPF-specific code and avoids back and forth endianity conversions, making it much more readable and also several times faster.
This commit is contained in:
@@ -530,8 +530,8 @@ ospf_receive_lsupd(struct ospf_packet *pkt, struct ospf_iface *ifa,
|
||||
DBG("Update Type: %04x, Id: %R, Rt: %R, Sn: 0x%08x, Age: %u, Sum: %u\n",
|
||||
lsa_type, lsa.id, lsa.rt, lsa.sn, lsa.age, lsa.checksum);
|
||||
|
||||
/* RFC 2328 13. (1) - validate LSA checksum */
|
||||
if ((lsa_n->checksum == 0) || (lsasum_check(lsa_n, NULL, 0) != 0))
|
||||
/* RFC 2328 13. (1) - verify LSA checksum */
|
||||
if ((lsa_n->checksum == 0) || !lsa_verify_checksum(lsa_n, lsa_len))
|
||||
SKIP("invalid checksum");
|
||||
|
||||
/* RFC 2328 13. (2) */
|
||||
|
Reference in New Issue
Block a user