[ovs-dev] [PATCH v5.1 0/5] Implement OFPMP_TABLE_FEATURES GET

Alexander Wu alexander.wu at huawei.com
Tue Dec 31 03:31:24 UTC 2013


v5.1
  Split document and ofctl patch for the latter has been reviewed.
  Update mutex for table-features get message, add some comments.
  Split actions in ofp-util-patch to ofp-action-patch.

v5:
  Fix CodingStyle of %zu to PRIuSIZE
  Remerge a ofp-util.def to make it work independently.
  Fix different return type while translate instruction type.
  Remove useless ofp_print_not_implemented function.
  Use mutex to protect table-features-set.
  Add document for dump-table-features.

v4.3:
  Fix last table faetures id to 253 according to current implement
  and OpenFlow specs.
  Update table features AT.

v4.2:
  Fix last table features id to 255.
  Fix wrong prints of last table features.
  Add more comments to describe the implement inner ovs:
    The bitmaps stores table features OFPTFPT13_* properties.
    Here are valid bits:
      Instructions: OFPIT11_GOTO_TABLE ~ OFPIT13_METER
      Next tables: [0]:1 ~ [254]:255
      Actions: OFPAT13_OUTPUT ~ OFPAT13_POP_PBB
      OXMs(_writable): MFF_TUN_ID ~ MFF_N_IDS

v4.1:
  Update bitmap_count1 implemnt to call count1_bits directly.
  Bitmap is a separate subsystem, so I think bitmap_count1 is needed.

v4:
  Implement abstract bitmap for table feature properties.
  Make prop functions more general.
  Remove duplicated code, use existed implement.
  Squash some patches.

v1 to v3:
  This patch is to implement table features GET msg in openflow 1.3.

  The spec says:
  If the request body contains an array of one or more ofp_table_features
  structs, the switch will attempt to change its flow tables to match the
  requested flow table configuration. This operation configures the entire
  pipeline, and the set of flow tables in the pipeline must match the set
  in the request, or an error must be returned.
  And if request doesn't contain a body, then it's a GET request.

  It means OFPMP_TABLE_FEATURES consists of 2 parts: GET and SET.
  We implement the GET message now, and part of SET.
  But the entire SET message seems difficult, because it configures the
  whole pipeline.

  Hope your suggestions.

Alexander Wu (5):
  ofp-actions: Complete ofp13_action_type and add function to use
    instructions.
  ofp-util: Implement OFPMP_TABLE_FEATURES en/decode
  ofproto: handle OFPMP_TABLE_FEATURES msgs and its lifecycle.
  ofctl: Add ovs-ofctl dump-table-features.
  document: add dump-table-features

 include/openflow/openflow-1.3.h |   20 ++-
 lib/ofp-actions.c               |   21 ++
 lib/ofp-actions.h               |    3 +
 lib/ofp-parse.c                 |   19 ++
 lib/ofp-print.c                 |  168 ++++++++++-
 lib/ofp-util.c                  |  623 +++++++++++++++++++++++++++++++++++++++
 lib/ofp-util.def                |   21 ++
 lib/ofp-util.h                  |  130 ++++++++
 ofproto/ofproto-provider.h      |    8 +
 ofproto/ofproto.c               |  237 +++++++++++++++-
 tests/ofp-print.at              |  172 +++++++++++
 tests/ofproto.at                |   25 ++
 utilities/ovs-ofctl.8.in        |    4 +
 utilities/ovs-ofctl.c           |   17 +
 14 files changed, 1458 insertions(+), 10 deletions(-)

-- 
1.7.3.1.msysgit.0





More information about the dev mailing list