[ovs-dev] [PATCH v6 0/4] Write-Actions and Groups

Simon Horman horms at verge.net.au
Fri Oct 11 04:23:28 UTC 2013


Hi,

After a bit of a hiatus I would like to revisit this series.
I have rebased it and addressed the issues which I felt
were conclusively discussed in response to v3 of this patchset.


This series is comprised of two components.

A. Support write actions.

   With this in place it is possible to use write actions and clear actions.
   This patch does not depend on other patches in the series.

   [PATCH v6 1/4] Add support for write-actions

B. Translation of indirect, all and fast failover groups

   With these patches in place it is possible to use indirect, all
   and fast-failover groups.

   These patches depend on previous patches in the series.

   [PATCH v6 2/4] ofproto-dpif: Implement group callbacks
   [PATCH v6 3/4] Translation of indirect and all groups
   [PATCH v6 4/4] Translation of fast failover groups

This series covers the group features that I am interested in implementing
at this time.  In particular it does not include an implementation of the
optional select group. I would be more than happy for someone else to take
on that task.

In order to aid review the series is available in git:

    https://github.com/horms/openvswitch.git devel/groups-v6

Changes since v5:
* Add support for translation of fast-failover groups.
* Constify some parameters

Changes since v4:
* Rebase
* Add OFPACT_DEC_MPLS_TTL to ofpacts_list_to_action_set()
  This was left out of the OFPACT_DEC_MPLS_TTL update made in v4.

Changes since v3:
* Rebase
* As suggested by Jarno Rajahalme
  - Group instructions in ofpact_is_allowed_in_actions_set()
    and add comment about why they are exclude from the actions set.
  - Allow OFPACT_DEC_MPLS_TTL in action set.
  - Add note about why some non-OpenFlow actions are excluded from
    the action set
  - Stop translation of actions if looking up the
    group of a group actions fails. Previously an attempt
    was made to send a packet_in message instead.
  - Process action buckets of groups for write list as a list of actions
    rather than a set.  The action bucket should only be treated as a set if
    the group action is part of the action set
* group parameter of group_dpif_get_buckets() should not
  be const as the address of one of its fields is assigned
  to another parameter.
* Correct cloning logic in xlate_all_group().
  It is the flow that should be reset not the base_flow.


Changes since v2:
* "ovs-ofctl: Handle any number of buckets in group statistics"
  + As suggested by Ben Pfaff
    - Vastly simplify the change by using an explicit pointer for
      the 'bucket_stats' member of struct ofputil_group_stats rather
      than implicit variable length array appended to the end of the
      structure.
* "ofproto-dpif: Implement group callbacks" and
  "Translation of indirect and all groups"
  + Rebase for "ofproto-dpif: Hide struct rule_dpif internally"
  + Hide group_dpif in a similar manner to rule_dpif


Simon Horman (4):
  Add support for write-actions
  ofproto-dpif: Implement group callbacks
  Translation of indirect and all groups
  Translation of fast failover groups

 lib/ofp-actions.c            | 354 +++++++++++++++++++++++++++++++++++++++++--
 lib/ofp-actions.h            |  22 ++-
 lib/ofp-parse.c              |  43 +++++-
 ofproto/ofproto-dpif-xlate.c | 264 +++++++++++++++++++++++++++++++-
 ofproto/ofproto-dpif-xlate.h |   3 +-
 ofproto/ofproto-dpif.c       | 177 +++++++++++++++++++++-
 ofproto/ofproto-dpif.h       |  10 ++
 ofproto/ofproto.c            |   3 +
 tests/ofp-actions.at         |  26 +++-
 tests/ofproto-dpif.at        |  87 +++++++++++
 utilities/ovs-ofctl.8.in     |  51 +++++++
 11 files changed, 998 insertions(+), 42 deletions(-)

-- 
1.8.4




More information about the dev mailing list