summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2016-03-24protocols/ovsdb: Add bulk read supportJason Kölker
At times is it convient to read from all clients at the same time. In particular when searching for what system_id a port or bridge (datapath) belongs to. Signed-off-by: Jason Kölker <jason@koelker.net> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-24protocols/ovsdb: Fix shadow variablesJason Kölker
Signed-off-by: Jason Kölker <jason@koelker.net> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-24protocols/ovsdb: Update wrapped Idl()Jason Kölker
Upstream ovs added the `Idl.readonly` property after ryu embeded ovs. Add the property for compatability. Signed-off-by: Jason Kölker <jason@koelker.net> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-24protocols/ovsdb: Remove patched ovs.vlogJason Kölker
The upstream `ovs.vlog` plays nice with python logging. No need for the workaround. Signed-off-by: Jason Kölker <jason@koelker.net> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-23test_ofctl: Add test casesShinpei Muraoka
This patch adds the following test cases. - Specify the port number for get ports stats. - Specify the group id for get group stats. - Specify the meter id for get meter stats. - Specify the meter id for get meter config. - Specify the port number and queue id for get queue stats. Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-23doc/app/ofctl_rest: Add the attribute for messageShinpei Muraoka
This patch adds attributes of the following messages. - Add the port number for get ports stats. - Add the group id for get group stats. - Add the meter id for get meter stats. - Add the meter id for get meter config. - Add the port number and queue id for get queue stats. Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-23ofctl_rest: Support port number and queue id in get_queue_stats()Shinpei Muraoka
This patch enables to specify the port number and the queue id to get the queue stats. Usage) $ curl -X GET http://localhost:8080/stats/queue/<dpid>[/<port>[/<queue_id>]] Note: Specification of port number and queue id are optional. If you want to omitting the port number and setting the queue id, please specify the keyword "ALL" to the port number. e.g. GET /stats/queue/1/ALL/1 Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-23ofctl_rest: Support meter id in get_meter_config()Shinpei Muraoka
This patch enables to specify the meter id to get the meter config. Usage) $ curl -X GET http://localhost:8080/stats/meterconfig/<dpid>[/<meter_id>] Note: Specification of meter id is optional Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-23ofctl_rest: Support meter id in get_meter_stats()Shinpei Muraoka
This patch enables to specify the meter id to get the meter stats. Usage) $ curl -X GET http://localhost:8080/stats/meter/<dpid>[/<meter_id>] Note: Specification of meter id is optional Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-23ofctl_rest: Support group id in get_group_stats()Shinpei Muraoka
This patch enables to specify the group id to get the group stats. Usage) $ curl -X GET http://localhost:8080/stats/group/<dpid>[/<group_id>] Note: Specification of group id is optional Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-23ofctl_rest: Support port number in get_port_stats()Shinpei Muraoka
This patch enables to specify the port number to get the port stats. Usage) $ curl -X GET http://localhost:8080/stats/port/<dpid>[/<port>] Note: Specification of port number is optional Signed-off-by: Shinpei Muraoka <shinpei.muraoka@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-23hub: Preserve functions return valueJason Kölker
Calling GreenThread.wait() should return the value of the greenthread or reraise the exception. As it is being wrapped to mimic gevent's .join behaviour introduce the `raise_error` kwarg to allow callers to specify the behavior they expect while maintaining backwards compatability. Signed-off-by: Jason Kölker <jason@koelker.net> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-23protocols/ovsdb: Improve non-blocking performanceJason Kölker
Prevent `client.discover_schemas` from blocking while calling into the `ovs` library by emulating `jsonrpc.Connection.transact_block` to not block and explicitly allow greenlet switching every loop. Works with both the embeded ryu.contrib.ovs and upstream ovs python packages. Signed-off-by: Jason Kölker <jason@koelker.net> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-21contrib/ovs: Remove embeded ovs, use upstreamJason Kölker
Signed-off-by: Jason Kölker <jason@koelker.net> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-17protocols/ovsdb: Fix variable name issueJason Kölker
Previous patch referred to the wrong config names Signed-off-by: Jason Kölker <jason@koelker.net> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-17protocols/ovsdb: Allow setting backoff settingsJason Kölker
Signed-off-by: Jason Kölker <jason@koelker.net> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-11Cleanups to controller.pyVictor J. Orlikowski
A set of minor cleanups. 1) Remove the unused import of MAIN_DISPATCHER from ryu.controller.handler. 2) Remove the extraneous "close_requested" variable. 3) Ensure use of equality instead of identity for testing against DEAD_DISPATCHER. 4) Alter the exit condition for the _send_loop. Signed-off-by: Victor J. Orlikowski <vjo@duke.edu> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-11protocols/ovsdb: Allow setting probe intervalJason Kölker
Signed-off-by: Jason Kölker <jason@koelker.net> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-11protocols/ovsdb: Fix shadow loop variables [F402]Jason Kölker
Signed-off-by: Jason Kölker <jason@koelker.net> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-11protocols/bgp: PEP-8 and Python3 fixesJason Kölker
Signed-off-by: Jason Kölker <jason@koelker.net> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-11packet/bgp: PEP-8 and Python3 fixesJason Kölker
Signed-off-by: Jason Kölker <jason@koelker.net> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-11doc/app/ofctl_rest: Update description for action type of experimenterMinoru TAKAHASHI
Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-11ofctl_v1_3: Add support for using action experimenterMinoru TAKAHASHI
This patch makes it possible for ofctl_v1_3 to use the action type of experimenter. Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-11ofproto_v1_3: Add unit test cases for action experimenterMinoru TAKAHASHI
Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-11ofproto_v1_5: Reduce an unnecessary codeMinoru TAKAHASHI
Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-11ofproto_v1_5: Add test case for OFPExperimenterMinoru TAKAHASHI
Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-03-04Ryu 4.0FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-02-27Typo fixesVictor J. Orlikowski
Signed-off-by: Victor J. Orlikowski <vjo@duke.edu> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-02-27of: add echo request support Victor J. Orlikowski
Add a new feature: an echo request loop, which implements a liveness check for connected Datapaths. This feature is off by default, but can be enabled by setting the config file option maximum_unreplied_echo_requests to a positive integer value. Signed-off-by: Victor J. Orlikowski <vjo@duke.edu> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-02-27make socket-timeout config file option Victor J. Orlikowski
Change socket-timeout from being a CLI option to being a config file option, since this should not *normally* need to be set on the command line. Signed-off-by: Victor J. Orlikowski <vjo@duke.edu> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-02-27Clean up socket close() handlingVictor J. Orlikowski
Also, temporarily work around a bug in eventlet's Queue.put() by wrapping the send_q with a semaphore. Signed-off-by: Victor J. Orlikowski <vjo@duke.edu> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-02-27Wrap handler calls in the event loop in a try/except and log exceptionsVictor J. Orlikowski
In order to prevent an exception from terminating the execution of the event loop. Wrapper name also added to hub.py for GreenletExit. Signed-off-by: Victor J. Orlikowski <vjo@duke.edu> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-02-27Use a slightly lighter Queue implementationVictor J. Orlikowski
It does not include an internal counter. Signed-off-by: Victor J. Orlikowski <vjo@duke.edu> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-02-27Protect events queue with a semaphoreVictor J. Orlikowski
Due to a discovered bug in eventlet queue put(). This is a temporary workaround until eventlet is fixed. Signed-off-by: Victor J. Orlikowski <vjo@duke.edu> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-02-27.pylintrc: Remove deprecated output format featureIWASE Yusuke
The 'parseable' output format of pylint is deprecated. This patch updates the option from 'output-format=parseable' into equivalent output format by using 'msg-template'. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-02-27run_mininet: Specify the controller portIWASE Yusuke
In the latest mininet, the default controller port has been updated to 6653, but currently the default port of Ryu is 6633. This patch specifies the controller port by using the constant from Ryu ofproto module. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-02-27run_mininet: Adopt utility methods of Mininet classIWASE Yusuke
Currently, run_mininet uses low level APIs of mininet. This patch fixes to use utility methods of Mininet class. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-02-27run_mininet: Support protocols option of ovs-vsctlIWASE Yusuke
To support user-specified OpenFlow version, this patch adds protocols option support into run_mininet script. Usage example) $ sudo python run_mininet.py --protocols OpenFlow13 Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-02-27ofp_handler: Handle empty data field in OFPErrorMsgIWASE Yusuke
OpenFlow Spec defines that the data field should contain at least 64 bytes of the failed request that caused the error message to be generated, unless otherwise specified. But, the data field can be empty in some switch implementation, this patch checks the data field length and skips parsing it if the field does not contain enough bytes to parse. Reported-by: Yury Yurochko <y.yurochko@brain4net.com> Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-02-27lib/ofctl: add test files for ofctl_v14Minoru TAKAHASHI
Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-02-27lib/ofctl: add ofctl_v1_4 libraryMinoru TAKAHASHI
Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-02-27app/ofctl_rest: support OpenFlow1.4Minoru TAKAHASHI
Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-02-18ofproto: Fixes invalid async config property typesMinoru TAKAHASHI
The following types are presents in Openflow Spec v1.4.0 and 1.4.1. OFPTFPT_EXPERIMENTER_SLAVE = 0xFFFE OFPTFPT_EXPERIMENTER_MASTER = 0xFFFF Prefix of async config property type should be 'OFPACPT_' but the above are starting with 'OFPTFPT_'. Because these types have been fixed in Openflow v1.5.0, this patch fixes the above types in ofproto_v1_4.py as follows. OFPTFPT_EXPERIMENTER_SLAVE = 0xFFFE <-- treated as deprecated[*1] OFPTFPT_EXPERIMENTER_MASTER = 0xFFFF <-- treated as deprecated[*1] OFPACPT_EXPERIMENTER_SLAVE = 0xFFFE OFPACPT_EXPERIMENTER_MASTER = 0xFFFF [*1] OFPTFPT_EXPERIMENTER_SLAVE/MASTER are left in ofproto_v1_4.py for backward compatibility. Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-02-18simple_switch: Separate simple_switch for beginnersIWASE Yusuke
simple_switch_* apps have conflicting two faces of its purpose. One is the example apps for beginners, the other is the utility apps for the L2 switching in the user environments. These are difficult to be compatible. This patch adds an example app for begginers and separates from simple_switch_* apps. This makes it easy to improve the L2 switching function of simple_switch_* apps. To simplify example_switch_13, the following features are dropped from simple_switch_* apps. - FlowMod and Packet-Out messages using "buffer_id". - Checking the expected "miss_send_length" field. - Ignoring the LLDP packets Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-02-18drop python2.6 supportFUJITA Tomonori
The Python core team[*1] stopped supporting python 2.6. Some Python libraries started following the same path and trying to support 2.6 becomes painful... For example, most of you already noticed, oslo.config dropped 2.6 support. I tried to work around it with the following commit: https://github.com/osrg/ryu/commit/22501710983fb79a8a337e6bf650821efdc7cf59 But this forces users of decent distributions (e.g Ubuntu 14.04) to upgrade pip (old pip versions can't understand version conditions). [*1] http://www.curiousefficiency.org/posts/2015/04/stop-supporting-python26.html Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-02-18Fix i386 test failuresCorey Bryant
Signed-off-by: Corey Bryant <corey.bryant@canonical.com> Reviewed-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-02-10test_parser: add an NXActionRegLoad testIWAMOTO Toshihiro
Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-02-10packet_data_generator3: generate an NXActionRegLoad packetIWAMOTO Toshihiro
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-02-10Implement NXActionRegLoadIWAMOTO Toshihiro
The OpenStack Neutron's of_interface code generates flows with NXActionRegLoad. It's not required but better to be able to parse them. Signed-off-by: IWAMOTO Toshihiro <iwamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-02-10test_parser: Fix ofp_multipart_type in OFPFlowStatsRequestIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>