datapath: Fix checksum update for actions on UDP packets.
authorJesse Gross <jesse@nicira.com>
Tue, 6 Mar 2012 21:09:13 +0000 (13:09 -0800)
committerJesse Gross <jesse@nicira.com>
Wed, 7 Mar 2012 22:38:57 +0000 (14:38 -0800)
commit3cd3869da305d4e9e7139b235f5901e018bb1c07
tree39227db7a2cecf05f61c76069b515b522202c98c
parent7b58d76df5d7798ae28fce292de83ff1f3cdf8a7
datapath: Fix checksum update for actions on UDP packets.

When modifying IP addresses or ports on a UDP packet we don't
correctly follow the rules for unchecksummed packets.  This meant
that packets without a checksum can be given a incorrect new checksum
and packets with a checksum can become marked as being unchecksummed.
This fixes it to handle those requirements.

Bug #8937

Signed-off-by: Jesse Gross <jesse@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
datapath/actions.c
datapath/linux/Modules.mk
datapath/linux/compat/include/linux/checksum.h [new file with mode: 0644]