[ovs-git] [openvswitch/ovs] 62f732: packets: use flow protocol when recalculating ipv6...

GitHub noreply at github.com
Sat Apr 23 05:03:07 UTC 2016


  Branch: refs/heads/branch-2.5
  Home:   https://github.com/openvswitch/ovs
  Commit: 62f732deecee8f37d5cf83e702f8d1dc8d4ea223
      https://github.com/openvswitch/ovs/commit/62f732deecee8f37d5cf83e702f8d1dc8d4ea223
  Author: Simon Horman <simon.horman at netronome.com>
  Date:   2016-04-23 (Sat, 23 Apr 2016)

  Changed paths:
    M lib/odp-execute.c
    M lib/packets.c
    M lib/packets.h

  Log Message:
  -----------
  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 at nicira.com>
Fixes: 6d670e7f0d45 ("lib/odp: Masked set action execution and printing.")
Signed-off-by: Simon Horman <simon.horman at netronome.com>
Acked-by: Ben Pfaff <blp at ovn.org>
---
While preparing this I noticed that there does seem to be some scope
to consolidate packet_rh_present() and part of miniflow_extract().

v3
* Initialise proto

v2
* Updated changelog to refer to protocol in packet, as this patch does,
  rather than the flow key, which the kernel datapath variant of the patch
  does. This was a copy-paste error in preparing the changelog.

Signed-off-by: Simon Horman <simon.horman at netronome.com>




More information about the git mailing list