Fixup the docs building

This commit enable users to run `tox -e docs` to build docs for os-ken.
It fixes several issues to ensure the build will succeed.
In addition, the docs from upstream Ryu library is grouped into
archived content. The future work is merging those docs into
the os-ken contents.

Change-Id: I5ee1998e0d2835495650cda530eb0b73c49b091a
This commit is contained in:
Hongbin Lu 2018-10-15 19:05:34 +00:00
parent b5be390943
commit 52a227c309
73 changed files with 891 additions and 910 deletions

View File

@ -74,17 +74,17 @@ qthelp:
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/ryu.qhcp"
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/os_ken.qhcp"
@echo "To view the help file:"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/ryu.qhc"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/os_ken.qhc"
devhelp:
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
@echo
@echo "Build finished."
@echo "To view the help file:"
@echo "# mkdir -p $$HOME/.local/share/devhelp/ryu"
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/ryu"
@echo "# mkdir -p $$HOME/.local/share/devhelp/os_ken"
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/os_ken"
@echo "# devhelp"
epub:

View File

@ -1,15 +1,15 @@
.. _api_ref:
*******************************
Ryu API Reference
OS-Ken API Reference
*******************************
.. XXX list all members explicitly to workaround a sphinx bug
.. XXX https://bitbucket.org/birkenfeld/sphinx/issue/1362
.. py:currentmodule:: ryu.base.app_manager
.. autoclass:: ryu.base.app_manager.RyuApp
.. py:currentmodule:: os_ken.base.app_manager
.. autoclass:: os_ken.base.app_manager.RyuApp
:members: OFP_VERSIONS,_CONTEXTS,_EVENTS,close,context_iteritems,reply_to_request,send_event,send_event_to_observers,send_request,start
.. autoclass:: ryu.controller.dpset.DPSet
.. autoclass:: os_ken.controller.dpset.DPSet
:members:

View File

@ -1,10 +1,10 @@
*************************
Built-in Ryu applications
*************************
****************************
Built-in OS-Ken applications
****************************
Ryu has some built-in Ryu applications.
OS-Ken has some built-in OS-Ken applications.
Some of them are examples.
Others provide some functionalities to other Ryu applications.
Others provide some functionalities to other OS-Ken applications.
.. toctree::
:maxdepth: 1

View File

@ -1,6 +1,6 @@
**************************************
ryu.services.protocols.bgp.application
**************************************
*****************************************
os_ken.services.protocols.bgp.application
*****************************************
.. automodule:: ryu.services.protocols.bgp.application
.. automodule:: os_ken.services.protocols.bgp.application
:members:

View File

@ -1,16 +1,16 @@
*************
ryu.app.ofctl
*************
****************
os_ken.app.ofctl
****************
ryu.app.ofctl provides a convenient way to use OpenFlow messages
os_ken.app.ofctl provides a convenient way to use OpenFlow messages
synchronously.
OfctlService ryu application is automatically loaded if your
Ryu application imports ofctl.api module.
OfctlService os_ken application is automatically loaded if your
OS-Ken application imports ofctl.api module.
Example::
import ryu.app.ofctl.api
import os_ken.app.ofctl.api
OfctlService application internally uses OpenFlow barrier messages
to ensure message boundaries. As OpenFlow messages are asynchronous
@ -20,11 +20,11 @@ are necessary for correct error handling.
api module
==========
.. automodule:: ryu.app.ofctl.api
.. automodule:: os_ken.app.ofctl.api
:members:
exceptions
==========
.. automodule:: ryu.app.ofctl.exception
.. automodule:: os_ken.app.ofctl.exception
:members:

View File

@ -1,8 +1,8 @@
******************
ryu.app.ofctl_rest
******************
*********************
os_ken.app.ofctl_rest
*********************
ryu.app.ofctl_rest provides REST APIs for retrieving the switch stats
os_ken.app.ofctl_rest provides REST APIs for retrieving the switch stats
and Updating the switch stats.
This application helps you debug your application and get various statistics.

View File

@ -1,12 +1,12 @@
*****************
ryu.app.rest_vtep
*****************
********************
os_ken.app.rest_vtep
********************
.. automodule:: ryu.app.rest_vtep
.. automodule:: os_ken.app.rest_vtep
REST API
========
.. autoclass:: ryu.app.rest_vtep.RestVtepController
.. autoclass:: os_ken.app.rest_vtep.RestVtepController
:members:
:member-order: bysource

View File

@ -1,12 +1,12 @@
*****************
Components of Ryu
*****************
********************
Components of OS-Ken
********************
Executables
===========
bin/ryu-manager
---------------
bin/os_ken-manager
------------------
The main executable.
@ -14,131 +14,131 @@ The main executable.
Base components
===============
ryu.base.app_manager
--------------------
.. automodule:: ryu.base.app_manager
os_ken.base.app_manager
-----------------------
.. automodule:: os_ken.base.app_manager
OpenFlow controller
===================
ryu.controller.controller
-------------------------
.. automodule:: ryu.controller.controller
os_ken.controller.controller
----------------------------
.. automodule:: os_ken.controller.controller
ryu.controller.dpset
--------------------
.. automodule:: ryu.controller.dpset
os_ken.controller.dpset
-----------------------
.. automodule:: os_ken.controller.dpset
ryu.controller.ofp_event
------------------------
.. automodule:: ryu.controller.ofp_event
os_ken.controller.ofp_event
---------------------------
.. automodule:: os_ken.controller.ofp_event
ryu.controller.ofp_handler
--------------------------
.. automodule:: ryu.controller.ofp_handler
os_ken.controller.ofp_handler
-----------------------------
.. automodule:: os_ken.controller.ofp_handler
OpenFlow wire protocol encoder and decoder
==========================================
ryu.ofproto.ofproto_v1_0
os_ken.ofproto.ofproto_v1_0
---------------------------
.. automodule:: os_ken.ofproto.ofproto_v1_0
os_ken.ofproto.ofproto_v1_0_parser
----------------------------------
.. automodule:: os_ken.ofproto.ofproto_v1_0_parser
os_ken.ofproto.ofproto_v1_2
---------------------------
.. automodule:: os_ken.ofproto.ofproto_v1_2
os_ken.ofproto.ofproto_v1_2_parser
----------------------------------
.. automodule:: os_ken.ofproto.ofproto_v1_2_parser
os_ken.ofproto.ofproto_v1_3
---------------------------
.. automodule:: os_ken.ofproto.ofproto_v1_3
os_ken.ofproto.ofproto_v1_3_parser
----------------------------------
.. automodule:: os_ken.ofproto.ofproto_v1_3_parser
os_ken.ofproto.ofproto_v1_4
---------------------------
.. automodule:: os_ken.ofproto.ofproto_v1_4
os_ken.ofproto.ofproto_v1_4_parser
----------------------------------
.. automodule:: os_ken.ofproto.ofproto_v1_4_parser
os_ken.ofproto.ofproto_v1_5
---------------------------
.. automodule:: os_ken.ofproto.ofproto_v1_5
os_ken.ofproto.ofproto_v1_5_parser
----------------------------------
.. automodule:: os_ken.ofproto.ofproto_v1_5_parser
OS-Ken applications
===================
os_ken.app.cbench
-----------------
.. automodule:: os_ken.app.cbench
os_ken.app.simple_switch
------------------------
.. automodule:: ryu.ofproto.ofproto_v1_0
.. automodule:: os_ken.app.simple_switch
ryu.ofproto.ofproto_v1_0_parser
-------------------------------
.. automodule:: ryu.ofproto.ofproto_v1_0_parser
ryu.ofproto.ofproto_v1_2
------------------------
.. automodule:: ryu.ofproto.ofproto_v1_2
ryu.ofproto.ofproto_v1_2_parser
-------------------------------
.. automodule:: ryu.ofproto.ofproto_v1_2_parser
ryu.ofproto.ofproto_v1_3
------------------------
.. automodule:: ryu.ofproto.ofproto_v1_3
ryu.ofproto.ofproto_v1_3_parser
-------------------------------
.. automodule:: ryu.ofproto.ofproto_v1_3_parser
ryu.ofproto.ofproto_v1_4
------------------------
.. automodule:: ryu.ofproto.ofproto_v1_4
ryu.ofproto.ofproto_v1_4_parser
-------------------------------
.. automodule:: ryu.ofproto.ofproto_v1_4_parser
ryu.ofproto.ofproto_v1_5
------------------------
.. automodule:: ryu.ofproto.ofproto_v1_5
ryu.ofproto.ofproto_v1_5_parser
-------------------------------
.. automodule:: ryu.ofproto.ofproto_v1_5_parser
Ryu applications
================
ryu.app.cbench
--------------
.. automodule:: ryu.app.cbench
ryu.app.simple_switch
---------------------
.. automodule:: ryu.app.simple_switch
ryu.topology
------------
.. automodule:: ryu.topology
os_ken.topology
---------------
.. automodule:: os_ken.topology
Libraries
=========
ryu.lib.packet
--------------
.. automodule:: ryu.lib.packet
ryu.lib.ovs
-----------
.. automodule:: ryu.lib.ovs
ryu.lib.of_config
os_ken.lib.packet
-----------------
.. automodule:: ryu.lib.of_config
.. automodule:: os_ken.lib.packet
ryu.lib.netconf
---------------
.. automodule:: ryu.lib.netconf
os_ken.lib.ovs
--------------
.. automodule:: os_ken.lib.ovs
ryu.lib.xflow
-------------
.. automodule:: ryu.lib.xflow
os_ken.lib.of_config
--------------------
.. automodule:: os_ken.lib.of_config
os_ken.lib.netconf
------------------
.. automodule:: os_ken.lib.netconf
os_ken.lib.xflow
----------------
.. automodule:: os_ken.lib.xflow
Third party libraries
=====================
ryu.contrib.ovs
---------------
os_ken.contrib.ovs
------------------
Open vSwitch python binding. Used by ryu.lib.ovs.
Open vSwitch python binding. Used by os_ken.lib.ovs.
ryu.contrib.oslo.config
-----------------------
os_ken.contrib.oslo.config
--------------------------
Oslo configuration library. Used for ryu-manager's command-line options
Oslo configuration library. Used for os_ken-manager's command-line options
and configuration files.
ryu.contrib.ncclient
--------------------
os_ken.contrib.ncclient
-----------------------
Python library for NETCONF client. Used by ryu.lib.of_config.
Python library for NETCONF client. Used by os_ken.lib.of_config.

View File

@ -1,13 +1,13 @@
****************************
Writing Your Ryu Application
****************************
*******************************
Writing Your OS-Ken Application
*******************************
.. toctree::
:maxdepth: 2
writing_ryu_app.rst
writing_os_ken_app.rst
components.rst
ryu_app_api.rst
os_ken_app_api.rst
library.rst
ofproto_ref.rst
nicira_ext_ref.rst

View File

@ -1,5 +0,0 @@
***************
Getting Started
***************
.. include:: ../../README.rst

View File

@ -2,15 +2,15 @@
Topology Viewer
***************
ryu.app.gui_topology.gui_topology provides topology visualization.
os_ken.app.gui_topology.gui_topology provides topology visualization.
This depends on following ryu applications.
This depends on following os_ken applications.
===================== =================================================
ryu.app.rest_topology Get node and link data.
ryu.app.ws_topology Being notified change of link up/down.
ryu.app.ofctl_rest Get flows of datapaths.
===================== =================================================
======================== =================================================
os_ken.app.rest_topology Get node and link data.
os_ken.app.ws_topology Being notified change of link up/down.
os_ken.app.ofctl_rest Get flows of datapaths.
======================== =================================================
Usage
=====
@ -21,9 +21,9 @@ Run mininet (or join your real environment)::
Run GUI application::
$ PYTHONPATH=. ./bin/ryu run --observe-links ryu/app/gui_topology/gui_topology.py
$ PYTHONPATH=. ./bin/os_ken run --observe-links os_ken/app/gui_topology/gui_topology.py
Access http://<ip address of ryu host>:8080 with your web browser.
Access http://<ip address of os_ken host>:8080 with your web browser.
Screenshot
==========

View File

@ -20,6 +20,22 @@ Contents:
admin/index
reference/index
Archived Contents:
.. note::
Contents here are imported from the upstream Ryu documentation.
They will be merged into the OS-Ken documentation gradually.
.. toctree::
:maxdepth: 2
developing.rst
configuration.rst
tests.rst
snort_integrate.rst
app.rst
Indices and tables
==================

View File

@ -2,7 +2,7 @@
Library
*******
Ryu provides some useful library for your network applications.
OS-Ken provides some useful library for your network applications.
.. toctree::
:maxdepth: 1

View File

@ -5,7 +5,7 @@ BGP speaker library
Introduction
============
Ryu BGP speaker library helps you to enable your code to speak BGP
OS-Ken BGP speaker library helps you to enable your code to speak BGP
protocol. The library supports IPv4, IPv4 MPLS-labeled VPN, IPv6
MPLS-labeled VPN and L2VPN EVPN address families.
@ -26,13 +26,13 @@ instance advertizes some prefixes.
# initialize a log handler
# this is not strictly necessary but useful if you get messages like:
# No handlers could be found for logger "ryu.lib.hub"
# No handlers could be found for logger "os_ken.lib.hub"
import logging
import sys
log = logging.getLogger()
log.addHandler(logging.StreamHandler(sys.stderr))
from ryu.services.protocols.bgp.bgpspeaker import BGPSpeaker
from os_ken.services.protocols.bgp.bgpspeaker import BGPSpeaker
def dump_remote_best_path_change(event):
print 'the best path changed:', event.remote_as, event.prefix,\

View File

@ -5,17 +5,17 @@ BGP speaker library API Reference
BGPSpeaker class
================
.. autoclass:: ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker
.. autoclass:: os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker
:members:
.. autoclass:: ryu.services.protocols.bgp.bgpspeaker.EventPrefix
.. autoclass:: os_ken.services.protocols.bgp.bgpspeaker.EventPrefix
:members:
.. autoclass:: ryu.services.protocols.bgp.info_base.base.PrefixFilter
.. autoclass:: os_ken.services.protocols.bgp.info_base.base.PrefixFilter
:members:
.. autoclass:: ryu.services.protocols.bgp.info_base.base.ASPathFilter
.. autoclass:: os_ken.services.protocols.bgp.info_base.base.ASPathFilter
:members:
.. autoclass:: ryu.services.protocols.bgp.info_base.base.AttributeMap
.. autoclass:: os_ken.services.protocols.bgp.info_base.base.AttributeMap
:members:

View File

@ -5,7 +5,7 @@ MRT file library
Introduction
============
Ryu MRT file library helps you to read/write MRT
OS-Ken MRT file library helps you to read/write MRT
(Multi-Threaded Routing Toolkit) Routing Information Export Format
[`RFC6396`_].
@ -17,7 +17,7 @@ Reading MRT file
For loading the routing information contained in MRT files, you can use
mrtlib.Reader.
.. autoclass:: ryu.lib.mrtlib.Reader
.. autoclass:: os_ken.lib.mrtlib.Reader
Writing MRT file
================
@ -25,4 +25,4 @@ Writing MRT file
For dumping the routing information which your RyuApp generated, you can use
mrtlib.Writer.
.. autoclass:: ryu.lib.mrtlib.Writer
.. autoclass:: os_ken.lib.mrtlib.Writer

View File

@ -2,7 +2,7 @@
OF-Config support
*****************
Ryu has a library for OF-Config support.
OS-Ken has a library for OF-Config support.
XML schema files for NETCONFIG and OFConfig
===========================================

View File

@ -2,7 +2,7 @@
OVSDB library
*************
Path: ``ryu.lib.ovs``
Path: ``os_ken.lib.ovs``
Similar to the :doc:`library_ovsdb_manager`, this library enables your
application to speak the OVSDB protocol (RFC7047_), but differ from the
@ -27,19 +27,19 @@ See manpage of ovs-vsctl_ command for more details.
Basic Usage
===========
1. Instantiate :py:mod:`ryu.lib.ovs.vsctl.VSCtl`.
1. Instantiate :py:mod:`os_ken.lib.ovs.vsctl.VSCtl`.
2. Construct commands with :py:mod:`ryu.lib.ovs.vsctl.VSCtlCommand`.
2. Construct commands with :py:mod:`os_ken.lib.ovs.vsctl.VSCtlCommand`.
The syntax is almost the same as ovs-vsctl_ command.
3. Execute commands via :py:mod:`ryu.lib.ovs.vsctl.VSCtl.run_command`.
3. Execute commands via :py:mod:`os_ken.lib.ovs.vsctl.VSCtl.run_command`.
Example
-------
.. code-block:: python
from ryu.lib.ovs import vsctl
from os_ken.lib.ovs import vsctl
OVSDB_ADDR = 'tcp:127.0.0.1:6640'
ovs_vsctl = vsctl.VSCtl(OVSDB_ADDR)
@ -63,14 +63,14 @@ Example
API Reference
=============
ryu.lib.ovs.vsctl
-----------------
os_ken.lib.ovs.vsctl
--------------------
.. automodule:: ryu.lib.ovs.vsctl
.. automodule:: os_ken.lib.ovs.vsctl
:members:
ryu.lib.ovs.bridge
------------------
os_ken.lib.ovs.bridge
---------------------
.. automodule:: ryu.lib.ovs.bridge
.. automodule:: os_ken.lib.ovs.bridge
:members:

View File

@ -2,19 +2,19 @@
OVSDB Manager library
*********************
Path: ``ryu.services.protocols.ovsdb``
Path: ``os_ken.services.protocols.ovsdb``
Introduction
============
Ryu OVSDB Manager library allows your code to interact with devices
OS-Ken OVSDB Manager library allows your code to interact with devices
speaking the OVSDB protocol. This enables your code to perform remote
management of the devices and react to topology changes on them.
Please note this library will spawn a server listening on the port 6640 (the
IANA registered for OVSDB protocol), but does not initiate connections from
controller side.
Then, to make your devices connect to Ryu, you need to tell the controller IP
Then, to make your devices connect to OS-Ken, you need to tell the controller IP
address and port to your devices.
.. code-block:: bash
@ -50,10 +50,10 @@ and also provides the API "create_port" for creating a port on a bridge.
import uuid
from ryu.base import app_manager
from ryu.controller.handler import set_ev_cls
from ryu.services.protocols.ovsdb import api as ovsdb
from ryu.services.protocols.ovsdb import event as ovsdb_event
from os_ken.base import app_manager
from os_ken.controller.handler import set_ev_cls
from os_ken.services.protocols.ovsdb import api as ovsdb
from os_ken.services.protocols.ovsdb import event as ovsdb_event
class MyApp(app_manager.RyuApp):

View File

@ -5,7 +5,7 @@ Packet library
Introduction
============
Ryu packet library helps you to parse and build various protocol
OS-Ken packet library helps you to parse and build various protocol
packets. dpkt is the popular library for the same purpose, however it
is not designed to handle protocols that are interleaved; vlan, mpls,
gre, etc. So we implemented our own packet library.
@ -24,9 +24,9 @@ First, let's look at how we can use the library to parse the received
packets in a handler for OFPPacketIn messages.
.. code-block:: python
from ryu.lib.packet import packet
from os_ken.lib.packet import packet
@handler.set_ev_cls(ofp_event.EventOFPPacketIn, handler.MAIN_DISPATCHER)
def packet_in_handler(self, ev):
pkt = packet.Packet(array.array('B', ev.msg.data))
@ -40,24 +40,24 @@ the protocol class instances.
If a TCP packet is received, something like the following is printed::
<ryu.lib.packet.ethernet.ethernet object at 0x107a5d790>
<ryu.lib.packet.vlan.vlan object at 0x107a5d7d0>
<ryu.lib.packet.ipv4.ipv4 object at 0x107a5d810>
<ryu.lib.packet.tcp.tcp object at 0x107a5d850>
<os_ken.lib.packet.ethernet.ethernet object at 0x107a5d790>
<os_ken.lib.packet.vlan.vlan object at 0x107a5d7d0>
<os_ken.lib.packet.ipv4.ipv4 object at 0x107a5d810>
<os_ken.lib.packet.tcp.tcp object at 0x107a5d850>
If vlan is not used, you see something like::
<ryu.lib.packet.ethernet.ethernet object at 0x107a5d790>
<ryu.lib.packet.ipv4.ipv4 object at 0x107a5d810>
<ryu.lib.packet.tcp.tcp object at 0x107a5d850>
<os_ken.lib.packet.ethernet.ethernet object at 0x107a5d790>
<os_ken.lib.packet.ipv4.ipv4 object at 0x107a5d810>
<os_ken.lib.packet.tcp.tcp object at 0x107a5d850>
You can access to a specific protocol class instance by using the
packet class iterator. Let's try to check VLAN id if VLAN is used:
.. code-block:: python
from ryu.lib.packet import packet
from os_ken.lib.packet import packet
@handler.set_ev_cls(ofp_event.EventOFPPacketIn, handler.MAIN_DISPATCHER)
def packet_in_handler(self, ev):
pkt = packet.Packet(array.array('B', ev.msg.data))
@ -68,11 +68,11 @@ packet class iterator. Let's try to check VLAN id if VLAN is used:
You see something like::
ethernet <ryu.lib.packet.ethernet.ethernet object at 0x107a5d790>
vlan <ryu.lib.packet.vlan.vlan object at 0x107a5d7d0>
ethernet <os_ken.lib.packet.ethernet.ethernet object at 0x107a5d790>
vlan <os_ken.lib.packet.vlan.vlan object at 0x107a5d7d0>
vid = 10
ipv4 <ryu.lib.packet.ipv4.ipv4 object at 0x107a5d810>
tcp <ryu.lib.packet.tcp.tcp object at 0x107a5d850>
ipv4 <os_ken.lib.packet.ipv4.ipv4 object at 0x107a5d810>
tcp <os_ken.lib.packet.tcp.tcp object at 0x107a5d850>
@ -86,8 +86,8 @@ is building an arp packet.
.. code-block:: python
from ryu.ofproto import ether
from ryu.lib.packet import ethernet, arp, packet
from os_ken.ofproto import ether
from os_ken.lib.packet import ethernet, arp, packet
e = ethernet.ethernet(dst='ff:ff:ff:ff:ff:ff',
src='08:60:6e:7f:74:e7',

View File

@ -5,18 +5,18 @@ Packet library API Reference
Packet class
============
.. automodule:: ryu.lib.packet.packet
.. automodule:: os_ken.lib.packet.packet
:members:
Stream Parser class
===================
.. automodule:: ryu.lib.packet.stream_parser
.. automodule:: os_ken.lib.packet.stream_parser
:members:
List of the sub-classes:
- :py:mod:`ryu.lib.packet.bgp.StreamParser`
- :py:mod:`os_ken.lib.packet.bgp.StreamParser`
Protocol Header classes
=======================

View File

@ -2,5 +2,5 @@
ARP
***
.. automodule:: ryu.lib.packet.arp
.. automodule:: os_ken.lib.packet.arp
:members:

View File

@ -2,5 +2,5 @@
Packet Base Class
*****************
.. automodule:: ryu.lib.packet.packet_base
.. automodule:: os_ken.lib.packet.packet_base
:members:

View File

@ -2,5 +2,5 @@
BFD
***
.. automodule:: ryu.lib.packet.bfd
.. automodule:: os_ken.lib.packet.bfd
:members:

View File

@ -2,5 +2,5 @@
BGP
***
.. automodule:: ryu.lib.packet.bgp
.. automodule:: os_ken.lib.packet.bgp
:members:

View File

@ -2,5 +2,5 @@
BMP
***
.. automodule:: ryu.lib.packet.bmp
.. automodule:: os_ken.lib.packet.bmp
:members:

View File

@ -2,5 +2,5 @@
BPDU
****
.. automodule:: ryu.lib.packet.bpdu
.. automodule:: os_ken.lib.packet.bpdu
:members:

View File

@ -2,5 +2,5 @@
CFM
***
.. automodule:: ryu.lib.packet.cfm
.. automodule:: os_ken.lib.packet.cfm
:members:

View File

@ -2,5 +2,5 @@
DHCP
****
.. automodule:: ryu.lib.packet.dhcp
.. automodule:: os_ken.lib.packet.dhcp
:members:

View File

@ -2,5 +2,5 @@
DHCP6
*****
.. automodule:: ryu.lib.packet.dhcp6
.. automodule:: os_ken.lib.packet.dhcp6
:members:

View File

@ -2,5 +2,5 @@
Ethernet
********
.. automodule:: ryu.lib.packet.ethernet
.. automodule:: os_ken.lib.packet.ethernet
:members:

View File

@ -2,5 +2,5 @@
Geneve
******
.. automodule:: ryu.lib.packet.geneve
.. automodule:: os_ken.lib.packet.geneve
:members:

View File

@ -2,5 +2,5 @@
GRE
***
.. automodule:: ryu.lib.packet.gre
.. automodule:: os_ken.lib.packet.gre
:members:

View File

@ -2,5 +2,5 @@
ICMP
****
.. automodule:: ryu.lib.packet.icmp
.. automodule:: os_ken.lib.packet.icmp
:members:

View File

@ -2,5 +2,5 @@
ICMPv6
******
.. automodule:: ryu.lib.packet.icmpv6
.. automodule:: os_ken.lib.packet.icmpv6
:members:

View File

@ -2,5 +2,5 @@
IGMP
****
.. automodule:: ryu.lib.packet.igmp
.. automodule:: os_ken.lib.packet.igmp
:members:

View File

@ -2,5 +2,5 @@
IPv4
****
.. automodule:: ryu.lib.packet.ipv4
.. automodule:: os_ken.lib.packet.ipv4
:members:

View File

@ -2,5 +2,5 @@
IPv6
****
.. automodule:: ryu.lib.packet.ipv6
.. automodule:: os_ken.lib.packet.ipv6
:members:

View File

@ -2,5 +2,5 @@
LLC
***
.. automodule:: ryu.lib.packet.llc
.. automodule:: os_ken.lib.packet.llc
:members:

View File

@ -2,5 +2,5 @@
LLDP
****
.. automodule:: ryu.lib.packet.lldp
.. automodule:: os_ken.lib.packet.lldp
:members:

View File

@ -2,5 +2,5 @@
MPLS
****
.. automodule:: ryu.lib.packet.mpls
.. automodule:: os_ken.lib.packet.mpls
:members:

View File

@ -2,5 +2,5 @@
OpenFlow
********
.. automodule:: ryu.lib.packet.openflow
.. automodule:: os_ken.lib.packet.openflow
:members:

View File

@ -2,5 +2,5 @@
OSPF
****
.. automodule:: ryu.lib.packet.ospf
.. automodule:: os_ken.lib.packet.ospf
:members:

View File

@ -2,5 +2,5 @@
PBB
***
.. automodule:: ryu.lib.packet.pbb
.. automodule:: os_ken.lib.packet.pbb
:members:

View File

@ -2,5 +2,5 @@
SCTP
****
.. automodule:: ryu.lib.packet.sctp
.. automodule:: os_ken.lib.packet.sctp
:members:

View File

@ -2,5 +2,5 @@
Slow
****
.. automodule:: ryu.lib.packet.slow
.. automodule:: os_ken.lib.packet.slow
:members:

View File

@ -2,5 +2,5 @@
TCP
***
.. automodule:: ryu.lib.packet.tcp
.. automodule:: os_ken.lib.packet.tcp
:members:

View File

@ -2,5 +2,5 @@
UDP
***
.. automodule:: ryu.lib.packet.udp
.. automodule:: os_ken.lib.packet.udp
:members:

View File

@ -2,5 +2,5 @@
VLAN
****
.. automodule:: ryu.lib.packet.vlan
.. automodule:: os_ken.lib.packet.vlan
:members:

View File

@ -2,5 +2,5 @@
VRRP
****
.. automodule:: ryu.lib.packet.vrrp
.. automodule:: os_ken.lib.packet.vrrp
:members:

View File

@ -2,5 +2,5 @@
VXLAN
*****
.. automodule:: ryu.lib.packet.vxlan
.. automodule:: os_ken.lib.packet.vxlan
:members:

View File

@ -2,5 +2,5 @@
Zebra
*****
.. automodule:: ryu.lib.packet.zebra
.. automodule:: os_ken.lib.packet.zebra
:members:

View File

@ -5,7 +5,7 @@ PCAP file library
Introduction
============
Ryu PCAP file library helps you to read/write PCAP file which file
OS-Ken PCAP file library helps you to read/write PCAP file which file
format are described in `The Wireshark Wiki`_.
.. _The Wireshark Wiki: https://wiki.wireshark.org/Development/LibpcapFileFormat
@ -16,7 +16,7 @@ Reading PCAP file
For loading the packet data containing in PCAP files, you can use
pcaplib.Reader.
.. autoclass:: ryu.lib.pcaplib.Reader
.. autoclass:: os_ken.lib.pcaplib.Reader
Writing PCAP file
=================
@ -24,4 +24,4 @@ Writing PCAP file
For dumping the packet data which your RyuApp received, you can use
pcaplib.Writer.
.. autoclass:: ryu.lib.pcaplib.Writer
.. autoclass:: os_ken.lib.pcaplib.Writer

View File

@ -1,23 +1,23 @@
:orphan:
ryu manual page
===============
os_ken manual page
==================
Synopsis
--------
**ryu** [-h] [--config-dir DIR] [--config-file PATH] [--version] [subcommand] ...
**os_ken** [-h] [--config-dir DIR] [--config-file PATH] [--version] [subcommand] ...
Description
-----------
:program:`ryu` is the executable for Ryu applications. ryu loads a sub-module
:program:`os_ken` is the executable for OS-Ken applications. os_ken loads a sub-module
corresponding to the sub-command and run it. 'run' sub-command is an
equivalent to ryu-manager.
equivalent to os_ken-manager.
Ryu is a component-based software defined networking framework. Ryu
OS-Ken is a component-based software defined networking framework. OS-Ken
provides software components with well defined API that make it easy for
developers to create new network management and control applications.
Ryu supports various protocols for managing network devices, such as
OpenFlow, Netconf, OF-config, etc. About OpenFlow, Ryu supports fully
OS-Ken supports various protocols for managing network devices, such as
OpenFlow, Netconf, OF-config, etc. About OpenFlow, OS-Ken supports fully
1.0, 1.2, 1.3, 1.4 and Nicira Extensions.
Options

View File

@ -1,12 +1,12 @@
:orphan:
ryu-manager manual page
=======================
os_ken-manager manual page
==========================
Synopsis
--------
**ryu-manager** [-h]
**os_ken-manager** [-h]
[--app-lists APP_LISTS] [--ca-certs CA_CERTS]
[--config-dir DIR] [--config-file PATH]
[--ctl-cert CTL_CERT] [--ctl-privkey CTL_PRIVKEY]
@ -37,14 +37,14 @@ Synopsis
Description
-----------
:program:`ryu-manager` is the executable for Ryu applications. ryu-manager
loads Ryu applications and run it.
:program:`os_ken-manager` is the executable for OS-Ken applications. os_ken-manager
loads OS-Ken applications and run it.
Ryu is a component-based software defined networking framework. Ryu
OS-Ken is a component-based software defined networking framework. OS-Ken
provides software components with well defined API that make it easy for
developers to create new network management and control applications.
Ryu supports various protocols for managing network devices, such as
OpenFlow, Netconf, OF-config, etc. About OpenFlow, Ryu supports fully
OS-Ken supports various protocols for managing network devices, such as
OpenFlow, Netconf, OF-config, etc. About OpenFlow, OS-Ken supports fully
1.0, 1.2, 1.3, 1.4 and Nicira Extensions.
Options

View File

@ -10,7 +10,7 @@ Nicira Extension Actions Structures
The followings shows the supported NXAction classes only in OpenFlow1.0
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. py:currentmodule:: ryu.ofproto.ofproto_v1_0_parser
.. py:currentmodule:: os_ken.ofproto.ofproto_v1_0_parser
.. autoclass:: NXActionSetQueue
.. autoclass:: NXActionDecTtl
@ -24,7 +24,7 @@ The followings shows the supported NXAction classes only in OpenFlow1.0
The followings shows the supported NXAction classes in OpenFlow1.0 or later
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. py:currentmodule:: ryu.ofproto.ofproto_v1_3_parser
.. py:currentmodule:: os_ken.ofproto.ofproto_v1_3_parser
.. autoclass:: NXActionPopQueue
.. autoclass:: NXActionRegLoad
@ -58,12 +58,12 @@ The followings shows the supported NXAction classes in OpenFlow1.0 or later
.. autoclass:: NXFlowSpecMatch
.. autoclass:: NXFlowSpecLoad
.. autoclass:: NXFlowSpecOutput
.. autofunction:: ryu.ofproto.nicira_ext.ofs_nbits
.. autofunction:: os_ken.ofproto.nicira_ext.ofs_nbits
.. _nx_match_structures:
Nicira Extended Match Structures
================================
.. automodule:: ryu.ofproto.nicira_ext
.. automodule:: os_ken.ofproto.nicira_ext

View File

@ -2,13 +2,13 @@
OpenFlow version independent classes and functions
**************************************************
.. py:currentmodule:: ryu.ofproto.ofproto_parser
.. py:currentmodule:: os_ken.ofproto.ofproto_parser
Base class for OpenFlow messages
--------------------------------
.. XXX
.. the descrption of _TYPE is inlined from ryu/lib/stringify.py.
.. the descrption of _TYPE is inlined from os_ken/lib/stringify.py.
.. this is a work around for a sphinx bug.
.. https://bitbucket.org/birkenfeld/sphinx/issue/741/autodoc-inherited-members-wont-work-for

View File

@ -2,7 +2,7 @@
OpenFlow v1.0 Messages and Structures
*************************************
.. py:currentmodule:: ryu.ofproto.ofproto_v1_0_parser
.. py:currentmodule:: os_ken.ofproto.ofproto_v1_0_parser
Controller-to-Switch Messages
=============================
@ -14,13 +14,13 @@ Handshake
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-5-features_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-5-features_request.packet.json
.. autoclass:: OFPSwitchFeatures
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-6-ofp_switch_features.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-6-ofp_switch_features.packet.json
Switch Configuration
--------------------
@ -29,19 +29,19 @@ Switch Configuration
.. JSON Example:
..
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-7-ofp_set_config.packet.json
.. .. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-7-ofp_set_config.packet.json
.. autoclass:: OFPGetConfigRequest
.. JSON Example:
..
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-8-ofp_get_config_request.packet.json
.. .. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-8-ofp_get_config_request.packet.json
.. autoclass:: OFPGetConfigReply
.. JSON Example:
..
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-9-ofp_get_config_reply.packet.json
.. .. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-9-ofp_get_config_reply.packet.json
Modify State Messages
---------------------
@ -50,14 +50,14 @@ Modify State Messages
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-2-ofp_flow_mod.packet.json
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-3-ofp_flow_mod.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-2-ofp_flow_mod.packet.json
.. .. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-3-ofp_flow_mod.packet.json
.. autoclass:: OFPPortMod
.. JSON Example:
..
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-22-ofp_port_mod.packet.json
.. .. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-22-ofp_port_mod.packet.json
Queue Configuration Messages
----------------------------
@ -66,13 +66,13 @@ Queue Configuration Messages
.. JSON Example:
..
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-35-ofp_queue_get_config_request.packet.json
.. .. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-35-ofp_queue_get_config_request.packet.json
.. autoclass:: OFPQueueGetConfigReply
.. JSON Example:
..
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-36-ofp_queue_get_config_reply.packet.json
.. .. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-36-ofp_queue_get_config_reply.packet.json
Read State Messages
-------------------
@ -81,74 +81,74 @@ Read State Messages
.. JSON Example:
..
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-24-ofp_desc_stats_request.packet.json
.. .. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-24-ofp_desc_stats_request.packet.json
.. autoclass:: OFPDescStatsReply
.. JSON Example:
..
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-0-ofp_desc_stats_reply.packet.json
.. .. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-0-ofp_desc_stats_reply.packet.json
.. autoclass:: OFPFlowStatsRequest
.. JSON Example:
..
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-11-ofp_flow_stats_request.packet.json
.. .. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-11-ofp_flow_stats_request.packet.json
.. autoclass:: OFPFlowStatsReply
.. JSON Example:
..
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-12-ofp_flow_stats_reply.packet.json
.. .. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-12-ofp_flow_stats_reply.packet.json
.. autoclass:: OFPAggregateStatsRequest
.. JSON Example:
..
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-25-ofp_aggregate_stats_request.packet.json
.. .. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-25-ofp_aggregate_stats_request.packet.json
.. autoclass:: OFPAggregateStatsReply
.. JSON Example:
..
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-26-ofp_aggregate_stats_reply.packet.json
.. .. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-26-ofp_aggregate_stats_reply.packet.json
.. autoclass:: OFPTableStatsRequest
.. JSON Example:
..
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-27-ofp_table_stats_request.packet.json
.. .. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-27-ofp_table_stats_request.packet.json
.. autoclass:: OFPTableStatsReply
.. XXX commented out because it's too long
.. JSON Example:
..
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-28-ofp_table_stats_reply.packet.json
.. .. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-28-ofp_table_stats_reply.packet.json
.. autoclass:: OFPPortStatsRequest
.. JSON Example:
..
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-29-ofp_port_stats_request.packet.json
.. .. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-29-ofp_port_stats_request.packet.json
.. autoclass:: OFPPortStatsReply
.. JSON Example:
..
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-30-ofp_port_stats_reply.packet.json
.. .. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-30-ofp_port_stats_reply.packet.json
.. autoclass:: OFPQueueStatsRequest
.. JSON Example:
..
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-37-ofp_queue_stats_request.packet.json
.. .. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-37-ofp_queue_stats_request.packet.json
.. autoclass:: OFPQueueStatsReply
.. JSON Example:
..
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-38-ofp_queue_stats_reply.packet.json
.. .. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-38-ofp_queue_stats_reply.packet.json
.. autoclass:: OFPVendorStatsRequest
.. autoclass:: OFPVendorStatsReply
@ -160,7 +160,7 @@ Send Packet Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-1-ofp_packet_out.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-1-ofp_packet_out.packet.json
Barrier Message
---------------
@ -169,13 +169,13 @@ Barrier Message
.. JSON Example:
..
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-17-ofp_barrier_request.packet.json
.. .. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-17-ofp_barrier_request.packet.json
.. autoclass:: OFPBarrierReply
.. JSON Example:
..
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-18-ofp_barrier_reply.packet.json
.. .. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-18-ofp_barrier_reply.packet.json
Asynchronous Messages
@ -188,7 +188,7 @@ Packet-In Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-4-ofp_packet_in.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-4-ofp_packet_in.packet.json
Flow Removed Message
--------------------
@ -197,7 +197,7 @@ Flow Removed Message
.. JSON Example:
..
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-40-ofp_flow_removed.packet.json
.. .. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-40-ofp_flow_removed.packet.json
Port Status Message
-------------------
@ -206,7 +206,7 @@ Port Status Message
.. JSON Example:
..
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-39-ofp_port_status.packet.json
.. .. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-39-ofp_port_status.packet.json
Error Message
-------------
@ -215,8 +215,8 @@ Error Message
.. JSON Example:
..
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-15-ofp_error_msg.packet.json
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-41-ofp_error_msg_vendor.packet.json
.. .. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-15-ofp_error_msg.packet.json
.. .. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-41-ofp_error_msg_vendor.packet.json
Symmetric Messages
==================
@ -228,7 +228,7 @@ Hello
.. JSON Example:
..
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-10-ofp_hello.packet.json
.. .. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-10-ofp_hello.packet.json
Echo Request
------------
@ -237,7 +237,7 @@ Echo Request
.. JSON Example:
..
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-13-ofp_echo_request.packet.json
.. .. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-13-ofp_echo_request.packet.json
Echo Reply
@ -247,7 +247,7 @@ Echo Reply
.. JSON Example:
..
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-14-ofp_echo_reply.packet.json
.. .. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-14-ofp_echo_reply.packet.json
Vendor
@ -257,7 +257,7 @@ Vendor
.. JSON Example:
..
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of10/1-16-ofp_vendor.packet.json
.. .. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of10/1-16-ofp_vendor.packet.json
Port Structures
===============

View File

@ -2,7 +2,7 @@
OpenFlow v1.2 Messages and Structures
*************************************
.. py:currentmodule:: ryu.ofproto.ofproto_v1_2_parser
.. py:currentmodule:: os_ken.ofproto.ofproto_v1_2_parser
Controller-to-Switch Messages
=============================
@ -14,13 +14,13 @@ Handshake
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-5-ofp_features_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-5-ofp_features_request.packet.json
.. autoclass:: OFPSwitchFeatures
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-6-ofp_features_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-6-ofp_features_reply.packet.json
Switch Configuration
--------------------
@ -29,19 +29,19 @@ Switch Configuration
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-7-ofp_set_config.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-7-ofp_set_config.packet.json
.. autoclass:: OFPGetConfigRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-8-ofp_get_config_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-8-ofp_get_config_request.packet.json
.. autoclass:: OFPGetConfigReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-9-ofp_get_config_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-9-ofp_get_config_reply.packet.json
Flow Table Configuration
------------------------
@ -50,7 +50,7 @@ Flow Table Configuration
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-23-ofp_table_mod.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-23-ofp_table_mod.packet.json
Modify State Messages
---------------------
@ -59,20 +59,20 @@ Modify State Messages
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-2-ofp_flow_mod.packet.json
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-3-ofp_flow_mod.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-2-ofp_flow_mod.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-3-ofp_flow_mod.packet.json
.. autoclass:: OFPGroupMod
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-21-ofp_group_mod.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-21-ofp_group_mod.packet.json
.. autoclass:: OFPPortMod
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-22-ofp_port_mod.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-22-ofp_port_mod.packet.json
Read State Messages
-------------------
@ -81,74 +81,74 @@ Read State Messages
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-24-ofp_desc_stats_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-24-ofp_desc_stats_request.packet.json
.. autoclass:: OFPDescStats
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-0-ofp_desc_stats_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-0-ofp_desc_stats_reply.packet.json
.. autoclass:: OFPFlowStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-11-ofp_flow_stats_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-11-ofp_flow_stats_request.packet.json
.. autoclass:: OFPFlowStats
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-12-ofp_flow_stats_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-12-ofp_flow_stats_reply.packet.json
.. autoclass:: OFPAggregateStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-25-ofp_aggregate_stats_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-25-ofp_aggregate_stats_request.packet.json
.. autoclass:: OFPAggregateStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-26-ofp_aggregate_stats_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-26-ofp_aggregate_stats_reply.packet.json
.. autoclass:: OFPTableStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-27-ofp_table_stats_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-27-ofp_table_stats_request.packet.json
.. autoclass:: OFPTableStats
.. XXX commented out because it's too long
.. JSON Example:
..
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-28-ofp_table_stats_reply.packet.json
.. .. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-28-ofp_table_stats_reply.packet.json
.. autoclass:: OFPPortStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-29-ofp_port_stats_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-29-ofp_port_stats_request.packet.json
.. autoclass:: OFPPortStats
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-30-ofp_port_stats_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-30-ofp_port_stats_reply.packet.json
.. autoclass:: OFPQueueStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-37-ofp_queue_stats_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-37-ofp_queue_stats_request.packet.json
.. autoclass:: OFPQueueStats
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-38-ofp_queue_stats_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-38-ofp_queue_stats_reply.packet.json
.. autoclass:: OFPGroupStatsRequest
.. autoclass:: OFPGroupStats
@ -156,25 +156,25 @@ Read State Messages
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-33-ofp_group_desc_stats_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-33-ofp_group_desc_stats_request.packet.json
.. autoclass:: OFPGroupDescStats
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-34-ofp_group_desc_stats_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-34-ofp_group_desc_stats_reply.packet.json
.. autoclass:: OFPGroupFeaturesStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-31-ofp_group_features_stats_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-31-ofp_group_features_stats_request.packet.json
.. autoclass:: OFPGroupFeaturesStats
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-32-ofp_group_features_stats_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-32-ofp_group_features_stats_reply.packet.json
Queue Configuration Messages
----------------------------
@ -183,13 +183,13 @@ Queue Configuration Messages
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-35-ofp_queue_get_config_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-35-ofp_queue_get_config_request.packet.json
.. autoclass:: OFPQueueGetConfigReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-36-ofp_queue_get_config_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-36-ofp_queue_get_config_reply.packet.json
Packet-Out Message
------------------
@ -198,7 +198,7 @@ Packet-Out Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-1-ofp_packet_out.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-1-ofp_packet_out.packet.json
Barrier Message
---------------
@ -207,13 +207,13 @@ Barrier Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-17-ofp_barrier_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-17-ofp_barrier_request.packet.json
.. autoclass:: OFPBarrierReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-18-ofp_barrier_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-18-ofp_barrier_reply.packet.json
Role Request Message
--------------------
@ -222,13 +222,13 @@ Role Request Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-19-ofp_role_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-19-ofp_role_request.packet.json
.. autoclass:: OFPRoleReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-20-ofp_role_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-20-ofp_role_reply.packet.json
Asynchronous Messages
@ -241,7 +241,7 @@ Packet-In Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-4-ofp_packet_in.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-4-ofp_packet_in.packet.json
Flow Removed Message
--------------------
@ -250,7 +250,7 @@ Flow Removed Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-40-ofp_flow_removed.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-40-ofp_flow_removed.packet.json
Port Status Message
-------------------
@ -259,7 +259,7 @@ Port Status Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-39-ofp_port_status.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-39-ofp_port_status.packet.json
Error Message
-------------
@ -268,8 +268,8 @@ Error Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-15-ofp_error_msg.packet.json
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-41-ofp_error_msg_experimenter.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-15-ofp_error_msg.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-41-ofp_error_msg_experimenter.packet.json
Symmetric Messages
==================
@ -281,7 +281,7 @@ Hello
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-10-ofp_hello.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-10-ofp_hello.packet.json
Echo Request
------------
@ -290,7 +290,7 @@ Echo Request
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-13-ofp_echo_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-13-ofp_echo_request.packet.json
Echo Reply
@ -300,7 +300,7 @@ Echo Reply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-14-ofp_echo_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-14-ofp_echo_reply.packet.json
Experimenter
@ -310,7 +310,7 @@ Experimenter
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-16-ofp_experimenter.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of12/3-16-ofp_experimenter.packet.json
Port Structures
===============

View File

@ -2,7 +2,7 @@
OpenFlow v1.3 Messages and Structures
*************************************
.. py:currentmodule:: ryu.ofproto.ofproto_v1_3_parser
.. py:currentmodule:: os_ken.ofproto.ofproto_v1_3_parser
Controller-to-Switch Messages
=============================
@ -14,13 +14,13 @@ Handshake
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-5-ofp_features_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-5-ofp_features_request.packet.json
.. autoclass:: OFPSwitchFeatures
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-6-ofp_features_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-6-ofp_features_reply.packet.json
Switch Configuration
--------------------
@ -29,19 +29,19 @@ Switch Configuration
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-7-ofp_set_config.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-7-ofp_set_config.packet.json
.. autoclass:: OFPGetConfigRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-8-ofp_get_config_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-8-ofp_get_config_request.packet.json
.. autoclass:: OFPGetConfigReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-9-ofp_get_config_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-9-ofp_get_config_reply.packet.json
Flow Table Configuration
------------------------
@ -50,7 +50,7 @@ Flow Table Configuration
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-23-ofp_table_mod.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-23-ofp_table_mod.packet.json
Modify State Messages
---------------------
@ -59,27 +59,27 @@ Modify State Messages
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-2-ofp_flow_mod.packet.json
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-3-ofp_flow_mod.packet.json
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-46-ofp_flow_mod.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-2-ofp_flow_mod.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-3-ofp_flow_mod.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-46-ofp_flow_mod.packet.json
.. autoclass:: OFPGroupMod
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-21-ofp_group_mod.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-21-ofp_group_mod.packet.json
.. autoclass:: OFPPortMod
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-22-ofp_port_mod.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-22-ofp_port_mod.packet.json
.. autoclass:: OFPMeterMod
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-45-ofp_meter_mod.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-45-ofp_meter_mod.packet.json
Multipart Messages
------------------
@ -88,85 +88,85 @@ Multipart Messages
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-24-ofp_desc_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-24-ofp_desc_request.packet.json
.. autoclass:: OFPDescStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-0-ofp_desc_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-0-ofp_desc_reply.packet.json
.. autoclass:: OFPFlowStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-11-ofp_flow_stats_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-11-ofp_flow_stats_request.packet.json
.. autoclass:: OFPFlowStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-12-ofp_flow_stats_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-12-ofp_flow_stats_reply.packet.json
.. autoclass:: OFPAggregateStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-25-ofp_aggregate_stats_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-25-ofp_aggregate_stats_request.packet.json
.. autoclass:: OFPAggregateStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-26-ofp_aggregate_stats_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-26-ofp_aggregate_stats_reply.packet.json
.. autoclass:: OFPTableStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-27-ofp_table_stats_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-27-ofp_table_stats_request.packet.json
.. autoclass:: OFPTableStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-28-ofp_table_stats_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-28-ofp_table_stats_reply.packet.json
.. autoclass:: OFPPortStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-29-ofp_port_stats_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-29-ofp_port_stats_request.packet.json
.. autoclass:: OFPPortStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-30-ofp_port_stats_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-30-ofp_port_stats_reply.packet.json
.. autoclass:: OFPPortDescStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-53-ofp_port_desc_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-53-ofp_port_desc_request.packet.json
.. autoclass:: OFPPortDescStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-54-ofp_port_desc_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-54-ofp_port_desc_reply.packet.json
.. autoclass:: OFPQueueStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-37-ofp_queue_stats_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-37-ofp_queue_stats_request.packet.json
.. autoclass:: OFPQueueStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-38-ofp_queue_stats_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-38-ofp_queue_stats_reply.packet.json
.. autoclass:: OFPGroupStatsRequest
.. autoclass:: OFPGroupStatsReply
@ -174,61 +174,61 @@ Multipart Messages
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-33-ofp_group_desc_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-33-ofp_group_desc_request.packet.json
.. autoclass:: OFPGroupDescStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-34-ofp_group_desc_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-34-ofp_group_desc_reply.packet.json
.. autoclass:: OFPGroupFeaturesStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-31-ofp_group_features_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-31-ofp_group_features_request.packet.json
.. autoclass:: OFPGroupFeaturesStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-32-ofp_group_features_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-32-ofp_group_features_reply.packet.json
.. autoclass:: OFPMeterStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-49-ofp_meter_stats_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-49-ofp_meter_stats_request.packet.json
.. autoclass:: OFPMeterStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-50-ofp_meter_stats_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-50-ofp_meter_stats_reply.packet.json
.. autoclass:: OFPMeterConfigStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-47-ofp_meter_config_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-47-ofp_meter_config_request.packet.json
.. autoclass:: OFPMeterConfigStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-48-ofp_meter_config_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-48-ofp_meter_config_reply.packet.json
.. autoclass:: OFPMeterFeaturesStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-51-ofp_meter_features_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-51-ofp_meter_features_request.packet.json
.. autoclass:: OFPMeterFeaturesStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-52-ofp_meter_features_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-52-ofp_meter_features_reply.packet.json
.. autoclass:: OFPTableFeaturesStatsRequest
.. autoclass:: OFPTableFeaturesStatsReply
@ -237,7 +237,7 @@ Multipart Messages
See an example in:
``ryu/tests/unit/ofproto/json/of13/4-56-ofp_table_features_reply.packet.json``
``os_ken/tests/unit/ofproto/json/of13/4-56-ofp_table_features_reply.packet.json``
Queue Configuration Messages
----------------------------
@ -246,13 +246,13 @@ Queue Configuration Messages
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-35-ofp_queue_get_config_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-35-ofp_queue_get_config_request.packet.json
.. autoclass:: OFPQueueGetConfigReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-36-ofp_queue_get_config_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-36-ofp_queue_get_config_reply.packet.json
Packet-Out Message
------------------
@ -261,7 +261,7 @@ Packet-Out Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-1-ofp_packet_out.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-1-ofp_packet_out.packet.json
Barrier Message
---------------
@ -270,13 +270,13 @@ Barrier Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-17-ofp_barrier_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-17-ofp_barrier_request.packet.json
.. autoclass:: OFPBarrierReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-18-ofp_barrier_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-18-ofp_barrier_reply.packet.json
Role Request Message
--------------------
@ -285,13 +285,13 @@ Role Request Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-19-ofp_role_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-19-ofp_role_request.packet.json
.. autoclass:: OFPRoleReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-20-ofp_role_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-20-ofp_role_reply.packet.json
Set Asynchronous Configuration Message
--------------------------------------
@ -300,19 +300,19 @@ Set Asynchronous Configuration Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-44-ofp_set_async.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-44-ofp_set_async.packet.json
.. autoclass:: OFPGetAsyncRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-42-ofp_get_async_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-42-ofp_get_async_request.packet.json
.. autoclass:: OFPGetAsyncReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-43-ofp_get_async_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-43-ofp_get_async_reply.packet.json
Asynchronous Messages
@ -325,7 +325,7 @@ Packet-In Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-4-ofp_packet_in.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-4-ofp_packet_in.packet.json
Flow Removed Message
--------------------
@ -334,7 +334,7 @@ Flow Removed Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-40-ofp_flow_removed.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-40-ofp_flow_removed.packet.json
Port Status Message
-------------------
@ -343,7 +343,7 @@ Port Status Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-39-ofp_port_status.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-39-ofp_port_status.packet.json
Error Message
-------------
@ -352,7 +352,7 @@ Error Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-15-ofp_error_msg.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-15-ofp_error_msg.packet.json
Symmetric Messages
@ -365,7 +365,7 @@ Hello
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-10-ofp_hello.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-10-ofp_hello.packet.json
.. autoclass:: OFPHelloElemVersionBitmap
@ -376,7 +376,7 @@ Echo Request
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-13-ofp_echo_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-13-ofp_echo_request.packet.json
Echo Reply
----------
@ -385,7 +385,7 @@ Echo Reply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-14-ofp_echo_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-14-ofp_echo_reply.packet.json
Experimenter
------------
@ -394,7 +394,7 @@ Experimenter
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-16-ofp_experimenter.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of13/4-16-ofp_experimenter.packet.json
Port Structures
===============

View File

@ -2,7 +2,7 @@
OpenFlow v1.4 Messages and Structures
*************************************
.. py:currentmodule:: ryu.ofproto.ofproto_v1_4_parser
.. py:currentmodule:: os_ken.ofproto.ofproto_v1_4_parser
Controller-to-Switch Messages
=============================
@ -14,13 +14,13 @@ Handshake
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-5-ofp_features_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-5-ofp_features_request.packet.json
.. autoclass:: OFPSwitchFeatures
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-6-ofp_features_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-6-ofp_features_reply.packet.json
Switch Configuration
--------------------
@ -29,19 +29,19 @@ Switch Configuration
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-7-ofp_set_config.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-7-ofp_set_config.packet.json
.. autoclass:: OFPGetConfigRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-8-ofp_get_config_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-8-ofp_get_config_request.packet.json
.. autoclass:: OFPGetConfigReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-9-ofp_get_config_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-9-ofp_get_config_reply.packet.json
Modify State Messages
---------------------
@ -50,34 +50,34 @@ Modify State Messages
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-23-ofp_table_mod.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-23-ofp_table_mod.packet.json
.. autoclass:: OFPFlowMod
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-2-ofp_flow_mod.packet.json
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-3-ofp_flow_mod.packet.json
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-44-ofp_flow_mod.packet.json
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-58-ofp_flow_mod.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-2-ofp_flow_mod.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-3-ofp_flow_mod.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-44-ofp_flow_mod.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-58-ofp_flow_mod.packet.json
.. autoclass:: OFPGroupMod
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-21-ofp_group_mod.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-21-ofp_group_mod.packet.json
.. autoclass:: OFPPortMod
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-22-ofp_port_mod.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-22-ofp_port_mod.packet.json
.. autoclass:: OFPMeterMod
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-43-ofp_meter_mod.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-43-ofp_meter_mod.packet.json
Multipart Messages
------------------
@ -86,61 +86,61 @@ Multipart Messages
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-24-ofp_desc_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-24-ofp_desc_request.packet.json
.. autoclass:: OFPDescStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-0-ofp_desc_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-0-ofp_desc_reply.packet.json
.. autoclass:: OFPFlowStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-11-ofp_flow_stats_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-11-ofp_flow_stats_request.packet.json
.. autoclass:: OFPFlowStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-12-ofp_flow_stats_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-12-ofp_flow_stats_reply.packet.json
.. autoclass:: OFPAggregateStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-25-ofp_aggregate_stats_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-25-ofp_aggregate_stats_request.packet.json
.. autoclass:: OFPAggregateStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-26-ofp_aggregate_stats_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-26-ofp_aggregate_stats_reply.packet.json
.. autoclass:: OFPTableStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-27-ofp_table_stats_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-27-ofp_table_stats_request.packet.json
.. autoclass:: OFPTableStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-28-ofp_table_stats_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-28-ofp_table_stats_reply.packet.json
.. autoclass:: OFPTableDescStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-61-ofp_table_desc_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-61-ofp_table_desc_request.packet.json
.. autoclass:: OFPTableDescStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-62-ofp_table_desc_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-62-ofp_table_desc_reply.packet.json
.. autoclass:: OFPTableFeaturesStatsRequest
@ -148,7 +148,7 @@ Multipart Messages
See an example in:
``ryu/tests/unit/ofproto/json/of14/5-53-ofp_table_features_request.packet.json``
``os_ken/tests/unit/ofproto/json/of14/5-53-ofp_table_features_request.packet.json``
.. autoclass:: OFPTableFeaturesStatsReply
@ -156,151 +156,151 @@ Multipart Messages
See an example in:
``ryu/tests/unit/ofproto/json/of14/5-54-ofp_table_features_reply.packet.json``
``os_ken/tests/unit/ofproto/json/of14/5-54-ofp_table_features_reply.packet.json``
.. autoclass:: OFPPortStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-29-ofp_port_stats_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-29-ofp_port_stats_request.packet.json
.. autoclass:: OFPPortStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-30-ofp_port_stats_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-30-ofp_port_stats_reply.packet.json
.. autoclass:: OFPPortDescStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-51-ofp_port_desc_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-51-ofp_port_desc_request.packet.json
.. autoclass:: OFPPortDescStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-52-ofp_port_desc_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-52-ofp_port_desc_reply.packet.json
.. autoclass:: OFPQueueStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-35-ofp_queue_stats_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-35-ofp_queue_stats_request.packet.json
.. autoclass:: OFPQueueStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-36-ofp_queue_stats_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-36-ofp_queue_stats_reply.packet.json
.. autoclass:: OFPQueueDescStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-63-ofp_queue_desc_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-63-ofp_queue_desc_request.packet.json
.. autoclass:: OFPQueueDescStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-64-ofp_queue_desc_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-64-ofp_queue_desc_reply.packet.json
.. autoclass:: OFPGroupStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-55-ofp_group_stats_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-55-ofp_group_stats_request.packet.json
.. autoclass:: OFPGroupStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-56-ofp_group_stats_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-56-ofp_group_stats_reply.packet.json
.. autoclass:: OFPGroupDescStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-33-ofp_group_desc_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-33-ofp_group_desc_request.packet.json
.. autoclass:: OFPGroupDescStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-34-ofp_group_desc_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-34-ofp_group_desc_reply.packet.json
.. autoclass:: OFPGroupFeaturesStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-31-ofp_group_features_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-31-ofp_group_features_request.packet.json
.. autoclass:: OFPGroupFeaturesStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-32-ofp_group_features_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-32-ofp_group_features_reply.packet.json
.. autoclass:: OFPMeterStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-47-ofp_meter_stats_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-47-ofp_meter_stats_request.packet.json
.. autoclass:: OFPMeterStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-48-ofp_meter_stats_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-48-ofp_meter_stats_reply.packet.json
.. autoclass:: OFPMeterConfigStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-45-ofp_meter_config_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-45-ofp_meter_config_request.packet.json
.. autoclass:: OFPMeterConfigStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-46-ofp_meter_config_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-46-ofp_meter_config_reply.packet.json
.. autoclass:: OFPMeterFeaturesStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-49-ofp_meter_features_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-49-ofp_meter_features_request.packet.json
.. autoclass:: OFPMeterFeaturesStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-50-ofp_meter_features_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-50-ofp_meter_features_reply.packet.json
.. autoclass:: OFPFlowMonitorRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-66-ofp_flow_monitor_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-66-ofp_flow_monitor_request.packet.json
.. autoclass:: OFPFlowMonitorReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-67-ofp_flow_monitor_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-67-ofp_flow_monitor_reply.packet.json
.. autoclass:: OFPExperimenterStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-59-ofp_experimenter_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-59-ofp_experimenter_request.packet.json
.. autoclass:: OFPExperimenterStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-60-ofp_experimenter_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-60-ofp_experimenter_reply.packet.json
Packet-Out Message
------------------
@ -309,7 +309,7 @@ Packet-Out Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-1-ofp_packet_out.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-1-ofp_packet_out.packet.json
Barrier Message
---------------
@ -318,13 +318,13 @@ Barrier Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-17-ofp_barrier_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-17-ofp_barrier_request.packet.json
.. autoclass:: OFPBarrierReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-18-ofp_barrier_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-18-ofp_barrier_reply.packet.json
Role Request Message
--------------------
@ -333,13 +333,13 @@ Role Request Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-19-ofp_role_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-19-ofp_role_request.packet.json
.. autoclass:: OFPRoleReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-20-ofp_role_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-20-ofp_role_reply.packet.json
Bundle Messages
---------------
@ -348,13 +348,13 @@ Bundle Messages
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-69-ofp_bundle_ctrl_msg.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-69-ofp_bundle_ctrl_msg.packet.json
.. autoclass:: OFPBundleAddMsg
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-70-ofp_bundle_add_msg.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-70-ofp_bundle_add_msg.packet.json
Set Asynchronous Configuration Message
--------------------------------------
@ -363,19 +363,19 @@ Set Asynchronous Configuration Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-42-ofp_set_async.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-42-ofp_set_async.packet.json
.. autoclass:: OFPGetAsyncRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-40-ofp_get_async_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-40-ofp_get_async_request.packet.json
.. autoclass:: OFPGetAsyncReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-41-ofp_get_async_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-41-ofp_get_async_reply.packet.json
Asynchronous Messages
@ -388,8 +388,8 @@ Packet-In Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-4-ofp_packet_in.packet.json
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-57-ofp_packet_in.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-4-ofp_packet_in.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-57-ofp_packet_in.packet.json
Flow Removed Message
--------------------
@ -398,7 +398,7 @@ Flow Removed Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-38-ofp_flow_removed.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-38-ofp_flow_removed.packet.json
Port Status Message
-------------------
@ -407,7 +407,7 @@ Port Status Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-37-ofp_port_status.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-37-ofp_port_status.packet.json
Controller Role Status Message
------------------------------
@ -416,7 +416,7 @@ Controller Role Status Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-65-ofp_role_status.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-65-ofp_role_status.packet.json
Table Status Message
--------------------
@ -425,7 +425,7 @@ Table Status Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-68-ofp_table_status.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-68-ofp_table_status.packet.json
Request Forward Message
-----------------------
@ -434,7 +434,7 @@ Request Forward Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-71-ofp_requestforward.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-71-ofp_requestforward.packet.json
Symmetric Messages
@ -447,7 +447,7 @@ Hello
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-10-ofp_hello.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-10-ofp_hello.packet.json
.. autoclass:: OFPHelloElemVersionBitmap
@ -458,7 +458,7 @@ Echo Request
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-13-ofp_echo_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-13-ofp_echo_request.packet.json
Echo Reply
----------
@ -467,7 +467,7 @@ Echo Reply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-14-ofp_echo_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-14-ofp_echo_reply.packet.json
Error Message
-------------
@ -476,7 +476,7 @@ Error Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-15-ofp_error_msg.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-15-ofp_error_msg.packet.json
Experimenter
------------
@ -485,7 +485,7 @@ Experimenter
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-16-ofp_experimenter.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of14/5-16-ofp_experimenter.packet.json
Port Structures
===============

View File

@ -2,7 +2,7 @@
OpenFlow v1.5 Messages and Structures
*************************************
.. py:currentmodule:: ryu.ofproto.ofproto_v1_5_parser
.. py:currentmodule:: os_ken.ofproto.ofproto_v1_5_parser
Controller-to-Switch Messages
=============================
@ -14,13 +14,13 @@ Handshake
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-features_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-features_request.packet.json
.. autoclass:: OFPSwitchFeatures
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-features_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-features_reply.packet.json
Switch Configuration
--------------------
@ -29,19 +29,19 @@ Switch Configuration
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-set_config.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-set_config.packet.json
.. autoclass:: OFPGetConfigRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_config_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-get_config_request.packet.json
.. autoclass:: OFPGetConfigReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_config_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-get_config_reply.packet.json
Modify State Messages
---------------------
@ -50,33 +50,33 @@ Modify State Messages
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_mod.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-table_mod.packet.json
.. autoclass:: OFPFlowMod
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod.packet.json
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod_conjunction.packet.json
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod_match_conj.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod_conjunction.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod_match_conj.packet.json
.. autoclass:: OFPGroupMod
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_mod.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-group_mod.packet.json
.. autoclass:: OFPPortMod
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_mod.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-port_mod.packet.json
.. autoclass:: OFPMeterMod
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_mod.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_mod.packet.json
Multipart Messages
------------------
@ -85,253 +85,253 @@ Multipart Messages
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-desc_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-desc_request.packet.json
.. autoclass:: OFPDescStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-desc_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-desc_reply.packet.json
.. autoclass:: OFPFlowDescStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_desc_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_desc_request.packet.json
.. autoclass:: OFPFlowDescStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_desc_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_desc_reply.packet.json
.. autoclass:: OFPFlowStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_stats_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_stats_request.packet.json
.. autoclass:: OFPFlowStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_stats_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_stats_reply.packet.json
.. autoclass:: OFPAggregateStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-aggregate_stats_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-aggregate_stats_request.packet.json
.. autoclass:: OFPAggregateStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-aggregate_stats_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-aggregate_stats_reply.packet.json
.. autoclass:: OFPPortStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_stats_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-port_stats_request.packet.json
.. autoclass:: OFPPortStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_stats_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-port_stats_reply.packet.json
.. autoclass:: OFPPortDescStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_desc_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-port_desc_request.packet.json
.. autoclass:: OFPPortDescStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_desc_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-port_desc_reply.packet.json
.. autoclass:: OFPQueueStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_stats_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_stats_request.packet.json
.. autoclass:: OFPQueueStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_stats_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_stats_reply.packet.json
.. autoclass:: OFPQueueDescStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_desc_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_desc_request.packet.json
.. autoclass:: OFPQueueDescStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_desc_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_desc_reply.packet.json
.. autoclass:: OFPGroupStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_stats_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-group_stats_request.packet.json
.. autoclass:: OFPGroupStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_stats_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-group_stats_reply.packet.json
.. autoclass:: OFPGroupDescStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_desc_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-group_desc_request.packet.json
.. autoclass:: OFPGroupDescStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_desc_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-group_desc_reply.packet.json
.. autoclass:: OFPGroupFeaturesStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_features_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-group_features_request.packet.json
.. autoclass:: OFPGroupFeaturesStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_features_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-group_features_reply.packet.json
.. autoclass:: OFPMeterStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_stats_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_stats_request.packet.json
.. autoclass:: OFPMeterStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_stats_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_stats_reply.packet.json
.. autoclass:: OFPMeterDescStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_desc_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_desc_request.packet.json
.. autoclass:: OFPMeterDescStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_desc_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_desc_reply.packet.json
.. autoclass:: OFPMeterFeaturesStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_features_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_features_request.packet.json
.. autoclass:: OFPMeterFeaturesStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_features_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_features_reply.packet.json
.. autoclass:: OFPControllerStatusStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-controller_status_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-controller_status_request.packet.json
.. autoclass:: OFPControllerStatusStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-controller_status_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-controller_status_reply.packet.json
.. autoclass:: OFPTableStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_stats_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-table_stats_request.packet.json
.. autoclass:: OFPTableStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_stats_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-table_stats_reply.packet.json
.. autoclass:: OFPTableDescStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_desc_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-table_desc_request.packet.json
.. autoclass:: OFPTableDescStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_desc_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-table_desc_reply.packet.json
.. autoclass:: OFPTableFeaturesStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_features_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-table_features_request.packet.json
.. autoclass:: OFPTableFeaturesStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_features_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-table_features_reply.packet.json
.. autoclass:: OFPFlowMonitorRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_monitor_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_monitor_request.packet.json
.. autoclass:: OFPFlowMonitorReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_monitor_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_monitor_reply.packet.json
.. autoclass:: OFPBundleFeaturesStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_features_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_features_request.packet.json
.. autoclass:: OFPBundleFeaturesStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_features_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_features_reply.packet.json
.. autoclass:: OFPExperimenterStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-experimenter_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-experimenter_request.packet.json
.. autoclass:: OFPExperimenterStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-experimenter_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-experimenter_reply.packet.json
Packet-Out Message
------------------
@ -340,7 +340,7 @@ Packet-Out Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-packet_out.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-packet_out.packet.json
Barrier Message
---------------
@ -349,13 +349,13 @@ Barrier Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-barrier_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-barrier_request.packet.json
.. autoclass:: OFPBarrierReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-barrier_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-barrier_reply.packet.json
Role Request Message
--------------------
@ -364,13 +364,13 @@ Role Request Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-role_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-role_request.packet.json
.. autoclass:: OFPRoleReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-role_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-role_reply.packet.json
Bundle Messages
---------------
@ -379,13 +379,13 @@ Bundle Messages
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_ctrl.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_ctrl.packet.json
.. autoclass:: OFPBundleAddMsg
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_add.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_add.packet.json
Set Asynchronous Configuration Message
--------------------------------------
@ -394,19 +394,19 @@ Set Asynchronous Configuration Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-set_async.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-set_async.packet.json
.. autoclass:: OFPGetAsyncRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_async_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-get_async_request.packet.json
.. autoclass:: OFPGetAsyncReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_async_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-get_async_reply.packet.json
Asynchronous Messages
=====================
@ -418,7 +418,7 @@ Packet-In Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-packet_in.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-packet_in.packet.json
Flow Removed Message
--------------------
@ -427,7 +427,7 @@ Flow Removed Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_removed.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_removed.packet.json
Port Status Message
-------------------
@ -436,7 +436,7 @@ Port Status Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_status.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-port_status.packet.json
Controller Role Status Message
------------------------------
@ -445,7 +445,7 @@ Controller Role Status Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-role_status.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-role_status.packet.json
Table Status Message
--------------------
@ -454,7 +454,7 @@ Table Status Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_status.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-table_status.packet.json
Request Forward Message
-----------------------
@ -463,7 +463,7 @@ Request Forward Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-requestforward.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-requestforward.packet.json
Controller Status Message
-------------------------
@ -472,7 +472,7 @@ Controller Status Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-controller_status.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-controller_status.packet.json
Symmetric Messages
==================
@ -484,7 +484,7 @@ Hello
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-hello.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-hello.packet.json
.. autoclass:: OFPHelloElemVersionBitmap
@ -495,7 +495,7 @@ Echo Request
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-echo_request.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-echo_request.packet.json
Echo Reply
----------
@ -504,7 +504,7 @@ Echo Reply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-echo_reply.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-echo_reply.packet.json
Error Message
-------------
@ -513,7 +513,7 @@ Error Message
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-error_msg.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-error_msg.packet.json
Experimenter
------------
@ -522,7 +522,7 @@ Experimenter
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-error_msg_experimenter.packet.json
.. literalinclude:: ../../os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-error_msg_experimenter.packet.json
Port Structures
===============

View File

@ -0,0 +1,179 @@
**********************
OS-Ken application API
**********************
OS-Ken application programming model
====================================
Threads, events, and event queues
---------------------------------
OS-Ken applications are single-threaded entities which implement
various functionalities in OS-Ken. Events are messages between them.
OS-Ken applications send asynchronous events to each other.
Besides that, there are some OS-Ken-internal event sources which
are not OS-Ken applications. One of the examples of such event sources
is the OpenFlow controller.
While an event can currently contain arbitrary python objects,
it's discouraged to pass complex objects (eg. unpickleable objects)
between OS-Ken applications.
Each OS-Ken application has a receive queue for events.
The queue is FIFO and preserves the order of events.
Each OS-Ken application has a thread for event processing.
The thread keeps draining the receive queue by dequeueing an event
and calling the appropritate event handler for the event type.
Because the event handler is called in the context of
the event processing thread, it should be careful when blocking.
While an event handler is blocked, no further events for
the OS-Ken application will be processed.
There are kinds of events which are used to implement synchronous
inter-application calls between OS-Ken applications.
While such requests use the same machinery as ordinary
events, their replies are put on a queue dedicated to the transaction
to avoid deadlock.
While threads and queues are currently implemented with eventlet/greenlet,
a direct use of them in a OS-Ken application is strongly discouraged.
Contexts
--------
Contexts are ordinary python objects shared among OS-Ken applications.
The use of contexts is discouraged for new code.
Create a OS-Ken application
===========================
A OS-Ken application is a python module which defines a subclass of
os_ken.base.app_manager.RyuApp.
If two or more such classes are defined in a module, the first one
(by name order) will be picked by app_manager.
An OS-Ken application is singleton: only a single instance of a given OS-Ken
application is supported.
Observe events
==============
A OS-Ken application can register itself to listen for specific events
using os_ken.controller.handler.set_ev_cls decorator.
Generate events
===============
A OS-Ken application can raise events by calling appropriate
os_ken.base.app_manager.RyuApp's methods like send_event or
send_event_to_observers.
Event classes
=============
An event class describes a OS-Ken event generated in the system.
By convention, event class names are prefixed by "Event".
Events are generated either by the core part of OS-Ken or OS-Ken applications.
A OS-Ken application can register its interest for a specific type of
event by providing a handler method using the
os_ken.controller.handler.set_ev_cls decorator.
OpenFlow event classes
----------------------
os_ken.controller.ofp_event module exports event classes which describe
receptions of OpenFlow messages from connected switches.
By convention, they are named as os_ken.controller.ofp_event.EventOFPxxxx
where xxxx is the name of the corresponding OpenFlow message.
For example, EventOFPPacketIn for the packet-in message.
The OpenFlow controller part of OS-Ken automatically decodes OpenFlow messages
received from switches and send these events to OS-Ken applications which
expressed an interest using os_ken.controller.handler.set_ev_cls.
OpenFlow event classes are subclasses of the following class.
.. autoclass:: os_ken.controller.ofp_event.EventOFPMsgBase
See :ref:`ofproto_ref` for more info about OpenFlow messages.
os_ken.base.app_manager.RyuApp
==============================
See :ref:`api_ref`.
os_ken.controller.handler.set_ev_cls
====================================
.. autofunction:: os_ken.controller.handler.set_ev_cls
os_ken.controller.controller.Datapath
=====================================
.. autoclass:: os_ken.controller.controller.Datapath
os_ken.controller.event.EventBase
=================================
.. autoclass:: os_ken.controller.event.EventBase
os_ken.controller.event.EventRequestBase
========================================
.. autoclass:: os_ken.controller.event.EventRequestBase
os_ken.controller.event.EventReplyBase
======================================
.. autoclass:: os_ken.controller.event.EventReplyBase
os_ken.controller.ofp_event.EventOFPStateChange
===============================================
.. autoclass:: os_ken.controller.ofp_event.EventOFPStateChange
os_ken.controller.ofp_event.EventOFPPortStateChange
===================================================
.. autoclass:: os_ken.controller.ofp_event.EventOFPPortStateChange
os_ken.controller.dpset.EventDP
===============================
.. autoclass:: os_ken.controller.dpset.EventDP
os_ken.controller.dpset.EventPortAdd
====================================
.. autoclass:: os_ken.controller.dpset.EventPortAdd
os_ken.controller.dpset.EventPortDelete
=======================================
.. autoclass:: os_ken.controller.dpset.EventPortDelete
os_ken.controller.dpset.EventPortModify
=======================================
.. autoclass:: os_ken.controller.dpset.EventPortModify
os_ken.controller.network.EventNetworkPort
==========================================
.. autoclass:: os_ken.controller.network.EventNetworkPort
os_ken.controller.network.EventNetworkDel
=========================================
.. autoclass:: os_ken.controller.network.EventNetworkDel
os_ken.controller.network.EventMacAddress
=========================================
.. autoclass:: os_ken.controller.network.EventMacAddress
os_ken.controller.tunnels.EventTunnelKeyAdd
===========================================
.. autoclass:: os_ken.controller.tunnels.EventTunnelKeyAdd
os_ken.controller.tunnels.EventTunnelKeyDel
===========================================
.. autoclass:: os_ken.controller.tunnels.EventTunnelKeyDel
os_ken.controller.tunnels.EventTunnelPort
=========================================
.. autoclass:: os_ken.controller.tunnels.EventTunnelPort

View File

@ -6,9 +6,9 @@
Getting Started
***************
Overview/What's Ryu the Network Operating System
================================================
Ryu is an open-sourced Network Operating System which is licensed under Apache v2.0.
Overview/What's OS-Ken the Network Operating System
===================================================
OS-Ken is an open-sourced Network Operating System which is licensed under Apache v2.0.
It supports openflow protocol.
If you are not familiar with Software Defined Network(SDN) and
@ -16,40 +16,38 @@ OpenFlow/openflow controller,
please refer to `openflow org <http://www.openflow.org/>`_ .
The mailing list is available at
`ryu-devel ML <https://lists.sourceforge.net/lists/listinfo/ryu-devel>`_
`OpenStack-dev ML <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev>`_
Installing Ryu Network Operating System
=======================================
Installing OS-Ken Network Operating System
==========================================
Extract source code and just type::
% python ./setup.py install
Then, run ryu-manager.
Then, run os_ken-manager.
It listens to ip address 0.0.0.0 and port 6633 by default.
Then have your openflow switch (hardware or openvswitch OVS) to connect to
ryu-manager.
os_ken-manager.
For OVS case, you can done it by
% ovs-vsctl set-controller <your bridge> tcp:<ip addr>[:<port: default 6633>]
At the moment, ryu-manager supports only tcp method.
If you want to use it with openstack nova and quantum OVS plugin,
Please refer to :ref:`using_with_openstack`.
At the moment, os_ken-manager supports only tcp method.
invoking application and Configuration
======================================
It can be configured by passing configuration file like::
ryu-manager [generic/application specific options...]
os_ken-manager [generic/application specific options...]
At the moment applications including the following ones are available
(And more to come as Ryu evolves.)
(And more to come as OS-Ken evolves.)
* ryu.app.simple_isolation.SimpleIsolation
* ryu.app.rest.RestAPI
* ryu.app.simple_bridge.SimpleSwitch
* os_ken.app.simple_isolation.SimpleIsolation
* os_ken.app.rest.RestAPI
* os_ken.app.simple_bridge.SimpleSwitch
The generic available is as follows::
@ -104,16 +102,16 @@ Invoking Example
================
The example is as follows::
% PYTHONPATH=. ./bin/ryu-manager --wsapi-port 8081 --verbose --app-lists ryu.app.simple_isolation,ryu.app.rest
loading app ryu.app.simple_isolation
loading app ryu.app.rest
loading app ryu.controller.ofp_handler
% PYTHONPATH=. ./bin/os_ken-manager --wsapi-port 8081 --verbose --app-lists os_ken.app.simple_isolation,os_ken.app.rest
loading app os_ken.app.simple_isolation
loading app os_ken.app.rest
loading app os_ken.controller.ofp_handler
creating context dpset
creating context wsgi
creating context network
instantiating app ryu.app.simple_isolation
instantiating app ryu.app.rest
instantiating app ryu.controller.ofp_handler
instantiating app os_ken.app.simple_isolation
instantiating app os_ken.app.rest
instantiating app os_ken.controller.ofp_handler
BRICK dpset
CONSUMES EventOFPStateChange
CONSUMES EventOFPPortStatus

View File

@ -1,179 +0,0 @@
*******************
Ryu application API
*******************
Ryu application programming model
=================================
Threads, events, and event queues
---------------------------------
Ryu applications are single-threaded entities which implement
various functionalities in Ryu. Events are messages between them.
Ryu applications send asynchronous events to each other.
Besides that, there are some Ryu-internal event sources which
are not Ryu applications. One of examples of such event sources
is OpenFlow controller.
While an event can currently contain arbitrary python objects,
it's discouraged to pass complex objects (eg. unpickleable objects)
between Ryu applications.
Each Ryu application has a receive queue for events.
The queue is FIFO and preserves the order of events.
Each Ryu application has a thread for event processing.
The thread keeps draining the receive queue by dequeueing an event
and calling the appropritate event handler for the event type.
Because the event handler is called in the context of
the event processing thread, it should be careful when blocking.
While an event handler is blocked, no further events for
the Ryu application will be processed.
There are kinds of events which are used to implement synchronous
inter-application calls between Ryu applications.
While such requests uses the same machinary as ordinary
events, their replies are put on a queue dedicated to the transaction
to avoid deadlock.
While threads and queues is currently implemented with eventlet/greenlet,
a direct use of them in a Ryu application is strongly discouraged.
Contexts
--------
Contexts are ordinary python objects shared among Ryu applications.
The use of contexts are discouraged for new code.
Create a Ryu application
========================
A Ryu application is a python module which defines a subclass of
ryu.base.app_manager.RyuApp.
If two or more such classes are defined in a module, the first one
(by name order) will be picked by app_manager.
Ryu application is singleton: only single instance of a given Ryu
application is supported.
Observe events
==============
A Ryu application can register itself to listen for specific events
using ryu.controller.handler.set_ev_cls decorator.
Generate events
===============
A Ryu application can raise events by calling appropriate
ryu.base.app_manager.RyuApp's methods like send_event or
send_event_to_observers.
Event classes
=============
An event class describes a Ryu event generated in the system.
By convention, event class names are prefixed by "Event".
Events are generated either by the core part of Ryu or Ryu applications.
A Ryu application can register its interest for a specific type of
event by providing a handler method using
ryu.controller.handler.set_ev_cls decorator.
OpenFlow event classes
----------------------
ryu.controller.ofp_event module exports event classes which describe
receptions of OpenFlow messages from connected switches.
By convention, they are named as ryu.controller.ofp_event.EventOFPxxxx
where xxxx is the name of the corresponding OpenFlow message.
For example, EventOFPPacketIn for packet-in message.
The OpenFlow controller part of Ryu automatically decodes OpenFlow messages
received from switches and send these events to Ryu applications which
expressed an interest using ryu.controller.handler.set_ev_cls.
OpenFlow event classes are subclasses of the following class.
.. autoclass:: ryu.controller.ofp_event.EventOFPMsgBase
See :ref:`ofproto_ref` for more info about OpenFlow messages.
ryu.base.app_manager.RyuApp
===========================
See :ref:`api_ref`.
ryu.controller.handler.set_ev_cls
=================================
.. autofunction:: ryu.controller.handler.set_ev_cls
ryu.controller.controller.Datapath
==================================
.. autoclass:: ryu.controller.controller.Datapath
ryu.controller.event.EventBase
==============================
.. autoclass:: ryu.controller.event.EventBase
ryu.controller.event.EventRequestBase
=====================================
.. autoclass:: ryu.controller.event.EventRequestBase
ryu.controller.event.EventReplyBase
===================================
.. autoclass:: ryu.controller.event.EventReplyBase
ryu.controller.ofp_event.EventOFPStateChange
============================================
.. autoclass:: ryu.controller.ofp_event.EventOFPStateChange
ryu.controller.ofp_event.EventOFPPortStateChange
================================================
.. autoclass:: ryu.controller.ofp_event.EventOFPPortStateChange
ryu.controller.dpset.EventDP
============================
.. autoclass:: ryu.controller.dpset.EventDP
ryu.controller.dpset.EventPortAdd
=================================
.. autoclass:: ryu.controller.dpset.EventPortAdd
ryu.controller.dpset.EventPortDelete
====================================
.. autoclass:: ryu.controller.dpset.EventPortDelete
ryu.controller.dpset.EventPortModify
====================================
.. autoclass:: ryu.controller.dpset.EventPortModify
ryu.controller.network.EventNetworkPort
=======================================
.. autoclass:: ryu.controller.network.EventNetworkPort
ryu.controller.network.EventNetworkDel
======================================
.. autoclass:: ryu.controller.network.EventNetworkDel
ryu.controller.network.EventMacAddress
======================================
.. autoclass:: ryu.controller.network.EventMacAddress
ryu.controller.tunnels.EventTunnelKeyAdd
========================================
.. autoclass:: ryu.controller.tunnels.EventTunnelKeyAdd
ryu.controller.tunnels.EventTunnelKeyDel
========================================
.. autoclass:: ryu.controller.tunnels.EventTunnelKeyDel
ryu.controller.tunnels.EventTunnelPort
======================================
.. autoclass:: ryu.controller.tunnels.EventTunnelPort

View File

@ -2,30 +2,30 @@
Snort Intergration
******************
This document describes how to integrate Ryu with Snort.
This document describes how to integrate OS-Ken with Snort.
Overview
========
There are two options can send alert to Ryu controller. The Option 1 is easier if you just want to demonstrate or test. Since Snort need very large computation power for analyzing packets you can choose Option 2 to separate them.
There are two options can send alert to OS-Ken controller. The Option 1 is easier if you just want to demonstrate or test. Since Snort need very large computation power for analyzing packets you can choose Option 2 to separate them.
**[Option 1] Ryu and Snort are on the same machine**
**[Option 1] OS-Ken and Snort are on the same machine**
::
+---------------------+
| unixsock |
| Ryu == snort |
+----eth0-----eth1----+
+------------------------+
| unixsock |
| OS-Ken == snort |
+----eth0-----eth1-------+
| |
+-------+ +----------+ +-------+
| HostA |---| OFSwitch |---| HostB |
+-------+ +----------+ +-------+
The above depicts Ryu and Snort architecture. Ryu receives Snort alert packet via **Unix Domain Socket** . To monitor packets between HostA and HostB, installing a flow that mirrors packets to Snort.
The above depicts OS-Ken and Snort architecture. OS-Ken receives Snort alert packet via **Unix Domain Socket** . To monitor packets between HostA and HostB, installing a flow that mirrors packets to Snort.
**[Option 2] Ryu and Snort are on the different machines**
**[Option 2] OS-Ken and Snort are on the different machines**
::
+---------------+
@ -37,14 +37,14 @@ The above depicts Ryu and Snort architecture. Ryu receives Snort alert packet vi
| HostA |---| OFSwitch |---| LAN (*CP) |
+-------+ +----------+ +-----------+
| |
+----------+ +----------+
| HostB | | Ryu |
+----------+ +----------+
+----------+ +-------------+
| HostB | | OS-Ken |
+----------+ +-------------+
**\*CP: Control Plane**
The above depicts Ryu and Snort architecture. Ryu receives Snort alert packet via **Network Socket** . To monitor packets between HostA and HostB, installing a flow that mirrors packets to Snort.
The above depicts OS-Ken and Snort architecture. OS-Ken receives Snort alert packet via **Network Socket** . To monitor packets between HostA and HostB, installing a flow that mirrors packets to Snort.
@ -85,9 +85,9 @@ Usage
# False: Network Socket Server [Option2]
2. Run Ryu with sample application: ::
2. Run OS-Ken with sample application: ::
$ sudo ./bin/ryu-manager ryu/app/simple_switch_snort.py
$ sudo ./bin/os_ken-manager os_ken/app/simple_switch_snort.py
The incoming packets will all mirror to **port 3** which should be connect to Snort network interface. You can modify the mirror port by assign a new value in the ``self.snort_port = 3`` of ``simple_switch_snort.py``
@ -112,9 +112,9 @@ The incoming packets will all mirror to **port 3** which should be connect to Sn
# False: Network Socket Server [Option2]
2. Run Ryu with sample application (On the Controller): ::
2. Run OS-Ken with sample application (On the Controller): ::
$ ./bin/ryu-manager ryu/app/simple_switch_snort.py
$ ./bin/os_ken-manager os_ken/app/simple_switch_snort.py
3. Run Snort (On the Snort machine): ::
@ -125,7 +125,7 @@ The incoming packets will all mirror to **port 3** which should be connect to Sn
$ sudo python pigrelay.py
This program listening snort alert messages from unix domain socket and sending it to Ryu using network socket.
This program listening snort alert messages from unix domain socket and sending it to OS-Ken using network socket.
You can clone the source code from this repo. https://github.com/John-Lin/pigrelay

View File

@ -2,7 +2,7 @@
Testing OF-config support with LINC
===================================
This page describes how to setup LINC and test Ryu OF-config with it.
This page describes how to setup LINC and test OS-Ken OF-config with it.
The procedure is as follows.
Although all the procedure is written for reader's convenience,
@ -17,9 +17,9 @@ The test procedure
* configure LINC switch
* setup for LINC
* run LINC switch
* run Ryu test_of_config app
* run OS-Ken test_of_config app
For getting/installing Ryu itself, please refer to http://osrg.github.io/ryu/
For getting/installing OS-Ken itself, please refer to http://osrg.github.io/os_ken/
Install Erlang environment
@ -178,13 +178,13 @@ Then run LINC::
# rel/linc/bin/linc console
Run Ryu test_of_config app
==========================
Run OS-Ken test_of_config app
=============================
Run test_of_config app::
# ryu-manager --verbose ryu.tests.integrated.test_of_config ryu.app.rest
# os_ken-manager --verbose os_ken.tests.integrated.test_of_config os_ken.app.rest
If you don't install ryu and are working in the git repo directly::
If you don't install os_ken and are working in the git repo directly::
# PYTHONPATH=. ./bin/ryu-manager --verbose ryu.tests.integrated.test_of_config ryu.app.rest
# PYTHONPATH=. ./bin/os_ken-manager --verbose os_ken.tests.integrated.test_of_config os_ken.app.rest

View File

@ -2,22 +2,22 @@
Testing VRRP Module
===================
This page describes how to test Ryu VRRP service
This page describes how to test OS-Ken VRRP service
Running integrated tests
========================
Some testing scripts are available.
* ryu/tests/integrated/test_vrrp_linux_multi.py
* ryu/tests/integrated/test_vrrp_multi.py
* os_ken/tests/integrated/test_vrrp_linux_multi.py
* os_ken/tests/integrated/test_vrrp_multi.py
Each files include how to run in the comment.
Please refer to it.
Running multiple Ryu VRRP in network namespace
==============================================
Running multiple OS-Ken VRRP in network namespace
=================================================
The following command lines set up necessary bridges and interfaces.
@ -65,8 +65,8 @@ And then run RYU-VRRP::
# ip netns exec gateway1 ip link set veth3 up
# ip netns exec gateway2 ip link set veth4 up
# ip netns exec gateway1 .ryu-vrrp veth1 '10.0.0.2' 254
# ip netns exec gateway2 .ryu-vrrp veth2 '10.0.0.3' 100
# ip netns exec gateway1 .os_ken-vrrp veth1 '10.0.0.2' 254
# ip netns exec gateway2 .os_ken-vrrp veth2 '10.0.0.3' 100
.. admonition:: Caveats
@ -82,17 +82,17 @@ And then run RYU-VRRP::
-----------------------
|Linux Brirge vrrp-br1|
-----------------------
veth3-br1^ ^ veth4-br1
| |
veth3V V veth4
---------- ----------
|netns | |netns |
|gateway1| |gateway2|
|ryu-vrrp| |ryu-vrrp|
---------- ----------
veth1^ ^ veth2
| |
veth1-br0V V veth2-br0
veth3-br1^ ^ veth4-br1
| |
veth3V V veth4
------------- -------------
|netns | |netns |
|gateway1 | |gateway2 |
|os_ken-vrrp| |os_ken-vrrp|
------------- ----------
veth1^ ^ veth2
| |
veth1-br0V V veth2-br0
-----------------------
|Linux Brirge vrrp-br0|
-----------------------
@ -102,7 +102,7 @@ And then run RYU-VRRP::
Here's the helper executable, ryu-vrrp::
Here's the helper executable, os_ken-vrrp::
#!/usr/bin/env python
#
@ -121,10 +121,10 @@ Here's the helper executable, ryu-vrrp::
# implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from ryu.lib import hub
from os_ken.lib import hub
hub.patch()
# TODO:
# Right now, we have our own patched copy of ovs python bindings
# Once our modification is upstreamed and widely deployed,
@ -132,34 +132,34 @@ Here's the helper executable, ryu-vrrp::
#
# NOTE: this modifies sys.path and thus affects the following imports.
# eg. oslo.config.cfg.
import ryu.contrib
import os_ken.contrib
from oslo.config import cfg
import logging
import netaddr
import sys
import time
from ryu import log
from os_ken import log
log.early_init_log(logging.DEBUG)
from ryu import flags
from ryu import version
from ryu.base import app_manager
from ryu.controller import controller
from ryu.lib import mac as lib_mac
from ryu.lib.packet import vrrp
from ryu.services.protocols.vrrp import api as vrrp_api
from ryu.services.protocols.vrrp import event as vrrp_event
from os_ken import flags
from os_ken import version
from os_ken.base import app_manager
from os_ken.controller import controller
from os_ken.lib import mac as lib_mac
from os_ken.lib.packet import vrrp
from os_ken.services.protocols.vrrp import api as vrrp_api
from os_ken.services.protocols.vrrp import event as vrrp_event
CONF = cfg.CONF
_VRID = 7
_IP_ADDRESS = '10.0.0.1'
_PRIORITY = 100
class VRRPTestRouter(app_manager.RyuApp):
def __init__(self, *args, **kwargs):
super(VRRPTestRouter, self).__init__(*args, **kwargs)
@ -168,50 +168,50 @@ Here's the helper executable, ryu-vrrp::
self._ifname = args[0]
self._primary_ip_address = args[1]
self._priority = int(args[2])
def start(self):
print 'start'
hub.spawn(self._main)
def _main(self):
print self
interface = vrrp_event.VRRPInterfaceNetworkDevice(
lib_mac.DONTCARE, self._primary_ip_address, None, self._ifname)
self.logger.debug('%s', interface)
ip_addresses = [_IP_ADDRESS]
config = vrrp_event.VRRPConfig(
version=vrrp.VRRP_VERSION_V3, vrid=_VRID, priority=self._priority,
ip_addresses=ip_addresses)
self.logger.debug('%s', config)
rep = vrrp_api.vrrp_config(self, interface, config)
self.logger.debug('%s', rep)
def main():
vrrp_config = sys.argv[-3:]
sys.argv = sys.argv[:-3]
CONF(project='ryu', version='ryu-vrrp %s' % version)
CONF(project='os_ken', version='os_ken-vrrp %s' % version)
log.init_log()
# always enable ofp for now.
app_lists = ['ryu.services.protocols.vrrp.manager',
'ryu.services.protocols.vrrp.dumper',
'ryu.services.protocols.vrrp.sample_manager']
app_lists = ['os_ken.services.protocols.vrrp.manager',
'os_ken.services.protocols.vrrp.dumper',
'os_ken.services.protocols.vrrp.sample_manager']
app_mgr = app_manager.AppManager.get_instance()
app_mgr.load_apps(app_lists)
contexts = app_mgr.create_contexts()
app_mgr.instantiate_apps(**contexts)
vrrp_router = app_mgr.instantiate(VRRPTestRouter, *vrrp_config, **contexts)
vrrp_router.start()
while True:
time.sleep(999999)
app_mgr.close()
if __name__ == "__main__":
main()

View File

@ -3,7 +3,7 @@ Setup TLS Connection
********************
If you want to use secure channel to connect OpenFlow switches, you
need to use TLS connection. This document describes how to setup Ryu
need to use TLS connection. This document describes how to setup OS-Ken
to connect to the Open vSwitch over TLS.
@ -58,17 +58,17 @@ Substitute the correct file names, if they differ from the ones used
above. You should use absolute file names.
Run Ryu with CA files::
Run OS-Ken with CA files::
% ryu-manager --ctl-privkey ctl-privkey.pem \
% os_ken-manager --ctl-privkey ctl-privkey.pem \
--ctl-cert ctl-cert.pem \
--ca-certs /usr/local/var/lib/openvswitch/pki/switchca/cacert.pem \
--verbose
You can see something like::
loading app ryu.controller.ofp_handler
instantiating app ryu.controller.ofp_handler
loading app os_ken.controller.ofp_handler
instantiating app os_ken.controller.ofp_handler
BRICK ofp_event
CONSUMES EventOFPSwitchFeatures
CONSUMES EventOFPErrorMsg
@ -76,7 +76,7 @@ You can see something like::
CONSUMES EventOFPEchoRequest
connected socket:<SSLSocket fileno=4 sock=127.0.0.1:6633 peer=127.0.0.1:61302> a
ddress:('127.0.0.1', 61302)
hello ev <ryu.controller.ofp_event.EventOFPHello object at 0x1047806d0>
hello ev <os_ken.controller.ofp_event.EventOFPHello object at 0x1047806d0>
move onto config mode
switch features ev version: 0x1 msg_type 0x6 xid 0xb0bb34e5 port OFPPhyPort(port
_no=65534, hw_addr='\x16\xdc\xa2\xe2}K', name='br0\x00\x00\x00\x00\x00\x00\x00\x

View File

@ -1,25 +0,0 @@
.. _using_with_openstack:
************************************************************************
Using Ryu Network Operating System with OpenStack as OpenFlow controller
************************************************************************
.. CAUTION::
The Ryu plugin and OFAgent described in the following is deprecated,
because Ryu is officially integrated into Open vSwitch agent with
"of_interface = native" mode.
Ryu cooperates with OpenStack using Quantum Ryu plugin. The plugin is
available in the official Quantum releases.
For more information, please visit http://github.com/osrg/ryu/wiki/OpenStack .
We described instructions of the installation / configuration of OpenStack
with Ryu, and we provide pre-configured VM image to be able to easily try
OpenStack with Ryu.
----
* OpenStack: http://www.openstack.org/
* Quantum: https://github.com/openstack/quantum/

View File

@ -6,68 +6,68 @@ Whetting Your Appetite
======================
If you want to manage the network gears (switches, routers, etc) at
your way, you need to write your Ryu application. Your application
tells Ryu how you want to manage the gears. Then Ryu configures the
your way, you need to write your OS-Ken application. Your application
tells OS-Ken how you want to manage the gears. Then OS-Ken configures the
gears by using OpenFlow protocol, etc.
Writing Ryu application is easy. It's just Python scripts.
Writing OS-Ken application is easy. It's just Python scripts.
Start Writing
=============
We show a Ryu application that make OpenFlow switches work as a dumb
We show a OS-Ken application that make OpenFlow switches work as a dumb
layer 2 switch.
Open a text editor creating a new file with the following content:
.. code-block:: python
from ryu.base import app_manager
from os_ken.base import app_manager
class L2Switch(app_manager.RyuApp):
def __init__(self, *args, **kwargs):
super(L2Switch, self).__init__(*args, **kwargs)
Ryu application is just a Python script so you can save the file with
OS-Ken application is just a Python script so you can save the file with
any name, extensions, and any place you want. Let's name the file
'l2.py' at your home directory.
This application does nothing useful yet, however it's a complete Ryu
application. In fact, you can run this Ryu application::
% ryu-manager ~/l2.py
This application does nothing useful yet, however it's a complete OS-Ken
application. In fact, you can run this OS-Ken application::
% os_ken-manager ~/l2.py
loading app /Users/fujita/l2.py
instantiating app /Users/fujita/l2.py
All you have to do is defining needs a new subclass of RyuApp to run
your Python script as a Ryu application.
your Python script as a OS-Ken application.
Next let's add the functionality of sending a received packet to all
the ports.
.. code-block:: python
from ryu.base import app_manager
from ryu.controller import ofp_event
from ryu.controller.handler import MAIN_DISPATCHER
from ryu.controller.handler import set_ev_cls
from ryu.ofproto import ofproto_v1_0
from os_ken.base import app_manager
from os_ken.controller import ofp_event
from os_ken.controller.handler import MAIN_DISPATCHER
from os_ken.controller.handler import set_ev_cls
from os_ken.ofproto import ofproto_v1_0
class L2Switch(app_manager.RyuApp):
OFP_VERSIONS = [ofproto_v1_0.OFP_VERSION]
def __init__(self, *args, **kwargs):
super(L2Switch, self).__init__(*args, **kwargs)
@set_ev_cls(ofp_event.EventOFPPacketIn, MAIN_DISPATCHER)
def packet_in_handler(self, ev):
msg = ev.msg
dp = msg.datapath
ofp = dp.ofproto
ofp_parser = dp.ofproto_parser
actions = [ofp_parser.OFPActionOutput(ofp.OFPP_FLOOD)]
out = ofp_parser.OFPPacketOut(
datapath=dp, buffer_id=msg.buffer_id, in_port=msg.in_port,
@ -76,16 +76,16 @@ the ports.
A new method 'packet_in_handler' is added to L2Switch class. This is
called when Ryu receives an OpenFlow packet_in message. The trick is
'set_ev_cls' decorator. This decorator tells Ryu when the decorated
called when OS-Ken receives an OpenFlow packet_in message. The trick is
'set_ev_cls' decorator. This decorator tells OS-Ken when the decorated
function should be called.
The first argument of the decorator indicates an event that makes
function called. As you expect easily, every time Ryu gets a
function called. As you expect easily, every time OS-Ken gets a
packet_in message, this function is called.
The second argument indicates the state of the switch. Probably, you
want to ignore packet_in messages before the negotiation between Ryu
want to ignore packet_in messages before the negotiation between OS-Ken
and the switch finishes. Using 'MAIN_DISPATCHER' as the second
argument means this function is called only after the negotiation
completes.
@ -97,7 +97,7 @@ Next let's look at the first half of the 'packet_in_handler' function.
* msg.dp is an object that represents a datapath (switch).
* dp.ofproto and dp.ofproto_parser are objects that represent the
OpenFlow protocol that Ryu and the switch negotiated.
OpenFlow protocol that OS-Ken and the switch negotiated.
Ready for the second half.
@ -109,18 +109,18 @@ Ready for the second half.
* OFPPacketOut class is used to build a packet_out message.
* If you call Datapath class's send_msg method with a OpenFlow message
class object, Ryu builds and send the on-wire data format to the switch.
class object, OS-Ken builds and send the on-wire data format to the switch.
Here, you finished implementing your first Ryu application. You are ready to
run this Ryu application that does something useful.
Here, you finished implementing your first OS-Ken application. You are ready to
run this OS-Ken application that does something useful.
A dumb l2 switch is too dumb? You want to implement a learning l2
switch? Move to `the next step
<https://github.com/osrg/ryu/blob/master/ryu/app/simple_switch.py>`_. You
can learn from the existing Ryu applications at `ryu/app
<https://github.com/osrg/ryu/blob/master/ryu/app/>`_ directory and
<https://github.com/osrg/os_ken/blob/master/os_ken/app/simple_switch.py>`_. You
can learn from the existing OS-Ken applications at `os_ken/app
<https://github.com/osrg/os_ken/blob/master/os_ken/app/>`_ directory and
`integrated tests
<https://github.com/osrg/ryu/blob/master/ryu/tests/integrated/>`_
<https://github.com/osrg/os_ken/blob/master/os_ken/tests/integrated/>`_
directory.

View File

@ -59,20 +59,20 @@ def set_ev_cls(ev_cls, dispatchers=None):
.. tabularcolumns:: |l|L|
=========================================== ===============================
Negotiation phase Description
=========================================== ===============================
============================================== ===============================
Negotiation phase Description
============================================== ===============================
os_ken.controller.handler.HANDSHAKE_DISPATCHER Sending and waiting for hello
message
message
os_ken.controller.handler.CONFIG_DISPATCHER Version negotiated and sent
features-request message
features-request message
os_ken.controller.handler.MAIN_DISPATCHER Switch-features message
received and sent set-config
message
received and sent set-config
message
os_ken.controller.handler.DEAD_DISPATCHER Disconnect from the peer. Or
disconnecting due to some
unrecoverable errors.
=========================================== ===============================
disconnecting due to some
unrecoverable errors.
============================================== ===============================
"""
def _set_ev_cls_dec(handler):
if 'callers' not in dir(handler):

View File

@ -1006,8 +1006,7 @@ def generate(ofp_name, ofpp_name):
..
| *field*\=\ *value*
| *field*\ **[**\ *start*\..\ *end*\ **]**\ =\
*src*\ **[**\ *start*\..\ *end*\ **]**
| *field*\ **[**\ *start*\..\ *end*\ **]**\ =\ *src*\ **[**\ *start*\..\ *end*\ **]**
| *field*\ **[**\ *start*\..\ *end*\ **]**
|
@ -1020,10 +1019,8 @@ def generate(ofp_name, ofpp_name):
load:src[start..end]->dst[start..end]
..
| **load**\:\ *value*\ **->**\ *dst*\
**[**\ *start*\..\ *end*\ **]**
| **load**\:\ *src*\ **[**\ *start*\..\ *end*\
**] ->**\ *dst*\ **[**\ *start*\..\ *end*\ **]**
| **load**\:\ *value*\ **->**\ *dst*\ **[**\ *start*\..\ *end*\ **]**
| **load**\:\ *src*\ **[**\ *start*\..\ *end*\ **] ->**\ *dst*\ **[**\ *start*\..\ *end*\ **]**
|
Please use the