Hi,
The aim of this series is to add an implementation of and
tests for the following messages:
* Flow monitor request
+ Now present in the v5 branch of of_protocol
+ Was pull request 67
https://github.com/FlowForwarding/of_protocol/pull/67
* Flow reply
+ Now present in the v5 branch of of_protocol
+ Length fix was pull request 68
https://github.com/FlowForwarding/of_protocol/pull/68
* Correct implementation of get async reply and set async
to follow specification
+ of_protocol implementation proposed in pull request 71
https://github.com/FlowForwarding/of_protocol/pull/71
* Table status
+ Now present in the v5 branch of of_protocol
+ Was pull request 69
https://github.com/FlowForwarding/of_protocol/pull/69
* Bundle control message
+ Now present in the v5 branch of of_protocol
* Bundle add message
+ Now present in the v5 branch of of_protocol
* Request forward message
+ Now present in the v5 branch of of_protocol
+ Was pull request 70
https://github.com/FlowForwarding/of_protocol/pull/70
A complication of implementing unit tests for bundle control add message
and request forward message is that they are OpenFlow messages that
encapsulate an OpenFlow message. And some infrastructures changes are
required: specifically to allow MsgBase subclasses at other than the
top-level when parsing messages from JSON.
The above complication does not affect any of the other messages
covered by this series.
My first pass at this infrastructure changes is the patch
"Allow messages inside messages".
As I expect this change to require some discussion I it and
all bundle add message and request forward message patches as RFC.
I have placed all these patches at the end of the series to allow
earlier patches to be applied without complication.
This series is based on Ryu v3.7.
This series replaces:
* [PATCH 0/5] of14: Add bundle support
* [PATCH 0/7] of14: Add Flow monitor support
Key changes since v2
* Add patches to correct implementation of get async reply and set async
Changes to individual patches are noted in their changelogs.
To aid review this series and its dependencies are available at
https://github.com/horms/ryu devel/of1.4-messages-v3
I have made a wiki page to summarise the status of OF1.4 support in Ryu
https://github.com/horms/ryu/wiki/OpenFlow-V1.4-Coverage
Simon Horman (18):
of14: Add OFPFlowUpdate
of14: Add flow monitor request support
of14: Add flow monitor reply support
packet_data_generator: New ofproto dependency for v5 updates
of14: Add flow monitor request unit test
of14: Add flow monitor reply message unit test
of14: Add table status support
of14: Add table status unit test
of14: Add OFPAsyncConfigProp
of14: Update get async reply and set async implementation to follow
spec
of14: Remove incorrect OFP_ASYNC_CONFIG_{PACK_STR,SIZE}
of14: Add bundle control message support
of14: Add bundle control message unit test
[RFC] of14: Add bundle add message support
[RFC] Allow messages inside messages
[RFC] of14: Add bundle add message unit test
[RFC] Add request forward message support
[RFC] Add request forward message unit test
ryu/lib/stringify.py | 20 +-
ryu/ofproto/ofproto_parser.py | 1 -
ryu/ofproto/ofproto_v1_4.py | 30 +-
ryu/ofproto/ofproto_v1_4_parser.py | 627 ++++++++++++++++++---
.../of14/5-41-ofp_get_async_reply.packet | Bin 32 -> 160 bytes
.../packet_data/of14/5-42-ofp_set_async.packet | Bin 32 -> 160 bytes
.../of14/5-66-ofp_flow_monitor_request.packet | Bin 0 -> 48 bytes
.../of14/5-67-ofp_flow_monitor_reply.packet | Bin 0 -> 96 bytes
.../packet_data/of14/5-68-ofp_table_status.packet | Bin 0 -> 96 bytes
.../of14/5-69-ofp_bundle_ctrl_msg.packet | Bin 0 -> 72 bytes
.../of14/5-70-ofp_bundle_add_msg.packet | Bin 0 -> 80 bytes
.../of14/5-71-ofp_requestforward.packet | Bin 0 -> 56 bytes
ryu/tests/packet_data_generator/rebar.config | 9 +-
ryu/tests/packet_data_generator/src/x5.erl | 248 +++++++-
.../json/of14/5-41-ofp_get_async_reply.packet.json | 123 +++-
.../json/of14/5-42-ofp_set_async.packet.json | 123 +++-
.../of14/5-66-ofp_flow_monitor_request.packet.json | 27 +
.../of14/5-67-ofp_flow_monitor_reply.packet.json | 66 +++
.../json/of14/5-68-ofp_table_status.packet.json | 57 ++
.../json/of14/5-69-ofp_bundle_ctrl_msg.packet.json | 36 ++
.../json/of14/5-70-ofp_bundle_add_msg.packet.json | 40 ++
.../json/of14/5-71-ofp_requestforward.packet.json | 31 +
ryu/tests/unit/ofproto/test_parser.py | 4 +
23 files changed, 1302 insertions(+), 140 deletions(-)
create mode 100644
ryu/tests/packet_data/of14/5-66-ofp_flow_monitor_request.packet
create mode 100644
ryu/tests/packet_data/of14/5-67-ofp_flow_monitor_reply.packet
create mode 100644 ryu/tests/packet_data/of14/5-68-ofp_table_status.packet
create mode 100644 ryu/tests/packet_data/of14/5-69-ofp_bundle_ctrl_msg.packet
create mode 100644 ryu/tests/packet_data/of14/5-70-ofp_bundle_add_msg.packet
create mode 100644 ryu/tests/packet_data/of14/5-71-ofp_requestforward.packet
create mode 100644
ryu/tests/unit/ofproto/json/of14/5-66-ofp_flow_monitor_request.packet.json
create mode 100644
ryu/tests/unit/ofproto/json/of14/5-67-ofp_flow_monitor_reply.packet.json
create mode 100644
ryu/tests/unit/ofproto/json/of14/5-68-ofp_table_status.packet.json
create mode 100644
ryu/tests/unit/ofproto/json/of14/5-69-ofp_bundle_ctrl_msg.packet.json
create mode 100644
ryu/tests/unit/ofproto/json/of14/5-70-ofp_bundle_add_msg.packet.json
create mode 100644
ryu/tests/unit/ofproto/json/of14/5-71-ofp_requestforward.packet.json
--
1.8.5.2
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel