[ovs-git] [openvswitch/ovs] fff1b9: ofproto: Allow xlate_actions() to fail.

GitHub noreply at github.com
Wed Nov 25 23:30:37 UTC 2015


  Branch: refs/heads/master
  Home:   https://github.com/openvswitch/ovs
  Commit: fff1b9c0e004f9cf516c40805d923cb444276933
      https://github.com/openvswitch/ovs/commit/fff1b9c0e004f9cf516c40805d923cb444276933
  Author: Jarno Rajahalme <jarno at ovn.org>
  Date:   2015-11-25 (Wed, 25 Nov 2015)

  Changed paths:
    M ofproto/ofproto-dpif-upcall.c
    M ofproto/ofproto-dpif-xlate.c
    M ofproto/ofproto-dpif-xlate.h
    M ofproto/ofproto-dpif.c
    M tests/ofproto-dpif.at

  Log Message:
  -----------
  ofproto: Allow xlate_actions() to fail.

Sometimes xlate_actions() fails due to too deep recursion, too many
MPLS labels, or missing recirculation context.  Make xlate_actions()
clear out the produced odp actions in these cases to make it easy for
the caller to install a drop flow (instead or installing a flow with
partially translated actions).  Also, return a specific error code, so
that the error can be properly propagated where meaningful.

There are may cases in which the NORMAL action decides to drop the
packet.  Most of these are not, however, traslation errors, but just
reactions to malformed input. In these cases it is correct to make the
NORMAL action do nothing, but allow other actions in the pipeline (if
any) to take effect.

Before this patch it was possible that the revalidation installed a
flow with a recirculation ID with an invalid recirc ID (== 0), due to
the introduction of in-place modification in commit 43b2f131a229
(ofproto: Allow in-place modifications of datapath flows).

Signed-off-by: Jarno Rajahalme <jarno at ovn.org>
Acked-by: Joe Stringer <joe at ovn.org>


  Commit: fbf5d6ec3f88f4101753786d7a98b16c14cb648d
      https://github.com/openvswitch/ovs/commit/fbf5d6ec3f88f4101753786d7a98b16c14cb648d
  Author: Jarno Rajahalme <jarno at ovn.org>
  Date:   2015-11-25 (Wed, 25 Nov 2015)

  Changed paths:
    M ofproto/ofproto-dpif-rid.h
    M ofproto/ofproto-dpif-upcall.c
    M ofproto/ofproto-dpif-xlate.c
    M ofproto/ofproto-dpif-xlate.h

  Log Message:
  -----------
  ofproto: Enable in-place modification for recirc actions.

When modifying an existing datapath flow with recirculation actions,
the references to old (if any) recirculation actions need to be freed,
and references to new recirculation actions need to be stored.

Signed-off-by: Jarno Rajahalme <jarno at ovn.org>
Acked-by: Joe Stringer <joestringer at nicira.com>
Acked-by: Ben Pfaff <blp at ovn.org>


  Commit: 63bc9fb1c69fa81f3b30c2669d25962da3119d0f
      https://github.com/openvswitch/ovs/commit/63bc9fb1c69fa81f3b30c2669d25962da3119d0f
  Author: Jarno Rajahalme <jarno at ovn.org>
  Date:   2015-11-25 (Wed, 25 Nov 2015)

  Changed paths:
    M lib/packets.h
    M tests/ovs-ofctl.at

  Log Message:
  -----------
  packets: Reorder CS_* flags to remove gap.

This changes the conntrack state flags used in the OpenFlow interface
to match the ones we currently use in the datapath.  While these do
not need to be synced, it is nice to get rid of the gap.

This should be merged before the first OVS release with connection
tracking, or not at all.

Signed-off-by: Jarno Rajahalme <jarno at ovn.org>
Acked-by: Ben Pfaff <blp at ovn.org>


  Commit: 508509b2b441353e9a9ed6d6967406148b1af2ab
      https://github.com/openvswitch/ovs/commit/508509b2b441353e9a9ed6d6967406148b1af2ab
  Author: Jarno Rajahalme <jarno at ovn.org>
  Date:   2015-11-25 (Wed, 25 Nov 2015)

  Changed paths:
    M tests/test-l7.py

  Log Message:
  -----------
  system-tests: Workaround for pyftpdlib bug handling IPv6 addresses.

Hack around a bug in pyftpdlib that rejects EPRT connection due to
mismatching textual representation of the IPv6 address when the
address is not in the normalized format.  This happens when the
control connection is mangled by Linux NAT.

Signed-off-by: Jarno Rajahalme <jarno at ovn.org>
Acked-by: Joe Stringer <joe at ovn.org>


Compare: https://github.com/openvswitch/ovs/compare/d49b001d137e...508509b2b441


More information about the git mailing list