[ovs-git] [openvswitch/ovs] f127bb: tunnel: Fix deletion of datapath tunnel ports in c...

GitHub noreply at github.com
Mon Feb 26 22:40:40 UTC 2018


  Branch: refs/heads/branch-2.8
  Home:   https://github.com/openvswitch/ovs
  Commit: f127bb385f57823c8d8117448c2bae4d4669a46f
      https://github.com/openvswitch/ovs/commit/f127bb385f57823c8d8117448c2bae4d4669a46f
  Author: Balazs Nemeth <balazs.nemeth at ericsson.com>
  Date:   2018-02-26 (Mon, 26 Feb 2018)

  Changed paths:
    M lib/tnl-ports.c
    M lib/tnl-ports.h
    M ofproto/ofproto-dpif.c
    M ofproto/tunnel.c
    M ofproto/tunnel.h
    M tests/tunnel-push-pop-ipv6.at
    M tests/tunnel-push-pop.at

  Log Message:
  -----------
  tunnel: Fix deletion of datapath tunnel ports in case of reconfiguration

There is an issue in OVS with tunnel deletion during the
reconfiguration of OF tunnels. If the dst_port value is changed, the
old tunnel map entry will not be deleted, because the tp_port
argument of tnl_port_map_delete() has the new dst_port setting, hence
the tunnel cannot be found in the list of tnl_port structures.

The patch corrects this mechanism by adding a new argument,
'old_odp_port' to tnl_port_reconfigure(). This value is used to
identify the datapath tunnel port which is being reconfigured. In
connection with this fix, to unify the tunnel port map handling,
odp_port value is used to search the proper port to insert and delete
tunnel map entries as well. This variable can be used instead of
tp_port, as it is unique for all datapath tunnel ports, and there is
no need to reach dst_port from netdev_tunnel_config structure.

This patch also adds a printout to check the reference counter of
a tnl_port structure in tnl-port.c. Extending OVS unit test cases to
have ref_cnt values in the expected dump. Adding new test cases to
check if packet receiving is still working in the case of OF tunnel
port deletion. Adding new test cases to check the reference counter
in case of OF tunnel deletion or reconfiguration.

Signed-off-by: Balazs Nemeth <balazs.nemeth at ericsson.com>
Signed-off-by: Jan Scheurich <jan.scheurich at ericsson.com>
Co-authored-by: Jan Scheurich <jan.scheurich at ericsson.com>
Signed-off-by: Ben Pfaff <blp at ovn.org>




More information about the git mailing list