[ovs-git] [openvswitch/ovs] 40bc6a: types: Change ofp_port_t from uint16_t to uint32_t...

GitHub noreply at github.com
Sun Jun 5 23:33:07 UTC 2016


  Branch: refs/heads/branch-2.5
  Home:   https://github.com/openvswitch/ovs
  Commit: 40bc6aabddbae894c163e571c7b51f45704e27fb
      https://github.com/openvswitch/ovs/commit/40bc6aabddbae894c163e571c7b51f45704e27fb
  Author: Ben Pfaff <blp at ovn.org>
  Date:   2016-06-05 (Sun, 05 Jun 2016)

  Changed paths:
    M include/openvswitch/types.h
    M lib/flow.h
    M lib/ofp-actions.c
    M utilities/ovs-ofctl.c

  Log Message:
  -----------
  types: Change ofp_port_t from uint16_t to uint32_t.

This fixes several tests that failed on big-endian systems because "union
flow_in_port" overlays an ofp_port_t and odp_port_t and in some cases it
is not easy to determine which one is in use.

This commit also fixes up a few places where this broke other code.

Signed-off-by: Ben Pfaff <blp at ovn.org>
Acked-by: Aaron Conole <aconole at redhat.com>
Acked-by: Gerhard Stenzel <gstenzel at linux.vnet.ibm.com>


  Commit: e23f6871460a1381781af94027573e572bdb6249
      https://github.com/openvswitch/ovs/commit/e23f6871460a1381781af94027573e572bdb6249
  Author: Ben Pfaff <blp at ovn.org>
  Date:   2016-06-05 (Sun, 05 Jun 2016)

  Changed paths:
    M lib/byte-order.h
    M lib/netdev-vport.c

  Log Message:
  -----------
  netdev-vport: Fix treatment of GRE key on big-endian systems.

The GRE implementation used bitwise shifts to convert an ovs_be32 to an
ovs_be64 (with zero extension), but on big-endian systems these conversions
are no-ops.  This fixes the problem.

Signed-off-by: Ben Pfaff <blp at ovn.org>
Acked-by: Aaron Conole <aconole at redhat.com>
Acked-by: Gerhard Stenzel <gstenzel at linux.vnet.ibm.com>


  Commit: b66ede9ce890ef0ad74a4722d5eb3194919c94ca
      https://github.com/openvswitch/ovs/commit/b66ede9ce890ef0ad74a4722d5eb3194919c94ca
  Author: Ben Pfaff <blp at ovn.org>
  Date:   2016-06-05 (Sun, 05 Jun 2016)

  Changed paths:
    M lib/ofp-print.c
    M manpages.mk
    M tests/ofp-print.at

  Log Message:
  -----------
  ofp-print: Sort queues before printing in OFPT_QUEUE_GET_CONFIG_REPLY.

Otherwise the ordering tends to vary across endianness.

Signed-off-by: Ben Pfaff <blp at ovn.org>
Acked-by: Aaron Conole <aconole at redhat.com>
Acked-by: Gerhard Stenzel <gstenzel at linux.vnet.ibm.com>


  Commit: 6175347c058cda0b8bbeb6b445f24888f785cd7d
      https://github.com/openvswitch/ovs/commit/6175347c058cda0b8bbeb6b445f24888f785cd7d
  Author: Ben Pfaff <blp at ovn.org>
  Date:   2016-06-05 (Sun, 05 Jun 2016)

  Changed paths:
    M tests/ofproto-dpif.at

  Log Message:
  -----------
  tests: Fix select group test on big-endian systems.

This test ensures that, when the selection criteria for a select group are
the same from packet to packet, the same bucket is always selected.
However, it hardcoded the bucket that was selected to the one that happens
to be selected with the current OVS hash function on little-endian systems.
On big-endian systems, the current OVS hash functions turns out to select
the other bucket.  That's fine (it's consistent, it just consistently makes
the other choice), so this commit fixes the problem by allowing either
bucket to be selected.

Signed-off-by: Ben Pfaff <blp at ovn.org>
Acked-by: Aaron Conole <aconole at redhat.com>
Acked-by: Gerhard Stenzel <gstenzel at linux.vnet.ibm.com>


  Commit: e593dba0138a2bd8900181b2267de38472e397ac
      https://github.com/openvswitch/ovs/commit/e593dba0138a2bd8900181b2267de38472e397ac
  Author: Ben Pfaff <blp at ovn.org>
  Date:   2016-06-05 (Sun, 05 Jun 2016)

  Changed paths:
    M tests/ofproto-dpif.at

  Log Message:
  -----------
  tests: Avoid endianness sensitivity in MPLS handling test.

The test "ofproto-dpif - MPLS handling" included a test of the "multipath"
action whose results depended on the hash function in use.  The OVS hash
function yields different results on little-endian and big-endian systems,
so this caused a failure.

This commit fixes the problem by changing the modulus in the multipath
action from 256 to 1; any (nonnegative) value modulo 1 is 0, so this makes
the results consistent across endianness (and across hash function
changes).  I think that this is still a good enough test.

Signed-off-by: Ben Pfaff <blp at ovn.org>
Acked-by: Aaron Conole <aconole at redhat.com>
Acked-by: Gerhard Stenzel <gstenzel at linux.vnet.ibm.com>


Compare: https://github.com/openvswitch/ovs/compare/ece6c6919785...e593dba0138a


More information about the git mailing list