This series:
- Inlines critical functions that are only used by the classifier.
- Hides classifier internals from the API, adding a 'cls_match' that
  contains the private parts of 'cls_rule'.
- Changes the subtable list to a linear array that enables prefetching.
- Always inlines the miniflows and minimasks in the classifier,
  reducing memory indirection.

Jarno Rajahalme (10):
  lib/flow: Simplify miniflow accessors, add ipv6 support.
  lib: Inline functions used in classifier_lookup
  ofproto: Use classifer cursor API to collect vlan usage.
  lib/classifier: Hide more of the internal data structures.
  lib/flow: Optimize minimask_has_extra() and minimask_is_catchall()
  lib: Add prefetch support (for GCC)
  classifier: Use array for subtables instead of a list.
  lib/classifier: Separate cls_rule internals from the API.
  lib/flow: Maintain miniflow offline values explicitly.
  lib/classifier: Support variable sized miniflows.

 lib/classifier.c        |  825 ++++++++++++++++++++++++++++++++++++-----------
 lib/classifier.h        |   73 +----
 lib/compiler.h          |    8 +
 lib/dpif-netdev.c       |   32 +-
 lib/flow.c              |  393 ++++++++--------------
 lib/flow.h              |  233 +++++++------
 lib/hindex.c            |   13 -
 lib/hindex.h            |   13 +-
 lib/match.c             |   37 +--
 lib/match.h             |    4 -
 lib/util.h              |   14 +
 ofproto/ofproto.c       |   25 +-
 tests/test-classifier.c |   33 +-
 13 files changed, 1016 insertions(+), 687 deletions(-)

-- 
1.7.10.4

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to