[ovs-dev] [PATCH v3 0/8] Group Select: Selection Method Extension

Simon Horman simon.horman at netronome.com
Mon Mar 9 01:10:55 UTC 2015


Hi,

this patch set implements the group select selection method extension that
I circulated some months ago.

The implementation makes use of a group experimenter property and
thus depends on Open Flow 1.5 groups (ONF EXT-250).

The last patch of the series adds an implementation of a hash selection
method to illustrate what a selection method might look like.  It may be
thought of as a less intelligent but more flexible than the default
selection method which I characterise as making hash of L2 and/or L3 fields
depending on which fields are present in the flow.


Key differences between v2 and v3:

As suggested by Ben Pfaff:
* Use NTR instead of NMX as Netronome extension prefix
* Use array of TLVs rather than OF1.1 match for fields field of
  NTR selection method property
* Add check to only permit known selection methods

* I have also removed the RFC designation on the series


Key differences between v1 and v2:

Thanks Ben Pfaff and other's for their review.

* Use an array of TLVs rather than an of_match structure for
  the fields of the group experimenter property
  - This resulted in an extensive rework of the code
* Do not enforce pre-requisites of selection method fields
* Add documentation to Documentation directory


To aid review I have made this series available on github:

https://github.com/horms/openvswitch.git devel/ext-350+selection_method-v3




Simon Horman (8):
  Use NTR rather than NTR as prefix for Netronome vendor id
  Documentation: Add documentation of group selection method property
  Add types for NTR selection method
  Support decoding of NTR selection method
  Support encoding of NTR selection method
  Support translation of NTR selection method
  Support NTR selection method in ovs-ofctl group commands
  Implement hash fields select group

 Documentation/automake.mk                         |   2 +
 Documentation/group-selection-method-property.txt | 153 ++++++++++++
 Makefile.am                                       |   1 +
 include/openflow/automake.mk                      |   1 +
 include/openflow/netronome-ext.h                  |  66 +++++
 include/openflow/openflow-common.h                |   2 +-
 lib/meta-flow.c                                   |   9 +
 lib/meta-flow.h                                   |  10 +
 lib/nx-match.c                                    | 133 +++++++++-
 lib/nx-match.h                                    |   8 +
 lib/ofp-parse.c                                   | 105 ++++++++
 lib/ofp-print.c                                   |  40 ++-
 lib/ofp-util.c                                    | 284 +++++++++++++++++++++-
 lib/ofp-util.h                                    |  16 ++
 ofproto/ofproto-dpif-xlate.c                      |  73 +++++-
 ofproto/ofproto-dpif.c                            |  18 ++
 ofproto/ofproto-dpif.h                            |   3 +
 ofproto/ofproto-provider.h                        |   6 +
 ofproto/ofproto.c                                 |  14 +-
 tests/ofp-print.at                                |  16 +-
 tests/ofproto-dpif.at                             |  20 ++
 tests/ofproto.at                                  |   4 +-
 utilities/ovs-ofctl.8.in                          |  23 ++
 23 files changed, 978 insertions(+), 29 deletions(-)
 create mode 100644 Documentation/automake.mk
 create mode 100644 Documentation/group-selection-method-property.txt
 create mode 100644 include/openflow/netronome-ext.h

-- 
2.1.4




More information about the dev mailing list