[ovs-dev] [tests+nxm-ofctl 00/42] repost of "tests" and NXM support for ovs-ofctl

Ben Pfaff blp at nicira.com
Tue Nov 23 22:43:32 UTC 2010


The first 21 patches in this series are a repost of the patches
already posted as [tests] that have not already been reviewed
and committed.  They required a little bit of fixup relative to
current "master" so I thought it would be easier to review them
this way.

The remaining 21 patches add support for NXM to ovs-ofctl and
fix a few bugs that I discovered along the way.

Ben Pfaff (42):
  dpif-netdev: Simplify code by using shash for names and dropping
    indexes.
  dpif-netdev: Do not log error for EOPNOTSUPP return from
    netdev_recv().
  Add new "dummy" netdev and dpif implementations for use in unit
    tests.
  Make installation directories overridable at runtime.
  ovs-openflowd: Add --unixctl command line option.
  ovs-openflowd: Add --enable-dummy option.
  ovs-openflowd: Improve usage message.
  ovs-openflowd: Add ability to run without connecting to controller.
  ovs-openflowd: Add "exit" unixctl command.
  ofproto: Fix typo in comment.
  Convert stream and vconn interfaces to use ovs_be16, ovs_be32.
  unaligned: Add unaligned accessors for ovs_be<N> data.
  ovs-ofctl: Simplify code by using strcasecmp() instead of
    strncasecmp().
  ovs-ofctl: Remove stray printf.
  ovs-ofctl: Factor out common code in str_to_port_no(), do_mod_port().
  ovs-ofctl: Remove now-useless "tun-cookie" command.
  vconn: New function vconn_transact_noreply().
  ovs-ofctl: Check that commands actually succeed.
  openflow: Change ofp_phy_port's 'name' member from uint8_t[] to
    char[].
  openflow: Remove vestigial support for including from kernel.
  tests: Add tests for ofproto code.
  ofp-util: Fix interpretation of NXFW_TUN_ID bit for NXFF_OPENFLOW10.
  ofp-print: Fix handling of zero-length actions.
  nicira-ext: Name the enum used for flow formats, to clarify code.
  classifier: New cls_rule functions for setting registers and tun_id.
  ovs-ofctl: Reimplement dumping particular tables.
  ovs-ofctl: Demote common log messages from INFO to DBG level.
  util: Improve type-safety of OBJECT_CONTAINING.
  util: Introduce ASSIGN_CONTAINER to make iteration macros easier to
    read.
  queue: Get rid of ovs_queue data structure.
  vconn: New function vconn_transact_multiple_noreply().
  pinsched: Use hmap instead of port_array.
  port-array: Remove.
  Refactor and centralize basic OpenFlow message decoding and
    validation.
  ofp-util: New functions for creating Nicira extension messages.
  ofp-util: New abstractions for flow_mod, flow_stats_request.
  classifier: Implement better classifier rule formatting.
  ofp-parse: Add support for tun_id.
  ofp-parse: Add support for registers.
  ofp-print: Implement printing for OFPUTIL_NXT_FLOW_MOD.
  ovs-ofctl: Add NXM support.
  ovs-ofctl: Add --more option to increase OpenFlow message verbosity.

 include/openflow/nicira-ext.h |    2 +-
 include/openflow/openflow.h   |    6 +-
 lib/automake.mk               |   24 +-
 lib/classifier.c              |  193 +++++++-
 lib/classifier.h              |   21 +-
 lib/daemon.c                  |    6 +-
 lib/dirs.c.in                 |   66 +++
 lib/dirs.h                    |   10 +-
 lib/dpif-netdev.c             |  187 ++++----
 lib/{dirs.h => dummy.c}       |   22 +-
 lib/{dirs.h => dummy.h}       |   18 +-
 lib/flow.c                    |    4 +-
 lib/hmap.h                    |   29 +-
 lib/jsonrpc.c                 |   22 +-
 lib/learning-switch.c         |  162 ++++---
 lib/learning-switch.h         |    8 +-
 lib/list.c                    |   10 +-
 lib/list.h                    |   20 +-
 lib/netdev-dummy.c            |  335 +++++++++++++
 lib/nx-match.c                |   40 +-
 lib/nx-match.h                |    4 +
 lib/ofp-parse.c               |  166 +++++---
 lib/ofp-parse.h               |   24 +-
 lib/ofp-print.c               |  854 +++++++++++++++++-----------------
 lib/ofp-util.c                | 1050 +++++++++++++++++++++++++++++++++++++----
 lib/ofp-util.h                |  132 +++++-
 lib/ofpbuf.c                  |   15 +-
 lib/ofpbuf.h                  |    9 +-
 lib/port-array.c              |  194 --------
 lib/port-array.h              |   96 ----
 lib/queue.c                   |  120 -----
 lib/queue.h                   |   44 --
 lib/rconn.c                   |   40 +-
 lib/rconn.h                   |    1 -
 lib/stream-provider.h         |   18 +-
 lib/stream.c                  |   16 +-
 lib/stream.h                  |    9 +-
 lib/unaligned.h               |   68 ++-
 lib/unixctl.c                 |   27 +-
 lib/unixctl.man               |    2 +
 lib/util.h                    |   25 +-
 lib/vconn-provider.h          |   18 +-
 lib/vconn.c                   |  124 +++++-
 lib/vconn.h                   |   12 +-
 lib/vlog-modules.def          |    1 +
 lib/vlog.c                    |    4 +-
 ofproto/ofproto.c             |  580 ++++++++---------------
 ofproto/pinsched.c            |  129 ++++--
 ofproto/status.c              |    3 +-
 ofproto/status.h              |    8 +-
 python/ovs/automake.mk        |   10 +-
 python/ovs/dirs.py            |    9 +-
 tests/automake.mk             |    1 +
 tests/ofproto.at              |   57 +++
 tests/ovs-ofctl.at            |   98 ++++-
 tests/testsuite.at            |    1 +
 utilities/ovs-appctl.c        |    4 +-
 utilities/ovs-controller.c    |   15 +-
 utilities/ovs-discover.c      |    2 +-
 utilities/ovs-ofctl.8.in      |   74 +++
 utilities/ovs-ofctl.c         |  391 +++++++++------
 utilities/ovs-openflowd.8.in  |   16 +
 utilities/ovs-openflowd.c     |   53 ++-
 utilities/ovs-vsctl.c         |    2 +-
 vswitchd/bridge.c             |    4 +-
 vswitchd/ovs-brcompatd.c      |    2 +-
 vswitchd/ovs-vswitchd.c       |    9 +-
 vswitchd/system-stats.c       |    6 +-
 68 files changed, 3635 insertions(+), 2097 deletions(-)
 create mode 100644 lib/dirs.c.in
 copy lib/{dirs.h => dummy.c} (54%)
 copy lib/{dirs.h => dummy.h} (60%)
 create mode 100644 lib/netdev-dummy.c
 delete mode 100644 lib/port-array.c
 delete mode 100644 lib/port-array.h
 delete mode 100644 lib/queue.c
 delete mode 100644 lib/queue.h
 create mode 100644 tests/ofproto.at





More information about the dev mailing list