summaryrefslogtreecommitdiff
path: root/lib/buffer.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2016-06-08 11:47:33 -0400
committerDonald Sharp <sharpd@cumulusnetworks.com>2016-06-08 12:21:59 -0400
commitf5e6574b65165091b8b6ae101a2ab421598f1409 (patch)
treec1ca53956184e53f59ded964c1134359c9511c93 /lib/buffer.c
parent5d3c5e6dead919ec299b71a53822fd05a7b560e2 (diff)
pimd: Fix register message checksum
The register message checksum was being calculated over the first 4 bytes of the packet, instead of the first 8 bytes. From the RFC: PIM Version, Type, Reserved, Checksum Described in Section 4.9. Note that in order to reduce encapsulation overhead, the checksum for Registers is done only on the first 8 bytes of the packet, including the PIM header and the next 4 bytes, excluding the data packet portion. For interoperability reasons, a message carrying a checksum calculated over the entire PIM Register message should also be accepted. When calculating the checksum, the IPv6 pseudoheader "Upper-Layer Packet Length" is set to 8. Ticket: CM-11265 Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'lib/buffer.c')
0 files changed, 0 insertions, 0 deletions