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

Reply via email to