]> git.proxmox.com Git - mirror_ovs.git/commit
packets: use flow protocol when recalculating ipv6 checksums
authorSimon Horman <simon.horman@netronome.com>
Fri, 22 Apr 2016 12:22:56 +0000 (22:22 +1000)
committerSimon Horman <simon.horman@netronome.com>
Sat, 23 Apr 2016 04:41:49 +0000 (14:41 +1000)
commit31a9a584526eb709a8216ba756a8489954c56391
treeae9544eb5c4352a3c1201aef389c361b3c2bd0f4
parent91883334d66d1a7f1b6bd679f167cbab383d93b8
packets: use flow protocol when recalculating ipv6 checksums

When using masked actions the ipv6_proto field of an action
to set IPv6 fields may be zero rather than the prevailing protocol
which will result in skipping checksum recalculation.

This patch resolves the problem by relying on the protocol
in the packet rather than that in the set field action.

A similar fix for the kernel datapath has been accepted into David Miller's
'net' tree as b4f70527f052 ("openvswitch: use flow protocol when
recalculating ipv6 checksums").

Cc: Jarno Rajahalme <jrajahalme@nicira.com>
Fixes: 6d670e7f0d45 ("lib/odp: Masked set action execution and printing.")
Signed-off-by: Simon Horman <simon.horman@netronome.com>
Acked-by: Ben Pfaff <blp@ovn.org>
lib/odp-execute.c
lib/packets.c
lib/packets.h