datapath: Fix checksum calculation when modifying ICMPv6 packets.
authorJesse Gross <jesse@nicira.com>
Fri, 15 Aug 2014 18:01:54 +0000 (11:01 -0700)
committerJesse Gross <jesse@nicira.com>
Fri, 29 Aug 2014 20:22:40 +0000 (13:22 -0700)
commit37a8eee61b922f5e166355af6a62b67a90adc486
tree35cd6199ea2296cb4e3847527492efdc3ac5530a
parentb08b678a16be5e054f0c36b3b5b1338827811c65
datapath: Fix checksum calculation when modifying ICMPv6 packets.

The checksum of ICMPv6 packets uses the IP pseudoheader as part of
the calculation, unlike ICMP in IPv4. This was not implemented,
which means that modifying the IP addresses of an ICMPv6 packet
would cause the checksum to no longer be correct as the psuedoheader
did not match.

Reported-by: Neal Shrader <icosahedral@gmail.com>
Signed-off-by: Jesse Gross <jesse@nicira.com>
Acked-by: Pravin B Shelar <pshelar@nicira.com>
datapath/actions.c
lib/packets.c