diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2016-06-08 11:47:33 -0400 |
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2016-06-08 12:21:59 -0400 |
| commit | f5e6574b65165091b8b6ae101a2ab421598f1409 (patch) | |
| tree | c1ca53956184e53f59ded964c1134359c9511c93 /lib/buffer.c | |
| parent | 5d3c5e6dead919ec299b71a53822fd05a7b560e2 (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
