[ovs-dev] [PATCH/RFC repost 0/8] Open vSwtich ODP Select Group Action

Simon Horman simon.horman at netronome.com
Thu Sep 18 01:55:03 UTC 2014


[repost with correct dev at openvswitch.org address]

Hi,

the purpose of this patch-set is to provide a prototype of a select group
action in the Open vSwitch datapath. And the motivation for that is to
allow offloading of selection either in the datapath or by any hooks
provided by the datapath for hardware offloads (a topic of quite some
discussion elsewhere).

This proposal is also designed to tie in with another proposal we have
made to allow the selection method of a select group to be configured using
Open Flow. As such the selection method included in this patchset is
not the focus of this work: any method may be implemented. Rather,
the focus is on the ability to do selection in the datapath.

There are several implementation limitations of this prototype:

* It does not address per-bucket statistics.
  - We believe that the datapath can track per-bucket statistics and;
  - Expose them to user-space using new netlink attributes
* It assumes the select group comes last as the resulting packet
  may vary depending on the bucket that is chosen. Some possibilities
  for handling this include:
  - Performing selection in userspace for such cases
  - Using recirculation
* It seems that if recirculation may occur in more than one bucket
  then separate recirculation ids would be required. This prototype
  does not implement that.

This series is based on the Open vSwitch and its datapath maintained at
https://github.com/openvswitch/ovs.git

It is based on commit 5545e7826896e861c ("lib/odp-util: Add tunnel tp_src,
tp_dst parsing and formatting") of that tree.

Simon Horman (8):
  odp: select group action attributes
  netlink: Allow suppression of warnings for duplicate attributes
  odp-util: formatting of datapath select group action
  datapath: execution of select group action
  datapath: Move last_action() helper to datapath.h
  datapath: validation of select group action
  ofproto: translate datapath select group action
  hack: ofproto: enable odp select action

 datapath/actions.c                                |  74 ++++++++++++++-
 datapath/datapath.h                               |   5 +
 datapath/flow_netlink.c                           | 102 ++++++++++++++++++++
 datapath/linux/compat/include/linux/openvswitch.h |  31 +++++++
 lib/dpif-netdev.c                                 |   1 +
 lib/dpif.c                                        |   1 +
 lib/netlink.c                                     |   2 +-
 lib/netlink.h                                     |   1 +
 lib/odp-execute.c                                 |   1 +
 lib/odp-util.c                                    |  69 ++++++++++++++
 ofproto/ofproto-dpif-xlate.c                      | 108 +++++++++++++++++++++-
 11 files changed, 388 insertions(+), 7 deletions(-)

-- 
2.0.1




More information about the dev mailing list