[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