[ovs-git] [openvswitch/ovs] c00f0c: tunnel: make tun_key_to_attr aware of tunnel type.

GitHub noreply at github.com
Mon May 14 23:41:39 UTC 2018


  Branch: refs/heads/branch-2.9
  Home:   https://github.com/openvswitch/ovs
  Commit: c00f0c2ade6227e6f4f6f052aa8d48018ce0950a
      https://github.com/openvswitch/ovs/commit/c00f0c2ade6227e6f4f6f052aa8d48018ce0950a
  Author: William Tu <u9012063 at gmail.com>
  Date:   2018-05-14 (Mon, 14 May 2018)

  Changed paths:
    M lib/dpif.c
    M lib/odp-util.c
    M lib/odp-util.h
    M ofproto/ofproto-dpif-xlate.c
    M ofproto/tunnel.c
    M ofproto/tunnel.h
    M tests/tunnel.at

  Log Message:
  -----------
  tunnel: make tun_key_to_attr aware of tunnel type.

When there is a flow rule which forwards a packet from geneve
port to another tunnel port, ex: gre, the tun_metadata carried
from the geneve port might affect the outgoing port.  For example,
the datapath action from geneve port output to gre port (1) shows:
  set(tunnel(tun_id=0x7b,dst=2.2.2.2,ttl=64,
    geneve({class=0xffff,type=0,len=4,0x123}),flags(df|key))),1
Where the geneve(...) should not exist.

When using kernel's tunnel port, this triggers an error saying:
"Multiple metadata blocks provided", when there is a rule forwarding
the geneve packet to vxlan/erspan tunnel port.  A userspace test case
using geneve and gre also demonstrates the issue.

The patch makes the tun_key_to_attr aware of the tunnel type. So only
the relevant output tunnel's options are set.

Reported-by: Xiaoyan Jin <xiaoyanj at vmware.com>
Signed-off-by: William Tu <u9012063 at gmail.com>
Cc: Greg Rose <gvrose8192 at gmail.com>
Signed-off-by: Ben Pfaff <blp at ovn.org>


  Commit: 72a73e42a8a877d37a5106b7612b312796efd771
      https://github.com/openvswitch/ovs/commit/72a73e42a8a877d37a5106b7612b312796efd771
  Author: Ben Pfaff <blp at ovn.org>
  Date:   2018-05-14 (Mon, 14 May 2018)

  Changed paths:
    M include/sparse/automake.mk
    A include/sparse/bits/floatn.h
    A include/sparse/sys/sysmacros.h

  Log Message:
  -----------
  sparse: Support newer GCC/glibc versions.

This fixes some "sparse" errors I encountered after upgrading.

Signed-off-by: Ben Pfaff <blp at ovn.org>
Acked-by: Justin Pettit <jpettit at ovn.org>


Compare: https://github.com/openvswitch/ovs/compare/00e56c53251c...72a73e42a8a8
      **NOTE:** This service been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.


More information about the git mailing list