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:39:55 +0000 (14:39 -0800)
commit7cde6a8a537575e074caef397e54d35a7d812bcf
tree8285e2bd88f8cccc5407df8392407f1111008dd4
parenta810f7d725d4ae87690e8790ffdcc2aa26dd8c8f
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]