CHANGES ======= v4.32 ----- * Ryu 4.32 * app/ofctl: fix possible deadlock v4.31 ----- * Ryu 4.31 * Choose the highest TLS version v4.30 ----- * Ryu 4.30 * Grammatical improvements to some of the documentation v4.29 ----- * Ryu 4.29 * app/ofctl: fix possible deadlock when the datapath disconnects v4.28 ----- * Ryu 4.28 * Fix convertion of ipv4 to string on i386 and arch * mrtlib: Define JSON representation types * test\_mrtlib: Test cases for ADD\_PATH * mrtlib: Support RFC8050 * mrtlib: Missing subclass for SUBTYPE\_RIB\_\*\_MULTICAST v4.27 ----- * Ryu 4.27 * Declare support of recent python3 versions * Test more python versions on travis CI * Bump oslo.config to 2.5.0 * Fix UT when running in python 3.7 env * lib/ovs/bridge: Return multiple controllers * BGPSpeaker: Enable to specify remote port for neighbor * switch.tester: Fix name shadowing * gui\_topology: Avoid wildcard URL matching v4.26 ----- * Ryu 4.26 * nx\_actions: Fix NXActionSetTunnel docstring * Fix pycodestyle W605 warnings * BGPSpeaker: Fix BGP state string conversion * pycodestyle: Ignore W504 * BGPSpeaker: Advertise local routes to RR clients * pip: Blacklist eventlet 0.23.0 * lldp: Remove remaining SystemCapabilities.subtype from tests * lldp: fixed SystemCapabilities TLV v4.25 ----- * Ryu 4.25 * allow versions of eventlet > 0.21.0 v4.24 ----- * Ryu 4.24 * ofproto: add Nicira extension ct\_clear action * ofproto: Encode data field on OFPErrorMsg * ofp\_handler: Close socket when HELLO failed * controller: Wait for switch to disconnect connection * controller: Option to close socket after sending Message * controller: Improve pylint result * test\_requirements: Avoid using pip as library * utils: Remove "parse\_requirements" function * Switch to msgpack in pip-requires * nicira\_ext: Support DEC\_NSH\_TTL action * nicira\_ext: Support Network Service Header match * doc: Fix unexpected indent in ofctl.api doc v4.23 ----- * Ryu 4.23 * doc: Document for ryu.lib.ovs * lib/ovs: Fix a typo of "--may-exist" option v4.22 ----- * Ryu 4.22 * bgp/application: Add note for BGPSpeaker API reference * BGPSpeaker: Move docstring from \_\_init\_\_ to class * BGPSpeaker: Enable to notify adj-RIB-in changed * ofctl: Enable to get all datapath objects * confroller/dpset: Add usage example of instantiation * test\_rpc: Adopt to msgpack-python>=0.50 * doc: Usage for ryu/services/protocols/bgp/application.py v4.21 ----- * Ryu 4.21 * \*: Apply autopep8 * travis: Introduce autopep8 test * \*: Adopt to pycodestyle's checks * pycodestyle: Replace pep8 * ofproto\_v1\_5\_parser: oxm\_ids with name str in OFPActionCopyField * ofproto\_v1\_5\_parser: Missing trailing pads of OFPActionCopyField * ofproto\_v1\_5\_parser: Fix length calculation of OFPOxmId * ovsdb: Fix small bug * packet\_data\_generator3: Generate OF13 Ext-230 bundle packets * packet\_data\_generator3: Support ovs-2.8 * ofproto\_v1\_3: Add bundle extension * ofproto: Correct OFPBundle{Ctrl, Add}Msg docstrings * rest\_vtep: Add some descriptions for troubleshooting * topology: Enable to detect migrations of hosts v4.20 ----- * Ryu 4.20 * fix bug in the example of flow\_stats\_reply * app: added simple switch with openflow 1.5 support * ofproto\_v1\_5\_parser: Change default of command\_bucket\_id * app: Fix simple\_switch for multi switch env * doc: fix typo * test\_icmpv6: Catch proper Exception * packet/icmp: Avoid TypeError when calculating length * \*: Reject Binary Represented IP Addresses * serivice/bgp: Fix ssh connection problem in Python 2.7 * flags: Inject \_\_class\_\_ attribute to LooseVersion * library\_ovsdb\_manager: Descriptions for OVS configs * app/ofctl: Enable to send single BarrierRequest * packet/zebra: Support FRRouting version 3.0 * of14: Implement OFPBundleCtrlMsg parser * rest\_qos: Avoid None when deleting OVSDB addr * lib/ovs/vsctl: Function for validate OVSDB address v4.19 ----- * Ryu 4.19 * BGPSpeaker: Enable to specify local listen addresses * bgp/application: Enhance arguments handling for BGPSpeaker * test\_controller: Test cases for \_split\_addr() * controller: APIs to register switch address dynamically * controller: Support proactive connection v4.18 ----- * Ryu 4.18 * zclient/zserver: Support FRRouting messages format * test\_zebra: Enhance test cases * packet/zebra: Support MPLS Labels messages * packet/zebra: Support Interface Router Advertisement messages * packet/zebra: Support VRF related messages * packet/zebra: Support BFD Destination messages * packet/zebra: Support Neighbor Connected Address messages * test\_zebra: Add pcap for API version 4 on FRR v2.0 * packet/zebra: Support some FRRouting messages format * packet/zebra: Constants for supporting FRRouting format * packet/zebra: Support asymmetric structure of ZEBRA\_\*\_IMPORT\_LOOKUP * packet/zebra: Parse messages based on Zebra API version * packet/zebra: Missing bw\_cls\_num in InterfaceLinkParams * packet/zebra: Constants for Link Parameters Status * packet/zebra: Constants for Interface Address Flags * packet/zebra: Return "ZebraMessage" for message from Zebra * packet/zebra: Fix unresolved reference for \_serialize\_nexthops * Only import pip if needed v4.17 ----- * Ryu 4.17 * topology/switches: Fix delete port can't immediately remove link * BGPSpeaker/net\_ctrl: Close activity for each session * packet/bmp: Correctly parse peer address with IPv4 * rest\_qos: Avoid discarding Queues info for each request * services/ovsdb: Listen on IPv6 Address * packet/icmpv6: Assert length in options are valid * packet/icmpv6: Fix parsing undefined nd\_option fails * ofp\_event: Timestamp when OpenFlow event was generated v4.16 ----- * Ryu 4.16 * doc: Fix unexpected indent in ryu/lib/packet/bgp.py * doc: Deprecated option html\_use\_smartypants * ofproto: Avoid emitting illegal instruction sets * doc: Minor grammar changes in ryu\_app\_api * unit/ofproto: Adopt to rename of OFPErrorExperimenterMsg * ofproto: Handle OFPErrorExperimenterMsg * bgp\_sample\_conf: absolute\_import to suppress warnings * service/ovsdb: get socket from RemoteOvsdb v4.15 ----- * Ryu 4.15 * Revert "tests: Separate test files from Ryu module" * tests: Separate test files from Ryu module * service/ovsdb: Use dict.items() instead of six.iteritems() * doc/ovsdb\_manager: Update Sample Code * service/ovsdb: Use Python 2/3 compatible code * service/ovsdb: Avoid to use dict as default argument * service/ovsdb: Add properties to EventNewOVSDBConnection * test\_vsctl: Strip unexpected double quote * pip: OpenStack updated requirements of eventlet again * manager: Introduce user flags option * CONTRIBUTING: Update info of Python ver/lib and links * CONTRIBUTING: Update procedure for running tests * CONTRIBUTING: Update procedure for submitting patches * README: Dependencies for installing optional requirements * service/ovsdb: Default of controller\_info in set\_controller v4.14 ----- * Ryu 4.14 * doc: fix error in ovsdb\_manager.rst code * fix dhcp6.py bug using python3 * pip: OpenStack avoids newer eventlet * ofctl: Add some tests for ofp\_instruction\_from\_str * ofctl: Add ovs-ofctl style action string parser * nicira\_ext: Define some CT constants * BGPSpeaker/SSH: Support to show L2VPN Flow Spec routes * BGPSpeaker: Support IPv6 Flow Spec update messages * BGPSpeaker/info\_base: Add tables for L2VPN Flow Spec * utils/test\_bgp: Add unit tests for L2VPN Flow Spec * test\_table\_manager: Add unit tests for L2VPN Flow Spec * test\_bgpspeaker: Add unit tests for L2VPN Flow Spec * packet/bgp: Support L2VPN Flow Spec * packet/bgp: Properly calculate length for FlowSpec * test\_bgp: Add test cases for L2VPN Flow Spec * BGPSpeaker/SSH: Support to show IPv6 Flow Spec routes * BGPSpeaker: Support IPv6 Flow Spec update messages * BGPSpeaker/info\_base: Add tables for IPv6 Flow Spec * utils/test\_bgp: Add unit tests for IPv6 Flow Spec * test\_table\_manager: Add unit tests for IPv6 Flow Spec * test\_bgpspeaker: Add unit tests for IPv6 Flow Spec * packet/bgp: Support IPv6 Flow Spec * test\_bgp: Add test cases for IPv6 Flow Spec * ofproto: Allow CIDR notation for ipv[46]\_{src, dst} * utils.import\_module: Prefer filepath than Python module * library\_packet\_ref: Separate ref into each protocol * lib/packet: Use literal block for diagram in pydoc * packet/bgp: Omit description of default value * packet/lldp: Add description for each class * packet/arp: Update description for arguments * BGPSpeaker/info\_base/base: Unify documentation format * BGPSpeaker: Unify documentation format * BGPSpeaker: Improve EVPN Redundancy Mode validation * bgp: Enable to configure default local preference * packet/zebra: Support IP\_ROUTE message from Zebra * lib/hub: Workaround for issue of eventlet v4.13 ----- * Ryu 4.13 * nicira\_ext: Constants for IP fragment matching * bgp/info\_base: Refactor has\_nexthop() method * bgp/peer: Fix invalid NEXT\_HOP in UPDATE message * ofctl\_v1\_5: Fix lack of arguments for modify role API * ofctl\_rest: Add get role API * ofctl: Fix type of fields of DescStat * utils/test\_bgp: Add unit tests for Flow Specification * core\_managers/test\_table\_manager: Add unit tests for Flow Specification * test\_bgpspeaker: Add unit tests for Flow Specification * library\_packet\_ref: Add description of action for Flow Specification * BGPSpeaker: Support Flow Specification update messages * BGPSpeaker/SSH: Supports display of Flow Specification RIB * BGPSpeaker/info\_base: Add tables for Flow Specification * packet/bgp: Implement the utility of Flow Specification for BGPSpeaker * packet/bgp: Fix subtype for Traffic Filtering Actions of Flow Specification * packet/bgp: Unify variable names for Flow Specification * packet/bgp: Add the address converter for Flow Specification * packet/bgp: Fix data structure for VPNv4 Flow Specification * library\_packet\_ref:Add bgp reference for Flow Specification * test\_bgp: Add test cases for user interface of Flow Specification * packet/bgp: Implement user interface of Flow Specification v4.12 ----- * Ryu 4.12 * hub.StreamServer: Ommit validation for IPv4 address * wsgi: Change default wsgi listen host to "0.0.0.0" * zebra: Add sample application for Zebra server service * zebra: Implement Server APIs for Zebra protocol service * zebra: Implement database for Zebra protocol service * tools/optional-requires: SQLAlchemy for Zebra service * lib/netdevice: Constants defined in netdevice(7) * controller: Change default OPF listen host to "0.0.0.0" * hub: Enable StreamServer to listen Unix domain socket * zebra: Add sample application for Zebra client service * Implement Zebra protocol client service * bgp/utils/bgp: Use lib/ip for Python 3 compatibility * BGPSpeaker: Use isinstance(\*, bool) for boolean check * BGPSpeaker: Support Route Reflector features [RFC4456] * packet/zebra: Enable to specify "prefix" arg in str * lib/ip: Add wrapper for netaddr.valid\_ipv4/6 * allow\_local\_as\_in\_count : allow local ASN in AS patch, e.g. "rd auto/route-target both auto" * BGPSpeaker: Advertise VNI on EVPN Multicast Ethernet-Tag * BGPSpeaker: Allow empty IP Address in EVPN advertisement * RyuBGPSpeaker: Enable to notify BGP events * ofctl\_v1\_\*: Use utility functions of ofctl\_utils * ofctl\_v1\_\*: Use str\_to\_int instead of builtin int * test\_bgp: Add test cases for Flow Specification * packet/bgp: Support Flow Specification * pakcket/bgp: pylint * BGPSpeaker: Support to advertise Type 1, 2 Route Target v4.11 ----- * Ryu 4.11 * utils: Re-implement parse\_requirements * docker\_base.py: fix an ip option of "docker network connect" * library\_packet\_ref: Add doc for Zebra packet library * test\_zebra: Unit tests for Zebra packet library * packet/zebra: Add Zebra protocol parser * bgp\_scenario\_test: Clean previous builds before installing * sync ryu.services.protocols.ovsdb.client.Idl code with ovs lib * packet lib: adding DHCPv6 support * doc: library\_packet\_ref: Add reference of openflow * test\_openflow: Add unit tests for OpenFlow packet library * packet lib: Add packet library of OpenFlow v4.10 ----- * Ryu 4.10 * library\_packet\_ref: Update dhcp reference method * test\_dhcp: Extend unit test for fragmented options * packet/dhcp: Revert b'str' conversion * packet/dhcp: Support fragmented options * BGPSpeaker/net\_ctrl: Support multiple RPC sessions * BGPSpeaker/base: Stop child activity by name * BGPSpeaker/net\_ctrl: Move \_send\_\*\_response() function * BGPSpeaker/net\_ctrl: Close RPC session when disconnected * BGPSpeaker/net\_ctrl: Pylint and fixes of typos * rpc\_cli: Avoid to use eval() * rpc\_cli: Close peer connections when exiting prompt * rpc\_cli: Enable to execute a single command * ryu/app: Use Request/Response wrappers in REST Apps * wsgi: Wrapper classes of Request/Response in WebOb * library\_bgp\_speaker\_ref: Fix unexpected unindent * optional-requires: Specify lxml version for OpenStack * ryu-client: Remove client for OpenStack plugin/agent * doc: Deprecate OpenStack plugin ref * test\_geneve: Add unit tests for Geneve * packet lib: Add packet library of Geneve * test\_gre: Add unit tests for NVGRE * packet/gre: Support NVGRE extension * doc: library\_packet\_ref: Update references * rest\_router: Fix ARP THA in reply message * install\_docker\_test\_pkg: Remove unnecessary pip pacakges * tox: Move dependencies installation to .travis.yml * bgp\_scenario\_test: Switch Python version * test\_requirements: Test cases for checking requirements * tox: Test ryu-manager without additional requirements * pip: Add doc requirements for convenience * library\_bgp\_speaker\_ref: Fix unexpected indentation * doc: Add MRT file library reference * test\_mrtlib: Add unit tests for MRT paser * mrtlib: Add parser for MRT format [RFC6396] * packet/ospf: Reduce Pylint warnings * type\_desc: Define TypeDisp class for re-usability * bgp\_scenario\_test/bgp: Pylint * bgp\_scenario\_test/common: Pylint * Delete an unnecessary function * Get some debug information * Add DHCP options constants to DHCP lib * lib/ofctl\_v\_\*: Enable to filter flow stats by priority * packet/bgp: Fix default of esi for IP Prefix route * BGPSpeaker: ESI to be optional arg in MAC/IP Adv route * packet/bgp: Support multiple next\_hop in BGPPathAttributeMpReachNLRI * packet/bgp: Unpack mpls\_label in BGPPathAttributePmsiTunnel * stringify: Add optional attributes list to be displayed * packet/bgp: Support multiple BGP messages in a packet * BGPSpeaker: Support Ethernet A-D Route and Ethernet Segment Route * packet/bgp: Fix the ESI Label Extended Community to use mpls\_label v4.9 ---- * Ryu 4.9 * scenario test: Fix the wrong retry check in command execution * Enable to run a scenario test with a specific python version * rest\_firewall: Compare reserved port in str representation * test\_vsctl: Use osrg/ryu-book image as Mininet container * test\_vsctl: Wait for loading OVS kernel module * integrated/bgp: Use Ubuntu:16.04 for base image * docker\_base: Update base image to Ubuntu:16.04 * BGPSpeaker: Confirm SSH feature to be optional * docker\_base: Add missing requirements for test-requires * README: Use pip to resolve dependencies * pip: Separate test-requires * RPC: Specify encoding to msgpack.Packer/Unpacker * test\_rpc: Use numbers.Integral instead of long type * wsgi: Avoid using inspect.getargspec * wsgi: Reduce pylint warnings * wsgi: Use six.text\_type instead of unicode * contrib: Revert module path to ryu.contrib * protocols/bgp/base: Add missing \_\_next\_\_ method * BGPSpeaker: Support to advertise EVPN IP Prefix route * packet/bgp: Support for IP Prefix Route encoding * packet/bgp: Fix the EvpnNLRI to use the ryu.lib.packet.vxlan * packet/bgp: Fix the EvpnNLRI to use the ryu.lib.packet.mpls * packet/bgp: Fix the EvpnNLRI to use the ryu.lib.ip * BGPSpeaker: Enable to set capability for IPv6 * test\_bgp: Add test cases for IPv6 and VPNv6 routes * test\_bgp: Enable to check parsed BGP message * packet/bgp: Refactor MP\_REACH\_NLRI and MP\_UNREACH\_NLRI * lib/ip: Add method to convert IPv4/IPv6 to int * test\_bgp: Uncomment out test case for UPDATE * packet/bgp: Enable Extended Length flags if specified * pip: Move tinyrpc to pip-requires * Ryu 4.8 * contrib/tinyrpc: Remove embedded tinyrpc, use upstream * contrib/ncclient: Remove embedded ncclient, use upstream * ut/ovs: Add UT using Docker for ryu.lib.ovs * BGPSpeaker: Support to advertise PMSI Tunnel Attribute * packet/bgp: Add PMSI Tunnel Attribute * packet/vxlan: Add method to convert the format of vni * packet/mpls: Add method to convert the format of label * lib/ip: Add method to convert the format of Ipv4 or Ipv6 * Enable to run a scnario test for ryu bgp on travis * Add scripts which install a dependency package * Add bgp scenario tests * Add bgp scenario tests tool * bgp/application: Re-implement base BGP application * flags: Add CLI options for BGP application * BGPSpeaker: Enable to specify settings for SSH CLI * bgp/operator/ssh: Enable to quit gracefully * bgp/operator/ssh: Reduce pylint warnings * BGPSpeaker: Use dictConfig in the standard library * utils: Backward compatibility for 'imp.load\_source' * Log OFPErrorMsg.data as ascii when type is OFPET\_HELLO\_FAILED * ovs/vsctl: Fix API for parsing column/key/value set * ovs/vsctl: Add missing Controller commands in OVS v2.6.0 * ovs/vsctl: Add missing Port commands in OVS v2.6.0 * ovs/vsctl: Add missing Interface commands in OVS v2.6.0 * ovs/vsctl: Add missing Bridge commands in OVS v2.6.0 * ovs/vsctl: Sort out commands order * ovs/bridge: Add APIs for missing Database commands * ovs: Add API corresponding to ovs-vsctl remove command * ovs: Add API corresponding to ovs-vsctl add command * ovs: Add API corresponding to ovs-vsctl list command * ovs: Add API corresponding to ovs-vsctl add-bond command * ovs/vsctl: Update command list with OVS v2.6.0 * ovs/vsctl: Avoid applying next() to non-iterator object * ovs/vsctl: Add missing required argument for find\_vlan\_bridge * ovs: Reduce pylint warnings * ovs: Revert ovs module path * ovs/vsctl: Fix VSCtlCommand to inherit StringifyMixin * ovs/vswitch\_idl: Update OVSDB schema with v7.14.0 * ovs/vsctl: Change log level of redundant messages * rest\_router: Fix conversion of Packet Library to dict * dpset: Fix iteration error when disconnecting switches * test\_parser: Add an truncate packet test * test\_parser: Enable tests for truncated packets * ofproto\_v1\_3\_parser: Raise OFPTruncatedMessage exception on truncated messages * ofproto/nicira\_ext: Add missing NXMs in OVS v2.6.0 * ryu/lib/ofctl\_v1\_3: port name decoding fix * BGPSpeaker: Enhance APIs for operator.show v4.7 ---- * Ryu 4.7 * BGPSpeaker: Fix to enable to notify peer down * use old cryptography version * packet: Avoid parsing an empty buffer * pip-requires: Add ovs>=2.6.0 * doc: Add API reference for REST EVPN switch * app: Add sample application for REST EVPN switch * app: Integrate aplication of Ryu-book * ovs/bridge: Enable to request tunnel port number * ovs/bridge: Add utility method to create VXLAN port * ovs/bridge: Make local\_ip to optional field for tunnel * ovs/vsctl: Catch the default tag type in Port Table * stplib: Fix to store current OFPPort status * stplib: Fix to compare MAC address and Bridge ID * BGPSpeaker/api/operator: Simplify registration decorator * BGPSpeaker: Fix typos * ofproto/ofproto\_v1\_5\_parser: OFPMultipartReply malformed message offset fix * tests/switch: fix bug in \_diff\_packets function * Add Nicira extension vlan\_tci field * BGPSpeaker: Shutdown BGPSpeaker gracefully * BGPSpeaker: Enable to get path from EventPrefix * BGPSpeaker/vrf: Handle non MPLS labled NLRI * BGPSpeaker: Add EVPN routes from Global to VRF Table * table\_manager: Fix conversion of De Morgan's laws * test\_bgpspeaker: Add UT for advertising VNI for EVPN * BGPSpeaker: Extend to advertise VNI for EVPN routes * BGPSpeaker: Support to advertise Tunnel Encapsulation * packet/bgp: Add BGP Encapsulation Extended Community * doc: specify OFP v1.0 for sample application * add modify role API in ofctl\_rest * lib/ofctl\_v1\_4: correct argument order for OFPFlowMod constructor v4.6 ---- * Ryu 4.6 * Validate OpenFlow message length in header, to prevent controller receive loop DoS * PyInstaller: Enable to build stand-alone executables * handler: Fix for frozen builds * BGPSpeaker: Suppress RD in EVPN VRF on SSH console * doc: Update the API Reference for BGPSpeaker * test\_validation: Add unit tests for validation utilities * BGPSpeaker: Enable validation for optional arguments * BGPSpeaker: Raise exception when validation fails * BGPSpeaker: Improve validation utility methods * BGPSpeaker: Resolve unused argumet 'multi\_exit\_disc' * BGPSpeaker: Reduce Pylint warnings * test\_table\_manager: Add UTs for the Global Table API * table\_manager: Rename internal API for consistency * test\_table\_manager: Add UTs for the VRF Table API * BGPSpeaker: Support VRF Table for Ethernet VPN * test\_bgpspeaker: Add unit test for the API of EVPN * BGPSpeaker: Support Ethernet VPN update messages * packet/bgp: Fix to serialize BGPNotification on Python3 * BGPSpeaker/info\_base: Add comparison methods for Python3 * BGPSpeaker: Support Python3 on SSH console * test\_bgp: Add unit tests for Ethernet VPN * packet/bgp: Support MPLS-Based Ethernet VPN (RFC7432) * packet/bgp: Enable to parse the entire packet data * tests: Add tests for specifying Packet library for OFPPacketOut.data * lib/packet: Support the Json format data * ofproto: Enable to specify packet library for OFPPacketOut.data * lib: Reduce Pylint warnings * stringify: Fix to utilise six.moves.builtins * ofctl\_nicira\_ext: Fix not enough arguments for format string * ofctl\_nicira\_ext: Resolve not initialized values v4.5 ---- * Ryu 4.5 * Ensure that send() and send\_msg() in controller return status to calling applications * Clean up stale Datapath objects in the ofctl\_service application * packet lib: Add packet library of GRE * ofproto/nx\_actions: Update argument of NXActionCT * ofproto/nx\_actions: Revert API of NXAction * manager: Except KeyboardInterrupt to suppress traceback * stplib: Handle the port state not changed events * stplib: Adopt to Python3 * rest\_qos: Fix to handle the case without QoS action * packet: support relayed DHCP packet * Fix: LLDP.OrganizationallySpecific not ignoring info field * test\_parser: Add test data for some NXAction * ofproto/nx\_actions: Support some NXAction * ofproto/nx\_actions: Add comment for Ryu documents * test\_parser: Add test data for missing NXAction * ofproto/nx\_actions: Support missing NXAction * ofproto/nx\_actions: Update arguments to be compatible with ovs-ofctl * test\_parser: Add test data for NXAction used only in OpenFlow1.0 * ofproto/nx\_actions: Add NXAction used only in OpenFlow1.0 * test\_packet: Avoid to use array.array as input binary * packet: Fix minimum ethernet frame length * test\_peer: Unit test for peer.py of BGPSpeaker * BGPSpeaker: Support Four-Octet AS number * packet/bgp: Support Four-Octet AGGREGATOR Path Attribute * BGPSpeaker: Fix capability check when MP-BGP not supported * fix of13 VLAN\_PCP test case v4.4 ---- * Ryu 4.4 * topology: ignore cfm packets on packet in * topology: pep8 fixes * ofproto: Fix example of OFPSetAsync message * Update the readthedoc URL * lib/ofctl\_utils: Log the datapath sent to * Avoid parallel executions of AppManager.close() * python3: Use six.add\_metaclass for metaclass * python3: Use six.string\_types instead of basestring * python3: Improve Table class in services.protocols.bgp.info\_base.base * python 3: Replace deprecated logging.warn with logging.warning * Python3: Explicit string type encoding * BGPSpeaker: Remove unused utility modules * BGPSpeaker: Fix unresolved references in Python3 * BGPSpeaker: Support Per-Peer AS * packet\_data\_generator3/gen: Add some NXAction packets * ofproto/nicira\_ext: Move the variable and method for Nicira Extension * tests/test\_parser\_v10: Update test parameter * ofproto/nx\_actions: Update arguments to be compatible with ovs-ofctl * ofproto/ofproto\_v1\_0: Delete some NX actions * ofproto/nx\_actions: Porting the NX Action definition of ofproto\_v1\_0\_parser * ofproto/nx\_actions: Update serialize and parse * Extend OVSDB api * Fix RuntimeError of lldp\_packet\_in\_handler v4.3 ---- * Ryu 4.3 * nx\_match: add tun\_ipv6\_{src,dst} * packet\_data\_generator3: Clear xid into zero * ofproto: Implement OFPFlowMod parser * doc: Add PCAP file library reference * test\_pcaplib: Add unit tests for pcaplib * pcaplib: Reduce Pylint warnings * test\_bgp: Enable to test parser with pcap file * packet/bgp: Reduce Pylint warnings * bgp: fix typos * test-requires: Update to use the latest Pylint * test-requires: Add tinyrpc for RPC controller in wsgi * Make ovs optional * packet: Add VXLAN parser * packet/bgp: Add missing \_\_hash\_\_ function * controller: Add backward compatibility for 6633 port * Update default OpenFlow port to 6653 * BGP: Make RouteFamily class hashable * doc: Remove warnings when building doc pages * doc: Move Ryu App API doc into each source code * network: Fix unresolved reference * doc: Add description for EventOFPPortStateChange * controller: Implement EventOFPPortStateChange * doc/app/ofctl\_rest: Remove unused match field * doc/source/conf: Set the False to SmartyPants * doc/app/ofctl\_rest: Add a description for openflow1.5 * doc/app/ofctl\_rest: Update the optional parameter of the message * doc/app/ofctl\_rest: Add pbb\_uca to match field * doc/app/ofctl\_rest: Update the description method of Example * doc/app/ofctl\_rest: Add Openflow version * Bump version requirement for oslo.config, given usage of min parameter to IntOpt * tox: Integrate Coveralls.io * tox: Add Python 3.5 * test\_ofctl: Add test cases for new Actions of of15 * test\_ofctl\_rest: Add unit tests for ofctl\_rest * test\_ofctl: Add test cases for OpenFlow 1.5 * ofctl\_rest: Support OpenFlow 1.5 * lib/ofctl: Support OpenFlow 1.5 * ofproto\_v1\_5\_parser: Fix serialized length of OFPActionCopyField * ofctl\_v1\_4: Port some improvements from ofctl\_v1\_3 * ofctl\_v1\_4: Rename to get\_queue\_desc for uniformity * ofctl\_v1\_4: Support request parameters * ofctl\_utils: Enhance user value conversion * REST Apps: Adopt to Python 3 * topology: Adopt to Python 3 * ofctl\_rest: Enable to omit port\_no and queue\_id * ofctl\_rest: Adopt decorator to simplify * test\_ofctl: Test cases for omitting port\_no in get\_queue\_config * lib/ofctl\_v1\_[23]: Unify the arguments order * ofctl\_utils: Confirm binary type data in send\_experimenter * test\_import\_module: Update test cases * utils: fix for temporarily storing the value of sys.path v4.2 ---- * Ryu 4.2 * Enable filtering the OVSDB schema tables/columns * tox: Upgrade PyPy version to 2.6 * Eventlet throws a subclass of IOError when an SSL read timeout occurs. Ensure that the read loop continues in this case * Added support for the tcp flags nicira extension * Removes unnecessary Windows requirements v4.1 ---- * Ryu 4.1 * doc/app/ofctl\_rest: Update example of set-field action * doc/app/ofctl\_rest: Update the code-block language of response data * doc/app/ofctl\_rest: Update the ryu.app.ofctl\_rest version from openflow1.3 to openflow1.4 * lib/ofctl\_v1\_[234]: Consolidate send\_experimenter * lib/ofctl\_v1\_[34]: Consolidate common functions * lib/ofctl\_v1\_3: Support nicira extensions * lib/ofctl\_v1\_3: Allow caller to disable conversion * lib/ofctl\_\*: Consolidate \`send\_stats\_requst\` * lib/ofctl\_\*: Log the xid of messages being sent * unit/lib/test\_ofctl: Fix Flake8 [e731] * ofproto/ofproto\_v1\_4\_parser: Flake8 Fixes * ofproto/ofproto\_v1\_3\_parser: Flake8 Fixes * ofproto/ofproto\_v1\_2\_parser: Flake8 Fixes * ofproto/ofproto\_v1\_0\_parser: Flake8 Fixes * ofproto/nx\_actions: Flake8 Fixes * lib/ofctl\_v1\_4: Flake8 Fixes * lib/ofctl\_v1\_3: Flake8 Fixes * lib/ofctl\_v1\_2: Flake8 Fixes * lib/ofctl\_v1\_0: Flake8 Fixes * pip-requires: force ovs>=2.6.0dev0 for everyone * packet/tcp: Add TCP Control Flags * lib/ofctl\_utils: Add a deprecated value * lib/ofctl\_v1\_4: Fix json format of queue\_desc\_reply * lib/ofctl\_v1\_4: Fix an omission in OFPTFPT\_\* * lib/ofctl\_v1\_4: Fix a small bug in mod\_group\_entry() * lib/ofctl\_v1\_0: Fix a small bug in get\_desc\_stats() and get\_aggregate\_flow\_stats() * protocols/ovsdb: Add api for systemd\_id lookup * protocols/ovsdb: Add bulk read support * protocols/ovsdb: Fix shadow variables * protocols/ovsdb: Update wrapped Idl() * protocols/ovsdb: Remove patched ovs.vlog * test\_ofctl: Add test cases * doc/app/ofctl\_rest: Add the attribute for message * ofctl\_rest: Support port number and queue id in get\_queue\_stats() * ofctl\_rest: Support meter id in get\_meter\_config() * ofctl\_rest: Support meter id in get\_meter\_stats() * ofctl\_rest: Support group id in get\_group\_stats() * ofctl\_rest: Support port number in get\_port\_stats() * hub: Preserve functions return value * protocols/ovsdb: Improve non-blocking performance * contrib/ovs: Remove embeded ovs, use upstream * protocols/ovsdb: Fix variable name issue * protocols/ovsdb: Allow setting backoff settings * Cleanups to controller.py * protocols/ovsdb: Allow setting probe interval * protocols/ovsdb: Fix shadow loop variables [F402] * protocols/bgp: PEP-8 and Python3 fixes * packet/bgp: PEP-8 and Python3 fixes * doc/app/ofctl\_rest: Update description for action type of experimenter * ofctl\_v1\_3: Add support for using action experimenter * ofproto\_v1\_3: Add unit test cases for action experimenter * ofproto\_v1\_5: Reduce an unnecessary code * ofproto\_v1\_5: Add test case for OFPExperimenter v4.0 ---- * Ryu 4.0 * Typo fixes * of: add echo request support * make socket-timeout config file option * Clean up socket close() handling * Wrap handler calls in the event loop in a try/except and log exceptions * Use a slightly lighter Queue implementation * Protect events queue with a semaphore * .pylintrc: Remove deprecated output format feature * run\_mininet: Specify the controller port * run\_mininet: Adopt utility methods of Mininet class * run\_mininet: Support protocols option of ovs-vsctl * ofp\_handler: Handle empty data field in OFPErrorMsg * lib/ofctl: add test files for ofctl\_v14 * lib/ofctl: add ofctl\_v1\_4 library * app/ofctl\_rest: support OpenFlow1.4 * ofproto: Fixes invalid async config property types * simple\_switch: Separate simple\_switch for beginners * drop python2.6 support * Fix i386 test failures * test\_parser: add an NXActionRegLoad test * packet\_data\_generator3: generate an NXActionRegLoad packet * Implement NXActionRegLoad * test\_parser: Fix ofp\_multipart\_type in OFPFlowStatsRequest * ofproto\_v1\_5\_parser: Add missing field in OFPMeterFeaturesStats * ofproto\_v1\_5\_parser: Fix unresolved structure references * test\_parser: Add missing packet data for OFP15 * tox: Adapt to PyPy interpreter * of12/3/4/5: fix to\_jsondict of OFPActionSetField * protocols/bgp: Log socket creation error v3.30 ----- * Ryu 3.30 * Update conntrack test json and binary packets * test\_parser: add conntrack NAT tests * packet\_data\_generator3: add a couple of conntrack packets * Implement NXActionNAT * rest\_router: Ensure that usage of icmp.dest\_unreach and icmp.TimeExceeded complies with RFC 4884 * packet: Better validate parameters to constructors better icmp * doc: remove obsolete OpenStack info * bgp: Clean up syntax in services/protocols/bgp/operator/views/base.py to avoid SyntaxErrors * Reconnected event additions and cleanups * test: Yet another typo fix * test: ImportError fix, error caused by unordered import Link * topology: Make sure the last IP in the list is the newest IP * Message cleanup in ofproto\_parser * Typo cleanup * Typo fixes in lib/packet/bgp.py * Fix: "AddrFormatError: address '...' is not an EUIv48" * packet/bgp: Gaurd against extra data in the buffer * protocols/ovsdb: Forcably kill the main\_thread * protocols/ovsdb: Handle accept() errors * protocols/ovsdb: Handle disconnects gracefully * test: disable rpc unittest with large file for now * ofproto/NXAction: Fix NXActionUnknown parsing * of14\_parser: unify OFPActionExperimenter implementation * test\_ofctl: Update json representations * test\_ofctl\_utils: Add unit tests for ofctl\_utils.py * lib/ofctl: Add utility library for ofctl\_v1\_\*.py * doc: Add Nicira Extension Structures references * doc: ofproto\_ref: Update supported actions/matches list * packet\_data: regen * test\_parser: Add expected json representations * packet\_data\_generator2: Add some OFP13/15 messages * lib/ofctl\_v1\_\*: Confirm hw\_addr is str in mod\_port\_behavior * test\_ofctl: Compare sent messages in json representation * Remove old link when link updates * fixes for mutable default arguments * Cleanup variable name for clarity * cap oslo.config version only in python2.6 v3.29 ----- * Ryu 3.29 * Generate new datapath event for switch connecting multiple times * Fix handling of state transition to config mode * Clean up for stability patch submitted previously * Ensure to terminate threads where RyuApp.start() gives a thread object * ofctl\_v1/2/3: Some improvements * of14: Add action experimenter to flow stats reply unit test * test\_tcp: Update test cases for tcp option * lib/packet/tcp: Parse TCP Option field * bgp: fix handling unknown and unsupported transitive path * ofp\_handler: Remove sending SET\_CONFIG message * lib/ofctl: Add test cases for ofctl\_v1\_0 * lib/ofctl: Add test cases for ofctl\_v1\_2 * lib/ofctl: Add test cases for ofctl\_v1\_3 * lib/ofctl: Implement unit test for sending messages * lib/ofctl: Rename unit test for action/match * lib/ofctl: Confirm UTF-8 in binary fields * ofproto\_v1\_[23]\_parser: Add default arguments in OFPQueueProp * test\_parser: Add some expected json representations * packet\_data: Regen * packet\_data\_generator: Add ofp\_group\_stats messages for OF1.2 * ofproto\_v1\_[2345]\_parser: Set default length field * avoid oslo.config 3.1.0 and later for python2.6 support * test\_controller: Add unit test for \_recv\_loop() * controller: Split received message buffer * Fix a stability issue relating to switch disconnection/re-connection events v3.28 ----- * Ryu 3.28 * test\_parser: add conntrack tests * packet\_data\_generator3: add a couple of conntrack packets * Implement NXActionCT and related ct\_\* matches * tox: disable wheel cache * python3: implicit relative import was deprecated * python3: itertools.ifilter() doesn't exist * python3: iter#next() doesn't exist * python3: #func\_name is renamed to \_\_name\_\_ * python3: import \_\_future\_\_ for just in case * python3: StandardError doesn't exist * ofctl\_v1\_3: Fix unsuitable error log in mod\_meter\_entry() v3.27 ----- * Ryu 3.27 * bgp: fix of sending "Start-of-RIB" and "End-of-RIB" in Enhanced Route-Refresh * doc/app/ofctl\_rest: Add description for OFPTableStats message * doc/app/ofctl\_rest: Add description for OFPQueueGetConfig message * doc/app/ofctl\_rest: Add description for OFPTableFeaturesStats message * ofctl\_rest: support OFPQueueGetConfig Message * ofctl\_rest: support OFPTableFeaturesStats Message * ofctl\_rest: support OFPTableStats Message * vrrp: fix param of virtual\_ip\_address for rpc\_api * tester: Reduce pylint warnings * tester: Add test cases for OpenFlow1.0 * tester: Support to test OpenFlow1.0 switch * packet\_data: Fix wildcarded match value in OF1.0 * of10: Human readable address field in json Match/Action * Try logging.config.dictConfig before in-tree version * Python3: use int instead of long * Python3: complete previous removal of types usage * Python3: use dict instead of types.DictType * doc: Change Sphinx html\_theme to sphinx\_rtd\_theme * bgp: support of CAP\_ENHANCED\_REFRESH for vpnv4 * tester: Use six.binary\_type for binary data comparison * tester: Enable to sort instructions instance by type * tester: Remove too broad exception handling * tester: Strict string argument encoding in Python3 * tester: Adapt to Python3 dictview * packet\_data: Regen * test\_parser: Add expected json for OFP13/15 Messages * packet\_data\_generator2: Add OFP13/15 Messages * packet\_data\_generator2: Sort by OF1.5 index order * packet\_data\_generator2: Fix to use struct eth\_addr * doc: Add openflow api reference for of1.0 * ofproto\_v1\_0\_parser: Add comments for OF1.0 protocol * doc: Handle ERROR of unexpected indentation * test\_ip: Add tests for IPv4-int conversion * of10: Add \_\_contains\_\_ method into OFPMatch * test\_parser\_v10: Fix wildcards param for unit test * of10: Support human readable MAC/IPv4 address in OFPMatch v3.26 ----- * Ryu 3.26 * switch/tester: Add sleep interval for each test case * ofproto\_v1\_[45]\_parser: Add parser() for OFPRequestForward * remove old Ryu OpenStack plugin stuff * packet: lldp: python3 fix * bgp: support disabling listening socket * bgp: python3 fixes * test\_parser\_ofpmatch: Add tests for Experimenter OXMs * OXM/OXS: Enable to sort Experimenter oxm\_type/oxs\_type in Python3 * test\_parser\_ofpmatch: Add test cases for OF1.4 and OF1.5 * .travis.yml: Suppress the output of unit tests * ofproto: Sort out the NX OXMs definition * ofproto: Refine module import * ofproto\_v1\_[45]\_parser: Remove unused OFPMatchField * doc/ofproto\_v1\_2\_ref: Add description for Port Structures * doc/ofproto\_v1\_3\_ref: Add description for Port Structures * doc/ofproto\_v1\_4\_ref: Add description for Port Structures * doc/ofproto\_v1\_5\_ref: Add description for Port Structures and Controller Status Structure * Examples contain invalid MAC addresses * ofproto\_v1\_0\_parser: Add \_\_getitem\_\_ method into OFPMatch * test\_parser\_v10: Add test case for \_\_getitem\_\_ of OFPMatch * doc/app/ofctl\_rest: Add command examples for WRITE/CLEAR\_ACTIONS * Uncap pbr version * topology: Fixed conditional statement * ofproto\_v1\_5: Add OFPBAC\_BAD\_METER * bgp: enable nexthop\_self for locally generated routes * test\_ofctl: improving readability * test\_ofctl: Add unit test for OFPIT\_[WRITE/CLEAR]\_ACTIONS * ofctl\_v1\_[23]: Add support for OFPIT\_[WRITE/CLEAR]\_ACTIONS * ofp\_handler: Output human readable error msg ev log * ofproto\_parser: Unify str representation of MsgBase * utils: Add binary\_str() method to print binary data * utils: Unify output str format of hex\_array() * doc: Add some JSON examples to openflow api reference for of1.5 * test\_parser: Add expected json outputs for OF1.5 * doc: Add openflow api reference for of1.5 * test\_parser: Add test case for OFP15 table\_features\_reply v3.25 ----- * Ryu 3.25 * packet: dhcp should set \_MIN\_LEN * packet: udp should detect dhcp * ofctl\_v1\_[23]: Fix the output result of get\_flow\_stats() * ofctl\_v1\_[23]: Convert masked match value into str * packet/igmp: Python 3: truncate IGMP timer fields to integers before packing * doc: ofctl\_rest: Add table of contents * README.rst: add OF 1.5 support * bgp: Added support to indicate the next hop IP address for the BGP module * bgp: add neighbor\_state\_get method * Remove hosts from edge port when link added * ofproto\_v1\_5\_parser: Fix typo in comment * ofproto\_v1\_4\_parser: Fix typo in comment * ofproto\_v1\_3\_parser: Fix typo in comment * ofproto\_v1\_2\_parser: Fix typo in comment * python3: Fix relative imports * doc: Include snort\_integrate page into toctree * Add missing comment to rest\_topology * Add EventHostAdd handler for web socket application * test\_parser: Add test case for OFPQueuePropExperimenter * ofproto\_v1\_3\_parser: Add OFPQueuePropExperimenter support * ofproto\_v1\_3\_parser: Backport OFPTableFeatureProp class * ofproto\_v1\_[45]\_parser: Add missing OFPTFPT\_EXPERIMENTER\_MISS * ofproto\_v1\_3\_parser: Backport OFPPropBase/OFPPropCommonExperimenter4ByteData * test\_parser: Fix some expected json representations * ofproto\_v1\_[45]\_parser: Fix to parse experimenter\_data * ofproto\_v1\_[345]: Define common structure for experimenter property * ofproto\_v1\_4\_parser: Move utility method to OFPPropBase * test\_parser: Add test case for OFP15 packet\_out * ofproto\_v1\_5\_parser: Enable setting OFPMatch in OFPPacketOut message * test\_parser: Add test case for OFP15 controller connection status messages * test\_parser: Add implemented type for OFPT\_CONTROLLER\_STATUS * ofproto\_v1\_5\_parser: Add OFPControllerStatusStats support * ofproto\_v1\_5\_parser: Add OFPControllerStatus support * ofproto\_v1\_5\_parser: Add OFPControllerStatusProp support * ofproto\_v1\_5\_parser: Enable OFPRoleRequest to set short\_id * Add register\_service to topology events * Add EventHostAdd event * Allow specifing match fields in ClsRule.\_\_init\_\_ * Sprinkle StringifyMixin * PEP8 Line length * Remove unused import * Stop old app on reconnection * Use system\_id from event * Handle disconnection during discover\_system\_id * test\_parser: Add tests generated by packet\_data\_generator3 * Introduce packet\_data\_generator3 * test\_parser: prepare for tests with packet\_data\_generator3 * Add register0 for nicira extensions * packet\_data\_generator2: Add Makefile for GNU environment * use idle timeout in ofctl to avoid incomplete querying * Python 3: Fix search for bound methods * Python 3: Filter out None values returned by getmodule(...) to fix the stack inspection * ofproto\_v1\_5\_parser: Add OFPBundleFeaturesStats support * ofproto\_v1\_5\_parser: Support new OFPTableFeaturesStats structure * ofproto\_v1\_5\_parser: Add OFPBundlePropTime support * test\_parser: Add test case for OFP15 bundle\_features request/reply * test\_parser: Add test case for OFP15 table\_features\_request * ofproto\_v1\_5\_parser: Add OFPBundleFeaturesProp support * ofproto\_v1\_5\_parser: Add new table feature properties support * test\_parser: Regen OFP15 port\_desc request packet * test\_parser: Regen OFP15 group\_desc request packet * test\_parser: Add test case for OXS related messages in OF1.5 * ofproto\_v1\_5\_parser: Add OFPFlowDesc support * ofproto\_v1\_5\_parser: Fix OFPFlowStats/OFPAggregateStats to use OFPStats * ofproto\_v1\_5\_parser: Fix OFPFlowRemoved to use OFPStats * ofproto\_v1\_5\_parser: Use b'str' for binary data * ofproto\_v1\_5\_parser: Use six.binary\_type instead of buffer * test\_parser: Add test case for OFP15 group\_desc reply * test\_parser: Add expected json representations of OF1.5 GroupMod * packet\_data: Regen * packet\_data\_generator2: Generate OF1.5 GroupMod packets * ofproto\_v1\_5\_parser: Support OF1.5 OFPGroupDescStats structure * ofproto\_v1\_[345]: Fix backward compatibility for OFPGroupDescStats * ofproto\_v1\_5\_parser: Support OF1.5 OFPGroupMod structure * ofproto\_v1\_5\_parser: Add OFPGroupProp support * ofproto\_v1\_5\_parser: Add OFPGroupBucketProp support * ofproto\_v1\_5: Fix a typo v3.24 ----- * Ryu 3.24 * ospf: fix serialize() to work with packet.Packet() * of1.5: Multipart METER\_CONFIG was renamed to METER\_DESC * of1.5: Meter statistics field flow\_count was renamed to ref\_count * test\_parser: Add test case for OFP15 port\_desc request * of1.5: port statistics and port descriptions use a common request format * test\_parser: Add test case for OFP15 group\_desc request * of1.5: group statistics and group descriptions use a common request format * test\_parser: Add test case for OFP15 queue\_desc request * of1.5: queue statistics and queue descriptions use a common request format * ofproto\_v1\_[2345]\_parser: Add items method to OFPMatch/OFPStats * Add OVSDB manager protocol application * OF: send fin/ack in response to fin packet * packet\_data\_generator2: Adopt upgrade of ofputil\_packet\_in * test\_ofctl: Add some test cases of OF1.0 actions * ofctl\_v1\_0: fix output string of ENQUEUE * OXM/OXS: Initialize exp\_type with oxm\_field * ofproto\_v1\_5\_parser: Add OFPPortDescPropRecirculate class * ofproto\_v1\_5\_parser: Add OFPPortDescPropOxm class * ofproto\_v1\_5\_parser: Move utility method to OFPPropBase * ofproto\_v1\_[45]\_parser: Sort out the inheritance relation of OFP\*Prop * ofproto\_v1\_[45]\_parser: Correct example of OFPPortMod * ofproto\_v1\_[45]\_parser: Rename Port Description Properties class * ofproto\_v1\_5\_parser: Enable setting mask in OFPActionSetField * ofproto\_v1\_5\_parser: Add OFPActionCopyField support * ofproto\_v1\_5\_parser: Add OFPInstructionStatTrigger support * add host restful api * add host discovery functions * ignore lldp packet to avoid wrong links * bgp: fix withdrawn label handling again * ignore lldp packet to avoid wrong links * declare python3 support * bgp: fix bug of not taking care of withdrawn label * Add registers 1-7 as nicira extensions for matching and setting * Implement NX Resubmit-table action * travis: run tests with python3 * python3: Convert chr to six.int2byte * Fix test packet data generation * Use the asciilist type for lists of ip addresses * python3: Misc str related fixups * python3: Round time() return value to microseconds * python3: Adapt to iterator change * python3: Use b'str' for binary data * python3: Convert str to six.binary\_type * packet\_utils: Remove checksum() side-effect * python3: Use {encode, decode}('ascii') for text packet data * python3: Partially revert b'str' conversion * python3: Use six.indexbytes for extracting single byte of data * python3: Store AsciiStringType class data as str v3.23 ----- * Ryu 3.23 * python3: fix bgp reggression * python3: Misc. python3 fix * python3: Make stringify test functional * python3: Make ryu.utils.hex\_array functional * python3: Use b'str' for binary data * python3: Use six.binary\_type for I/O of ryu.lib.rpc * python3: Use 'str' not b'str' for user test data * python3: Restore original str()s where six.binary\_type shouldn't be used * python3: fix bgp reggression * Avoid string exception raising * packet.ospf: Avoid parameter 'cls' reassignment * Remove duplicated definitions * test\_ofctl: Fix dynamic addition of test cases * test\_ofctl: Some improvement * test\_ofctl: Remove unused codes * test\_ofctl: Add unit test for ofctl\_v1\_0 * python3: Don't use str.encode * python3: Remove harmful AsciiStringType.{encode, decode} * python3: Decode return value of b64encode into str * python3: More b'str' conversion * python3: Calculate the number of ports as integer * python3: encode from string to bytes for s type of pack format * python3: Modify a literal argument in a bytes method call to bytes type * Add support for pkt\_mark nicira ext (NXM\_NX\_PKT\_MARK) * python3: Continuous patch to replace buffer to six.binary\_type * python3: Continuous patch to replace str to six.binary\_type * python3: Convert str to six.binary\_type * python3: More b'str' conversion * python3: Apply "2to3 -f map" * python3: Convert str to six.binary\_type where appropriate * python3: Use six.binary\_type instead of str for binary data * python3: adapt @wsgi.route() * python3: Use items instead of iteritems * python3: Use zip instead of itertools.izip * python3: Avoid applying ord() to integers * python3: Use formencode instead of xml\_compare * python3: Open packet data with binary mode * python3: Fix dynamically added test methods * python3: Use b'str' for binary literals * python3: Remove use of buffer() * python3: Use six.text\_type instead of unicode * eventlet has already supported WebSocket(RFC6455) in stable releases (>= 0.15) * python3: Use integer division where appropriate * python3: Fix import issues with python2 * python3: Use bytes type for binary data * python3: Adapt to new iterator names * python3: Fix starndard library imports * ofproto: Fix ImportError on python3 * tox.ini: Be able to run python3 unit tests * test\_parser\_ofpstats: Add unit test for OFPStats class * ofproto\_v1\_5\_parser: Add OPFStats parser for Flow Stats Structures * test\_oxs: Add unit test for oxs\_fields.py * oxs\_fields: Add OXS class support * Clean up server socket and thread when shutting down * Fixed the function name of out filter * ofctl\_rest: fix error of delete\_flow\_entry * ofctl\_v1\_0: fix output of get\_flow\_stats v3.22 ----- * Ryu 3.22 * test\_parser: Add some expected json representations * packet\_data: Regen * packet\_data\_generator2: Generate conjunction packets * Implement NXActionConjunction and conj\_id match for OF1.3 and OF1.5 * Add missing ryu.contrib.update\_module\_path calls * Cap pbr version * packet\_data: Regen * packet\_generator2: learn action * test\_parser: Add some expected json representations * ofproto\_v1\_5: Add legacy NXM aliases for some OXMs * ofproto\_v1\_3: Add legacy NXM aliases for some OXMs * Pull nx\_actions for OpenFlow 1.5 * \_NXFlowSpec: Add type annotation for stringify stuff * nx\_actions: Modify \_\_module\_\_ for generated classes for stringify stuff * NXActionRegMove: Add type annotation for stringify stuff * Adapt to namespace-less oslo * test\_lib: Remove a questional exception re-raising * Be able to parse classes that start with "NX" v3.21 ----- * Ryu 3.21 * Suppress warning * sw test tool: Fix typo * tests: Remove some unnecessary shebangs * packet\_data: Regen * test\_parser: Add expected json representations * packet\_data\_generator2: Generate OF1.3 packets where appropriate * packet\_data\_generator2: Make the list of OF versions per messages * tests: Fix dynamically added test cases * tests: Remove unnecessary shebang and x bit from test\_lib.py * test\_parser\_compat: Fix indent * test\_parser: Try to detect test discovery failures and bail out loudly * MANIFEST.in: Exclude packet\_data\_generator2 * tox.ini: Pass posargs to make "tox -e py27 path.to.test" work * bgpspeaker: Import paramiko only when necessary * README.rst: Correct component which needs paramiko * disable padding check for llc packets * ryu.contrib: Be explicit about sys.path modification * Revert recent py3 changes under ryu/contrib * str to bytes * 'reload' has been renamed to 'imp.reload' in Python 3 * Integers between '/' operation become float in Python 3 * 'string.upper' and 'string.lower' has been deprecated in Python 3 * 'map' returns iterator like object with Python 3 * 'izip' has been deprecated in Python 3 * 'reduce' has been renamed to 'functools.reduce' in Python 3 * 'long' has been deprecated in Python 3 * 'reduce' has been renamed to 'functools.reduce' in Python 3 * 'sys.maxint' has been deprecated in Python 3 * 'itertools.izip()' has been deprecated in Python 3 * 'ConfigParser' is renamed to 'configparser' in Python 3 * '\_\_div\_\_' is renamed to '\_\_truediv\_\_' in Python 3 * app\_manager: Clean up apps harder * Fix ImportError(s) with Python3 * Use range() instead of xrange() * Reduce pep8 warnings with Python3 * Treatment was not enough * '+' operator can't combine no-string object * Avoid invalid dpid and simplify the checking of ofctl version * packet\_data\_generator2: Fix message length field * test\_parser: Add an expected result (bundle\_add) * packet\_data: regen (bundle\_add) * packet\_data\_generator2: Add bundle\_add * test\_parser: Add an expected result (flow\_mod) * packet\_data: regen (flow\_mod) * packet\_data\_generator2: clear XID field * packet\_data\_generator2: Add flow\_mod * test\_parser: Add a expected result (bundle\_ctrl) * packet\_data: regen (bundle\_ctrl) * packet\_data\_generator2: Add bundle\_ctrl * of15: Implement OFPBundleCtrlMsg parser * packet\_data\_generator2: README * Show warning when Datapath#ports is read * Syntax level compatibility with Python 3 v3.20 ----- * Ryu 3.20 * rest\_firewall: Prevent adding fields which is unrelated to match * ofctl\_v1\_[23]: Ignore unkown match fields * Revert "pip-requires: Remove comments" * test\_parser: Enable OpenFlow 1.5 tests * test\_parser: Add a expected result * packet\_data: regen * packet\_data\_generator2: another packet data generator using libofproto * pip-requires: Remove comments * lib.ovs.vsctl: Fix a crash * bmp: fix bug of logging format in bmpstation * ofctl\_rest: Reduce pylint warnings * doc/app/ofctl\_rest: Fix example of ipv6\_exthdr match field * test\_ofctl: Add unit test for masked ipv6\_exthdr match field * ofctl\_v1\_3: Support masked ipv6\_exthdr match field * requirements: Drop some optional requirements * README.rst: Replace a reference to ryu-plugin with ofagent * pip-requires: Add comments to say what's required by what * UT: Remove unused imports * bgp: Remove an unused import * yet more logging call cleanups * ryu.app.ofctl: Handle a race with connection close * silence pep8 warnings to the previous commit * Reduce logging overhead by cleaning up logging calls v3.19 ----- * Ryu 3.19 * snortlib: Remove disabled flag MSG\_WAITALL * ryu.cfg: Use a dedicated ConfigOpt instance * snortlib: Fix nw\_sock handling * of: Prevent \_\_str\_\_() methods from raising exceptions * bgp: Prevent \_\_str\_\_() methods from raising exceptions * packet lib: dhcp: Fix to calculate Hardware address length * travis-ci: use container-based infrastructure for faster testings * Move msg\_pack\_into from ofproto to lib * tox.ini: Disable pep8 W503 for now * bgp/bmp: bug fix. remove redundant construction of path attributes * Move the definitions of ether types and inet protocols to lib.packet * ofproto: Fix invalid error code OFPQCFC\_EPERM -> OFPSCFC\_EPERM (EXT-208) * ofproto: Openflow 1.5 support (work-in-progress) * ignore some pep8 errors for now * test\_oxm: Add tests for EXT-109 and EXT-233 * ofproto\_v1\_3: Implement EXT-109 and EXT-233 * oxm\_fields: Rename ONFExperimenter to OldONFExperimenter * oxm\_fields: Update comment for the new version of EXT-256 * bgp: support of new api for "show neighbor" * bgp: Fixed error in bgp implementation with single peer * bgp: fix bug of Path formatting in "show neighbor" v3.18 ----- * Ryu 3.18 * bgp: bug fix of sending Adj-RIB-Out * ryu-manager: add --enable-debugger option * bgp/cli: fix internel data destruction due to cli show command * bgp: remove unnecessary bgp update construction * bgp: fix bug of NameError: global name 'sent\_route' is not defined * bmpstation: bug fix. stop closing fds which are in use * bgp: don't hold withdrawn routes in adj\_rib\_in * bgp/bmp: send unmodified BGPUpdate to bmp server * Add parsing libpcap and reading/writing PCAP file * nx\_actions: Avoid confusing StringifyMixin * nx\_actions: Implement nx\_action\_learn * test\_nx\_flow\_spec: Add UTs for NX flow\_mod\_spec * nx\_actions: Implement NX flow\_mod\_spec * type\_desc: Separate type conversion classes from oxm\_fields * nx\_actions: Remove redundant initializations * Implement nx\_action\_reg\_move for OpenFlow 1.3 * doc/app/ofctl\_rest: Add description for OFPAggregateStats message * ofctl\_rest: support OFPAggregateStats message * doc/app/ofctl\_rest: Add description for OFPQueueStats message * ofctl\_rest: support OFPQueueStats message * test\_oxm: Add UTs for 64-bit experimenter OXMs * test\_oxm: dedicated UTs for oxm\_fields module * oxm\_fields: Fix 64-bit experimenter OXM support * oxm\_fields: Fix oxm\_length calculation for experimenter OXMs * oxm\_fields: Add header-only variants of serializer/parser * oxm\_fields: Prefix internal functions with \_ for readability * oxm\_fields: Add comments * OF 1.0: Use ofproto\_common.NX\_EXPERIMENTER\_ID instead of NX\_VENDOR\_ID * nicira\_ext: Separate the most of NX definitions from ofproto\_v1\_0 * Cleanup isinstance(foo, (int, long)) * doc/app/ofctl\_rest: Add descriptions for duration\_nsec field * of\_v1\_0: Fixed the flow format logic to set it correctly when registers matches are set * of\_v1\_0: Added support for the NXM\_NX\_TUN\_IPV4\_{SRC & DST}[\_W] fields * ospf: fix wrong OSPF LSA type * bgp: support of understanding assigned mpls-label for prefix\_add in vpnv4 * ofctl\_v1\_0/2/3: Fix unsuitable log level v3.17 ----- * Ryu 3.17 * ospf: add SummaryLSA class * ofctl\_v1\_2, 3: Fix regression of IP arbitrary bitmask support * bgp: bug fix of timestamps of BMPRouteMonitoring in bmp.py * topology/switches: add of1.2+ support for the drop\_packet function * bgp: Fix filter message variable * bgp: support New best path selecting * ofctl\_rest: Fix clear flow entries command * rest\_qos: fix error of additional a qos rule with "priority" * rest\_qos: fix a comment * bgp: support new handler in case of changing BGP session * doc/app/ofctl\_rest: Add description for capabilities field in OPFMeterFeatures * ofctl\_v1\_3: Fix to parse capabilities field in OPFMeterFeatures * ofproto\_v1\_[234]\_parser: Add notes for vlan\_vid match field v3.16 ----- * Ryu 3.16 * packet lib: don't crash with bogus ospf packet * bmp: bug fix of peer bgp ID in BMP Message * doc/app/ofctl\_rest: Add command examples for OFPVID\_NONE/PRESENT * ofctl\_v1\_2/3: Fully support the match combinations for VLAN ID * fix security problem of some RESTful apps * Workaround of os.path.samefile * test\_ofctl: Modify to use new match api and field parser * ofctl\_v1\_/2/3: Modify to\_match() to use new match api * ofctl\_v1\_/2/3: Modify match\_to\_str() to use new match field parser * bgp: bug fix of handling nexthop for eBGP peering * test\_utils: Add unit test for ryu.utils * utils: Fix bytearray conversion * test\_ofctl\_v1\_2/3: Add a test case of masked metadata * test\_ofctl\_v1\_2/3: Fix some test cases * bgp: bug fix of Multi Exit Discriminator (MED) * ofctl\_rest: fix some mistypes * doc/app/ofctl\_rest: Correct command examples * fix security problem of some RESTful apps * bgp: support connect modes to choose how to connect to the neighbors * bgp: enable to stop a chile thread by specifying its name * bgp: fix lacking import * bgp/cli: show adjacency rib in/out by show neighbor commands * ofctl\_v1\_0: Add remaining actions * doc: Add tables about match and actions structures * bgp: remove uncommon open msg check * bgp: fix \_OptParamCapability parser v3.15 ----- * Ryu 3.15 * simple\_switch\_12: handle non-buffering switch * simple\_switch: handle non-buffering switch * simple\_switch\_13.py: Added ability to use buffer\_id in FlowMod * simple\_switch\_13: Added a logging when running in --verbose for truncated packets * bgp: supporting best\_path\_change\_handler for Vpnv4/6 prefix in BGPSpeaker * rest\_router: fix security problem * packet lib: don't crash with truncated dhcp packet * packet lib: don't crash with corrupted lldp packet * ofctl\_v1\_0: match\_to\_str() does not convert nw\_tos correctly * bgp: fix bug of ASPathFilter in case of iBGP peering * stplib.py: Should wildcard non-relevant bits in the mask field of port mod message for OpenFlow 1.2+ * simple\_switch\_14: Update a comment about OVS bug * simple\_switch\_13: Update a comment about OVS bug * Add a simple switch for Openflow 1.4, an easy adaption of SimpleSwitch13 * sw test tool: Fix typos * ofproto\_v1\_4: Add tun\_ipv4\_src and tun\_ipv4\_dst NXMs * test\_parser: Update expected json representations * packet\_data: Regen * packet\_data\_generator: Add tun\_ipv4\_src and tun\_ipv4\_dst for OF1.3 * ofproto\_v1\_3: Add tun\_ipv4\_src and tun\_ipv4\_dst NXMs * oxm\_fields: Add Nicira Extended Match (NXM) support * oxm\_fields: Add comments * oxm\_fields: Avoid shadowing python builtin * travis: Run tests via tox * test\_addrconv: Fix a way to import the tested module * test\_parser: Make this independent from test environment path * tox.ini: Add pep8 environment * pyang\_plugins: pep8 style fix * bgp: fix pep8 warnings * bgp: supporting loopback interface as neighbour\_source\_address for iBGP * bfdlib: follow TTL/hop limit in RFC5881 explicitly * doc: add lib.packet.bfd classes to library\_packet\_ref * lib: add IPv4 single hop BFD (RFC5881) support * unit test for lib.packet.bfd * packet lib: add BFD support * ofctl\_v1\_0/2/3: check lock timeout by lock.is\_set() * test: add unittests for of1.3 parser * of12/3: support setting the oxm\_value to OFPVID\_NONE * ofproto\_v1\_4\_parser: Handle experimenter OXMs in TableFeatures * ofproto\_v1\_3\_parser: Handle experimenter OXMs in TableFeatures * oxm\_fields: Add a comment * bgp: support next\_hop\_self v3.14 ----- * Ryu 3.14 * doc: Add ryu.app.ofctl\_rest document * of: Fix name of class member variables * gui\_topology: fix to work using WebSocket * bgp: ignore link-local address * bgp: local preference support IPv6, VPNv4/v6 route family * Improve debug messages for unsupported request Log correct debug message * Fix spell check in group feature message Maintain name consistency in meter type in Meter Features message in OF 1.3 Add length field in group statistics reply in OF 1.2 * sw test tool: fix an error caused by changing enum name in of1.4 * ofctl: Add default value to type field of OFPGroupMod * of: Add missing fields in OpenFlow statistics messages * of: Fix Enum Names and Values * of: Fix Enum Name for Bad Instruction Code Corrected Reset Count enum name * bgp: local preference support * sw test tool: add unit test * sw test tool: add a comment about specifying the port number support * sw test tool: support specifying the port number * ofctl\_v1\_0: correct flow modify message * ryu.cfg: Fix a comment * ofa\_neutron\_agent: Add a comment to explain what uses this * ofp\_pktinfilter: add 'logging' option * Snort Integrate: * bgp: rpc-api 'core.start' method in Network Controller * import BGPPathAttributeCommunities in peer manager * bmp: add client information to each bmp message v3.13 ----- * Ryu 3.13 * ws\_topology: bugfix an event is dropped * bgp: should not use dict comprehension * Snort integrate: Add the snort lib supporting snort integration. Add an sample application simple\_switch\_snort.py which can dump alert message * packet lib: add linux cooked header support * doc: update obsolete Linux kernel SubmittingPatches url * packet bmp: fix Peer Down Reason * bgp: add parameter 'label\_ranges' for 'core.start' method in BGPSpeaker * ofctl\_rest: support OFPFlowStats filtered by fields * bgp: reduce duplicate codes with helper\_function * sw test tool: add a "note" for help to understand * bmpstation: make configurable through environment variables * bgp: make reserved private variable * bgp: encode 'next\_hop' in human readable format * bgp: use \_class\_suffixes to support various AddrPrefix * stringify: introduce \_class\_suffixes for easy jsonize * bgp: move \_TYPE declaration of IPAddrPrefix to the appropriate place * bgp: add support for RFC3107 * fix setup.cfg entry * bgp: simplify CLUSTER\_LIST attribute parser * bgp: fix bug of receiving 'RouteRefresh' Message * bgp: refine the API for connecting to bmp server * bgp: add BGP capability code 64 (graceful restart) * bgp: add attribute ORIGINATOR\_ID and CLUSTER\_LIST * bgp: move ssh configuration to bgp config file * bgp: add route server function to bgpspeaker * bgp: fix bug of labels formatting for show VPNv4 prefix information * bgp: fix bug of Path(Origin) formatting for show VPNv4 prefix information * bgp: show VPNv4 Prefix information * packet/bgp: add open capability code of 128 * bgp: support add/delete vpnv6 prefix * bgp: support add/delete VPNv6 VRF * app/bmpstation: fix to work with empty BMPMessage * packet/bmp: fix bug of BMP Peer Down Notification class * packet/bgp: add 32bit AS number support to BGPPathAttributeAsPath * added parameter for vrfs\_get (in case of format = 'cli') * added parameter for rib\_get v3.12 ----- * Ryu 3.12 * ofctl\_rest: Add support for strict matching * bgp: fix conflict of PEER\_NEXT\_HOP and NEXT\_HOP value * bgp: add code to handle RD 0:0 at the head of nexthop network address in MP\_REACH\_NLRI path attribute * bgp: add parameter for site\_of\_origins to neighbor\_add and vrf\_add method * bmpstation: add copyright * app: add simple bmp station application * bgp: add bmp client function * bmp: add unit test * packet lib: add bmp(BGP Monitoring Protocol) * packet lib: sctp: fix default arguments * packet lib: udp: fix default arguments * packet lib: tcp: fix default arguments * packet lib: ipv6: fix default arguments * packet lib: ipv4: fix default arguments * bgp: fix bugs related to filter * bgp: fix AttributeError bug * bgp: fix NameError bug * ofproto\_v1\_4\_parser: Remove a stale comment on OFPTableFeaturesStatsReply * ofproto\_v1\_3\_parser: Remove a stale comment on OFPTableFeaturesStatsReply * bgp: make 'core.reset\_neighbor' API asynchronously * bgp: add show neighbor command to ssh client * bgp: refine and fix filter code * bgp: manage filter in a peer instance instead of rtconf * bgp: create adjacent rib in peer instance * bgp: add in-filter function * bgp: enable filter configuration via configuration file * bgp: move filter class under info\_base/ * ofctl\_v1\_2/3: fix unsuitable log * ofctl\_v1\_2/3: fix tcp\_dst/src match fields * unit test for ofctl\_v1\_2/3 * bgp: add neighbor\_reset method to bgpspeaker * bgp: remove an unused variable from bgpspeaker * bgpspeaker: refine logs * bgp: make marker private variable * bgp: fix bug when restart neighbor * bgp: add neighbor\_update * bgp: add med parameter to neighbor\_add * bgp: shut up runtime warning due to configuration file loading * bgp: fix bug in net\_ctrl listen\_tcp * bgp: fix logic for checking BGP capability * bgp: fix the way of getting RouteFamily object * bgp: add out-filter function * ofctl\_rest: enable getting Description of a port * ofctl\_rest: support Port Modification Message * ws\_topology: fix typo * Correct tcp option values in the test set * ofctl\_v1\_2/3: fix POP\_MPLS action and some match fields * adding FloatOpt to the config parser * add --pid-file option to cli * bgp: support specifying nexthop per prefix * pip-requires: gui\_topology requires webob>=1.2 * bgp: fix send\_notificaiton crash v3.11 ----- * Ryu 3.11 * ospf: describe prefix in one attribute 'prefix' for ease of use * ospf: add segment routing opaque types * ospf: fix bug in encoding * ospf: support for opaque message * bgp: support md5 authentication for re-active sessions * bgp: support md5 authentication for pro-active sessions * bgp: fix withdraw in EventPrefix notification * sw test too: use assured Forwarding behavior DSCP value for dscp\_remark * bgp: support specifying next hop for neighbor * bgp: add IPv6 advertisement support * packet/bgp: fix BGPPathAttributeMpReachNLRI next\_hop parser and serializer * bgp: clean up getpeername() and getsockname() usage * Initializing the variable 's' so that the get\_desc\_stats() call does not cause an exceptions when there are no messages * Add a small library to deal with TCP-MD5 socket option * doc: improve the appearance of the table * doc: leave out too large samples * bgp: add ssh\_console option for bgpspeaker module * document: ryu.app.gui\_topology * sw test tool: Add default test files (of14: new features) * sw test tool: Add default test files (of14: group:all/select) * sw test tool: Add default test files (of14: meter) * sw test tool: Add default test files (of14: match) * sw test tool: Add default test files (of14: action with set-field only) * sw test tool: Add default test files (of14: action without set-field) * sw test tool: run\_mininet: support Open vSwitch with OpenFlow 1.4 * sw test tool: Modify OFPActionSetField to normalize * sw test tool: Modify OFPMatch to normalize * sw test tool: Enable using connected switches to compare * sw test tool: Enable using user-specified versions to parse * sw test tool: Add support for using user-specified versions * ryu/flags: Add config parameters related sw test tool * sw test tool: Modify conditions of ofp\_packet\_in\_reason * bgp: fix ipv6 peering regression * bgp: fix best\_path\_change\_handler for best\_path\_lost * bgp: fix example code * bgp: fix another crash (recv\_open -> recv\_open\_msg) * bgp: fix some leftover of transition to packet lib bgp * bgp: fix a crash in path comparison * library\_bgp\_speaker.rst: make an example more complete * ofa\_neutron\_agent: Change the copyright notice * ofa\_neutron\_agent: Remove unused logger instance * ofa\_neutron\_agent: Use AppManager.run\_apps * AppManager: Add a convenient method to run apps * ofa\_neutron\_agent: Simplify * app\_manager: prevent loading unnecessary RyuApps * package: add python-ryu-doc * sw test tool: Enable IPv6 flow label maskable * document ryu.app.ofctl * ws\_topology: shut up pep8 for long lines in a comment * bgp: support IPv6 peering * Add GUI app * ws\_topology: Handle WebSocket disconnection * ws\_topology: Avoid controller name confliction * add debian files to make packages for Ubuntu * app\_manager: Stop checking h.callers in get\_handlers() * bgp: catch socket error with sendall * bgp: use sendall with lock * bgp: use TCP\_NODELAY for bgp connection * ryu.lib.hub: add logging wrapper for wsgi server * contrib: import tinyrpc library * downgrade required version of msgpack-python * app\_manager: Let application module to use require\_app() * bgp: add bgpspaker module for non Ryu application usage * fix failure of instantiating app * fix: wrong copyright * sw test tool: Improve readability of IP mask values * sw test tool: Improve readability of MAC mask values * sw test tool: Improve readability of padding data * sw test tool: Improve readability of tcp options * rest\_qos: Enable queue setting to interface individually * packet lib: add Connectivity Fault Management Protocol(CFM, IEEE 802.1ag) * app\_manager: Fix a crash in unregister\_handler v3.10 ----- * Ryu 3.10 * doc: add test-of-config-with-linc page * doc: add test-vrrp page * ofctl\_v1\_2: fix errors of get\_flow\_stats * ofctl\_v1\_2: fix pep8 * bgp: remove unnecessary OutgoingRoute attribute 'bgp4\_format' * bgp: fix typo * bgp: fix bug of exchanging paths between vrf and global\_table * packet/bgp: add route distinguisher classes and refine codes * bgp: keep and use nexthop value as a string internally * ofctl\_v1\_2/3: MAC arbitrary bitmask support * bgp: add 'neighbors.get' and 'show.rib' JSON RPC API * bgp: add JSON RPC API * bgp: set bgp-config-file default None * bgp: fix non configured peer exception * bgp: import lacking constants * doc: add components page * bgp: use host's ssh host key if not specified * sw test tool: Add default test files (group:all/select) * sw test tool: Enable sending packets using random values * sw test tool: Enable parsing OFPGroupMod messages in 'prerequisite' * sw test tool: Add support for confirmation of installed group entries * sw test tool: Add support for installation of group tables * sw test tool: Add support for initialization of group tables * sw test tool: Add a link between switches * wsgi: add ws\_topology application * rest\_topology: use decorator api * sw test tool: pylint * sw test tool: Reduce similar methods of checking entries exist * sw test tool: Reduce similar methods of handling events * sw test tool: Reduce similar methods of initializing flows * sw test tool: Reduce similar methods of deleting flows * sw test tool: Reduce similar classes * sw test tool: Remove an unnecessary wrapper method * simple\_switch\_websocket\_13: Add get\_arp\_table RPC method * pip-requires: WebSocket-RPC requires tinyrpc * Add WebSocket JSON RPC feature * simple\_switch\_websocket\_13: fix typo * New API for WebSocket support * Add PacketIn dumper websocket application * wsgi: Support WebSocket * Import eventlet.websocket from master branch * hub: import semaphore * tester: cleanup the code of couting the results * tester: let each attribute of meter had a chance to be compared * add openflow api reference for of1.4 * app/rest\_qos: fix pep8 * add pep8 options to tox.ini * tests/unit: fix pep8 * tests: fix pep8 * services/protocols: fix pep8 * lib/xflow: fix pep8 * lib/packet: fix pep8 * lib/of\_config: fix pep8 * lib: fix pep8 * controller: fix pep8 * app: fix pep8 * topology/switches: fix pep8 * base/app\_manager: fix pep8 * ofproto: fix pep8 * Added rest\_qos module * packet/bgp: bug fix of route target nlri class * bgp: fix bug of accessing dead socket * bgp: improve how to show rib * bgp: fix typo * packet/bgp: enhanced route refresh support * packet/bgp: fix bug in serializing AS PATH path attribute * bgp: add ssh client * bgp: fix wrong module path * packet/bgp: add helper methods to nlri class for bgp ssh client * bgp: don't block at start method * bgp: bug fix when the peer initiated the connection * bgp: remove unnecessary log message * set default attributes for OFPPortMod * sw test tool: pylint * sw test tool: Remove unused codes * sw test tool: Reduce similar methods * Added queue stats request * Added ovs-vsctl commands of QoS-related v3.9 ---- * Ryu 3.9 * sw test tool: Modify lengths of pad fields for ARP * sw test tool: Revert changes of test files * tests/integrated: Enable MPLS set-field and push MPLS tests * tests/integrated: Match on MPLS dl\_type for flows with MPLS TTL actions * tests/integrated: Match on MPLS dl\_type for flows with pop MPLS actions * tests/integrated: Match on IP dl\_type for flows with set IPv6 addresses * tests/integrated: Enable ARP tests * tests/integrated: Match on IP dl\_type for flows with set NW TTL actions * tests/integrated: Match on VLAN tag for flows which set VLAN tags * tests/integrated: Match on VLAN tag for flows with pop VLAN TTL actions * tests/integrated: Match on IP dl\_type for flows with dec NW TTL actions * tests/integrated: Do not verify buffer\_id of packet\_in resulting from packet\_out * sw test tool: Modify lengths of pad fields for ARP * packet lib: ipv6: support Routing header (type3) * sw test tool: Fix MAC addresses used in tests * tests/integrated: Use table\_id greater than the current table for goto-table instruction * tests/integrated: Specify table\_id for flow\_mod modify tests * bgp: fix connect timeout error * bgp: add \_\_init\_\_.py files * packet lib: ipv6: Fix to calculate AH length * bgp: fix pep8 * bgp: add sample configuration file * bgp: improve log visibility * bgp: avoid the trouble of having to explicitly specify IDs in configuration * bgp: enable to use system IP addr implicitly for binding * bgp: enable default label range * bgp: make bgpspeaker RyuApp * bgp: use ryu.lib.hub instead of the direct use of eventlet * bgp: clean up codes which constructs an update message * bgp: fix typo * remove obsolete man pages (rpc\_cli and neutron\_ofagent\_agent) * delete bin/neutron-ofagent-agent * delete ryu/tests/bin/of-config-cli * delete bin/rpc-cli * document ryu command * add bin/ryu to PYLINT\_INCLUDE * add bin/ryu * pip-requires: require oslo.config >= 1.2.0 * allow overriding argv and progname * ryu.cfg: re-export some more stuff for convenience * sw test tool: Fix to compare OFPMatch using masks without byte boundary * bgp: remove original bgp packet library * bgp: use ryu bgp packet library instead of original one * bgp: add stuff for integration with bgp speaker * Rename to CONTRIBUTING.rst * of14: set default attributes for group-related classes * of13: set default attributes for group-related classes * of12: set default attributes for group-related classes * sw test tool: Correct the comparison method to treat matches as the set * sw test tool: Fix to compare OFPMatch ignoring fields that masks are all zero bits * sw test tool: Fix to compare OFPMatch ignoring masks that are all one bits * fix pbb itag related tests * RyuApp: delete a key without handlers when unregistering a handler * ryu.app.ofctl: raise exceptions on openflow error messages * ryu.app.ofctl: implement multipart * ryu.app.ofctl: implement reception of reply message * ofp\_event: add a function to find Event class for given OFP class * RyuApp: add methods to observe/unobserve specific event dynamically * RyuApp: allow observing events without having handlers * RyuApp.get\_handlers: restructure code and add a comment * RyuApp: add a method to unregister a handler * controller.handler: simplify code * controller.handler: use normal classes rather than a namedtuple * controller.handler: g/c now unused code * igmplib: Fix a problem that querier stops sending a query message v3.8 ---- * Ryu 3.8 * bgp: fix pep8 * bgp: enable to propagate ipv4 networks * bgp: improved debug message in neighbor creation * bgp: changed default configuration value for ease of use with bgp4 * bgp: use hub.Event to wait for the core\_service boot instead of sleep * bgp: enable to show ipv4 rib * bgp: send BGP UPDATE msg in BGP4 format when nlri is ipv4 * bgp: handle non-MPBGP UPDATE msg * bgp: remove inappropriate assertion assuming only MPBGP (not BGP4) * bgp: fix wrong path * add BGP daemon feature * ofctl\_v1\_3: Fix to enable using meter flags multiply * stplib: reduce unnecessary constant * sw test tool: Add default test files (meter) * sw test tool: Add support for throughput analysis * sw test tool: Enable throughput analysis * sw test tool: Add support for getting throughput * sw test tool: Add support for installation of flows for throughput analysis * sw test tool: Add support for deletion of flows for throughput analysis * sw test tool: Enable parsing a new 'egress' format * sw test tool: Enable sending packets continuously * sw test tool: Rename STATE\_UNMATCH\_PKT\_SEND to STATE\_SEND\_BARRIER * sw test tool: Refactor packet sending processes * sw test tool: Add support for sending packets continuously * sw test tool: Enable parsing a new 'ingress' format * sw test tool: Enable parsing OFPMeterMod messages in 'prerequisite' * sw test tool: Add support for confirmation of installed meter entries * sw test tool: Add support for installation of meter entries * sw test tool: Add support for initialization of meter tables * sw test tool: Rename STATE\_INIT to STATE\_INIT\_FLOW * remove ryu.cmd.ofa\_neutron\_agent from console\_scripts in setup.cfg * of: set TCP\_NODELAY for secure channel socket * vrrp tests: update comments * vrrp.api: request ryu.services.protocols.vrrp.manager * ryu.topology.api: request ryu.topology.switches * test\_vrrp\_multi.sh: allow overriding ovs-vsctl * vrrp: update after ryu.topology.api change * rest\_topology: update after ryu.topology.api change * topology: split out exported API from the implementation * ofa\_neutron\_agent: no need to load ofctl.service explicitly anymore * ryu.app.ofctl.api: request ryu.app.ofctl.service * app\_manager: add a function to request to load the server application * doc: remove a stale reference * add ryu-manager to PYLINT\_INCLUDE * ofctl\_rest: use multistage @set\_ev\_cls * enable multistage @set\_ev\_cls or @set\_ev\_handler * ofproto: get rid of fragile and slow glob'ing modules * topology/switches: duplicate datapath connections handling * Add request forward message unit test * Add request forward message support * of14: Add bundle add message unit test * of14: Add bundle add message support * Allow messages inside messages * ofctl\_v1\_2:support whole of match fields * rest\_router: fix OFPSetAsync bit mask * ofp\_event: fix a typo * ofctl\_v1\_2/3: IP arbitrary bitmask support * sw test tool: Fix a problem for disconnection * of14: Add bundle control message unit test * of14: Add bundle control message support * of14: Remove incorrect OFP\_ASYNC\_CONFIG\_{PACK\_STR, SIZE} * of14: Update get async reply and set async implementation to follow spec * of14: Add OFPAsyncConfigProp * of14: Add table status unit test * of14: Add table status support * of14: Add flow monitor reply message unit test * of14: Add flow monitor request unit test * packet\_data\_generator: New ofproto dependency for v5 updates * of14: Add flow monitor reply support * of14: Add flow monitor request support * of14: Add OFPFlowUpdate * dpset: absorb \*args, \*\*kwargs passed to \_\_init\_\_ * ofctl\_v1\_2/3: Convert IP fields to string with dotted decimal mask * sw test tool: avoid test termination in initialization * ofctl\_v1\_2: Fix unsuitable log * ofctl\_v1\_3: Fix unsuitable log * library\_packet.rst: fix an example code * pyang plugin to generate of\_config.generated\_classes * fix NX\_EXPERIMENTER\_ID * reduce direct uses of oslo.config.cfg.CONF * ryu.cfg: re-export some frequently used stuff for convenience * add ryu.cfg * ryu.conf: obsoleted argument used in sample configuration * ofctl\_v1\_2/3: IPv4 dotted decimal subnet mask support v3.7 ---- * Ryu 3.7 * test\_parser: update expected json representation * OFPPropCommonExperimenter4ByteData: change payload to bytes * Apply normalize\_json.py * of14: Correct documentation of table mod flags and properties * of13: Correct documentation of meter mod flags * of13: Correct documentation of flow mod flags * of13: Correct documentation of set config flags * of13: Correct documentation and example of get config reply flags * of14: Correct documentation of flow mod flags * of14: Correct documentation of meter mod flags * of14: Correct documentation of set config flags * of14: Correct documentation and example of get config reply flags * of14: set default attributes for meter-related classes * of13: set default attributes for meter-related classes * fix load\_apps() in AppManager class * six.add\_metaclass requires six>=1.4.0 * of14: Add experimenter property to port mod reply unit test * of14: Add port mod experimenter property * of14: Add optical property to port mod reply unit test * of14: Add port mod optical property * of14: Remove \_PACK\_STR from port mod ethernet property * of14: Add experimenter property to port stats reply unit test * of14: Add port stats experimenter property * of14: Add optical property to port stats reply unit test * of14: Add experimenter property to port status unit test * ofctl\_v1\_3:support whole of match fields * of14: Add port stats optical property * of14: Add experimenter property to queue stats reply unit test * of14: Add queue stats experimenter property * of14: Rename QueueProp as QueueStatsProp * of14: Add experimenter property to table features request unit test * of14: Add experimenter property to table features reply unit test * of14: Add table feature experimenter property * of14: Add table feature table sync from property * of14: Add experimenter property to port desc reply unit test * of14: Add port desc experimenter property * of14: Add optical property to port desc reply unit test * of14: Add optical property to port status unit test * of14: Add port desc optical property * of14: Add action experimenter to flow mod unit test * of14: Add action experimenter support * of13: Add experimenter property to table features reply unit test * of13: Add experimenter property to table features request unit test * of13: Add table feature experimenter property * ofproto\_v1\_3\_parser: update OFPActionSetField docstring * ofproto\_v1\_2\_parser: update OFPActionSetField docstring * ofproto\_v1\_4\_parser: update OFPActionSetField docstring * of14: Remove supruious comment from OFPPropBase * of14: Add role status unit test * packet\_data\_generator: of14: Add role status message * of14: Add role status support * of14: Add OFPRoleProp * of14: Add OFPPropCommonExperimenter4ByteData * of14: Add queue desc reply unit test * packet\_data\_generator: of14: Add queue desc reply * of14: Add queue desc request support * of14: Add queue desc request unit test * packet\_data\_generator: of14: Add queue desc request * of14: Add queue desc request support * of14: Add OFPQueueDesc * of14: Add OFPQueueDescProp * of14: table mod with properties * of14: Add properties support to flow mod * of14: Add OFPTableModProp serialization * of14: Add table desc unit tests * packet\_data\_generator: of14: Add table desc * of14: Add table desc request and reply message support * of14: Add OFPTableDesc * of14: Add OFPTableModProp * sw test tool: fix missing to receive error of PacketOut * of13: support OFPAactionExperimenter with data * sw test tool: fix pop\_pbb action * of14: Document OFPRR\_{METER\_DELETE, EVICTION} reasons for flow removed message * sw test tool: add test report output * ofproto: correct typo * test\_add\_flow\_v12\_actions: fix a typo * rename neutron agent from "ofswitch" to "ofagent" * of13/14: fix OFPFMFC\_TABLE\_FULL typo * ofconfig: add commit and discard\_changes operation support * of\_config: add OFPortStateType class * topology: support OF1.2 and 1.4 * handler.register\_service: comment * use six.add\_metaclass * pip-requires: sort in alphabetical order * of14: set default attributes for OFPMeterMod * of13: set default attributes for OFPMeterMod * neutron-ofswitch-agent man page * setup.cfg: add neutron-ofswitch-agent to console\_scrpits * run\_tests.sh: add neutron-ofswitch-agent to PYLINT\_INCLUDE * neutron-ofswitch-agent: neutron agent for ofswitch ML2 mechanism driver * ofproto\_v1\_3\_parser: add a comment about extensions support * pbb: add a comment * of\_config\_cli: remove a unused import * run\_tests.sh: add of-config-cli to PYLINT\_INCLUDE * ofctl\_v1\_3: let action group can be converted to string * sw test tool: FIX: return the transaction id when flow entries were deleted * sw test tool: correct the comparison method to treat instructions as the set * sw test tool: correct error message * sw test tool: remove unnecessary debug code * of12: fix InstructionWriteMetadata json decoder * sw test tool: fix wrong match(ipv6\_exthdr) value of test file * sw test tool: fix wrong instruction(write metadata) value of test files * test\_ofctl\_v1\_3: replace a hack with ProtocolDesc * test\_parser\_v12: replace a hack with ProtocolDesc * test\_ofp\_pktinfilter: replace a hack with ProtocolDesc * ProtocolDesc: provide supported\_ofp\_version for ofp\_handler * ofproto\_protocol: fix UnboundLocalError * tests: add a test case for ofproto\_protocol * test\_ofp\_pktinfilter: simplify * OFPGroupMod: Fix OFPGC\_\* typo in examples * test\_parser: replace a hack with ProtocolDesc * controller: use ProtocolDesc * ofproto\_protocol: provide a class to describe an openflow version * ofproto\_v1\_3\_parser: import ofproto\_v1\_3 as 'ofproto' * ofproto\_v1\_2\_parser: import ofproto\_v1\_2 as 'ofproto' * ofproto\_v1\_0\_parser: import ofproto\_v1\_0 as 'ofproto' * of14: Add to ofproto unit tests * of14: Add port mod message support * of14: Add queue stats request and reply message support * of14: Add port stats request and reply message support * of14: Add generic OFPropBase class * of14: Rename OFPPortDescPropUnknown as OFPPortPropUnknown * of14: Add port status message support * of14: Add meter mod message support * of14: Add OFPMeterBandDscpRemark and OFPMeterBandExperimenter * of14: Move OFPMeterBand\* to above OFPMeterConfigStats * of14: Add table features stats request and reply message support * of14: Add \_ordered\_fields to .4 OFPMatch * of14: Fix OFPInstructionWriteMetadata JSON decode * of14: set default attributes for OFPMultipartRequest subclasses * of14: add some assertions v3.6 ---- * Ryu 3.6 * of13: set default attributes for OFPMultipartRequest subclasses * of12: set default attributes for OFPStatsRequest subclasses * allow application to specify its logger name * fix syslogd usage on OSX * vrrp: fix busy timer by the default parameter * of14: fix OFPMatch from\_jsondict method * of14: Fix OFPInstructionMeter json format * of14: default ethernet type for PUSH\_VLAN action * of14: set default ethernet types for MPLS actions * of14: remove of1.2/1.3 old SetField aciton API * doc: announce OF1.4 support in README * Add OF1.4 set async message support * Add OF1.4 get async request and reply support * Add OF1.4 meter features stats request and reply message support * Add OF1.4 meter stats request and reply message support * Add OF1.4 meter config stats request and reply message support * Add OF1.4 meter band drop * Add OF1.4 group mod message supoort * Add OF1.4 table mod message support * Add OF1.4 flow removed message support * Add OF1.4 group desc stats request and reply message support * Add OF1.4 OFPBucket * Add OF1.4 group features stats request and reply message support * Add OF1.4 table stats request and reply message support * Add OF1.4 aggregate stats request and reply message support * Add OF1.4 role request and reply message support * Add OF1.4 barrier request and reply message support * Add OF1.4 experimenter message support * Add OF1.4 error message support * Add OF1.4 echo request and reply message support * Add OF1.4 SetNwTtl action support * Add OF1.4 DecNwTtl action support * Add OF1.4 DecMplsTtl action support * Add OF1.4 PushVlan action support * Add OF1.4 PopVlan action support * Add OF1.4 PushMpls action support * Add OF1.4 PopMpls action support * Add OF1.4 PushPbb action support * Add OF1.4 PopPbb action support * Add OF1.4 CopyTtlIn action support * Add OF1.4 CopyTtlOut action support * Add OF1.4 SetField action support * Add OF1.4 OFPMatchField support * Add OF1.4 desc stats request and reply message support * Add OF1.4 group stats request and reply message support * Add OF1.4 multipart experimenter request and reply message support * packet\_data\_generator: Remove OF1.4 queue set config request and reply message support * Correct OF1.4 OFPMatch JSON serialisation and formatting * Correct OF1.4 OFP\_ACTION\_HEADER\_PACK\_STR * of12: set default ethernet types for MPLS actions * of13: set default ethernet types for MPLS actions * ofproto\_v1\_3\_parser: have a default value for push\_vlan ethertype * ofproto\_v1\_2\_parser: have a default value for push\_vlan ethertype * ofproto\_v1\_3\_parser: put some assertions * ofproto\_v1\_2\_parser: put some assertions * Make type and len class attributes of OFPInstructionMeter * doc: improve RyuApp documentation * doc: update after the sync request change * vrrp: Add RPC API * ofctl.service: fix a crash on error msg * ofctl.service: reduce log level of some messages * ofctl.service: fix some crashes * Fix OFPInstructionWriteMetadata JSON decode * dpset: start up dpset if there are subscribers of dpset events * fix bidirectional event confusion * packet\_data\_generator: Add OF1.4 * ofctl\_v1\_2/3: fix SET\_FIELD action and some match fields * bgp: fix IP/MPLS\_VPN addresses * bgp: comments about notification data * bgp: a comment * bgp: RFC 4486 * bgp: constants for NOTIFICATION code/subcode * bgp: a comment * ryu.app.ofctl: Add a proxy application to send OF messages * test tool: run\_mininet: support CPqD Software Switch * bgp: implement the rest of RFC 3107 * bgp: implement BGPOptParamCapabilityCarryingLabelInfo * bgp: add a constant for enhanced route refresh * safi: add a constant for route target constrain * rest\_firewall: support IPv6 match conditions * ofctl\_v1\_2/3: fix match conditions about ARP * enable OpenFlow 1.4 * packet\_data\_generator: update of\_protocol upstream * test\_bpdu: add unit test * bpdu: handling based on version and type * ofctl\_rest: improve readability of the result of MeterFeatures * ofctl\_rest: support group-related messages * lib.of\_config: import ryu.contrib * tests: add some tests for ryu.lib.of\_config.classes * A happy new year 2014 v3.5 ---- * Ryu 3.5 * firewall: correct acquisition result of DENY rule * ofctl\_rest: fix mod\_meter\_entry in OpenFlow1.0/1.2 * ofctl\_rest: support OFPExperimenter message * ofctl\_rest: fix delete\_flow\_entry * topology: Setting highest rule priority to LLDP packets * Fix Windows setup dependency bug * add IGMP snooping application * packet lib: icmpv6: support MLD (v1/v2) * packet lib: igmp: support IGMP v3 * firewall: packet blocking log for DENY rule * ofctl\_v1\_2/3: support IPv6 * ofctl\_v1\_2/3: support OXM field names * ofctl\_rest: support OpenFlow1.2 * of\_config\_cli: remove no longer necessary "\_pythonify" stuff * of\_config: allows both of of-config element names and python style names * of\_config\_cli: add add\_queue command * of\_config\_cli: add delete\_config and copy\_config * a simple of-config client command * of\_config.capable\_switch: add delete\_config and copy\_config * tests.integrated.test\_of\_config: update after capable\_switch api change * of\_config.capable\_switch: api tweak * add some convenient OF-Config classes * requires lxml * oxm\_fields: make a crash less cryptic * ofctl\_v1\_3: support OFPMeterConfigStats * ofctl\_v1\_3: fix match for metadata * ofctl\_v1\_3: correct MeterStats and MeterFeatures * topology: add of13 support * ofctl\_v1\_3: support meter * ofctl\_v1\_3: support metadata * packet.ospf: workaround a bytearray vs buffer problem * rest\_firewall: use the explicit max\_len of flow\_mod * lib: ofctl: support the specified max\_len of flow\_mod * packet lib: improve readability of json * add license to ospf files * test tool: add a script to make the test environment on mininet * test tool: add default test files (match) * test tool: add default test files (action with set-field only) * test tool: add default test files (action without set-field) * test tool: add OpenFlowSwitch test tool * unit test for lib.packet.ospf * packet lib: add ospf * lib/packet/packet\_utils: Add a function to calculate fletcher checksum * packet lib: ipv6: correct a default parameter of opt\_header * packet lib: add unittests for reversibility about json * packet lib: slow: fix reversibility about json * packet lib: sctp: fix reversibility about json * packet lib: lldp: fix reversibility about json * packet lib: llc: fix reversibility about json * packet lib: ipv6: fix reversibility about json * packet lib: icmpv6: fix reversibility about json * packet lib: icmp: fix reversibility about json * packet lib: dhcp: fix reversibility about json * packet lib: bpdu: fix reversibility about json * packet lib: bgp: fix reversibility about json * packet lib: packet\_base: add a method which makes '\_class\_prefixes' easy to use * stplib: support OF 1.2/1.3 * stplib: Reduction of the number of threads * add OpenFlow 1.4 definitions * packet lib: igmp: support default parameters v3.4 ---- * Ryu 3.4 * vrrp: handle interface failure * rpc-cli man page * a simple command line msgpack-rpc client * add rpc.Client.peek\_notification * msgpack-rpc: unit tests * rpc: prefix closed\_by\_peer with \_ as it's private * rpc: If the socket is closed by peer, endpoint stop the serve * msgpack-rpc fixes and improvements * msgpack rpc helper * test\_parser: expected json for onf\_flow\_monitor\_request * packet\_data: regen for onf\_flow\_monitor\_request * packet\_data\_generator: add a case for onf\_flow\_monitor\_request * packet\_data\_generator: update of\_protocol for onf\_flow\_monitor\_request * of13: implement ONFFlowMonitorStatsRequest * ofproto\_parser.StringifyMixin: add "ONF" to the list of class prefixes * of13: EXT-187 definitions * of13 OFPExperimenterStatsRequest: api tweak * of13: add a bunch of ONFERR\_ constants from OF Extensions for 1.3.X * of13 OFPTableFeaturesStatsRequest: remove an unused argument * unit test: test ryu.cmd.manager * vrrp: declare event.py to be dependent for manager.py * vrrp: add statistics support * Add support for admin\_state (role) * fix vrrp utils * register monitor\_linux and monitor\_openflow for VRRPInterfaceMonitor class * vrrp: use sysfs instead of ioctl to get ifindex * rest\_firewall: support OF 1.3 * ofctl\_v1\_3: support some actions * ofctl\_v1\_3: correct the output result of get\_flow\_stats() * rest\_router: support OF 1.3 * ofp: use RyuApp start() to return Greenlet thread * allow RyuApp start() method returns Greenlet thread * Revert "doc: update tls example" * run OFP if no application is specified * fix the regression due to e45f382e51c9a3d57a6d8c01cec9e70f7ca364fd * a script to set up an environment for test\_vrrp\_multi.py * a script to set up an environment for test\_vrrp\_linux\_multi.py * test apps for VRRP service * vrrp service * packet.vrrp: some convenient routines * base/app\_manager: context might be RyuApp * base/app\_manager: create/destroy RyuApp instances dynamically * base/app\_manager: introduce singleton pattern to AppManager * base/app\_manager: RyuApp initialization race at startup * topology.switches: stop abusing Packet.next() * test\_lldp: stop abusing Packet.next() * Packet: fix iterator * skip malformed OF messages and continue instead of stopping * of13: fix wrong comments * test\_parser: update expected json representations for EXT-256 * packet\_data: regen * packet\_data\_generator: add a case for EXT-256 (PBB UCA match field) * packet\_data\_generator: update of\_protocol upstream * of13: implement EXT-256 (PBB UCA match field) * lacplib: reduce unnecessary constant * of13: OFPTableFeaturesStatsRequest: update docstring * of13: OFPOxmId: update comment * ryu.app.client: comments * ryu.app.tunnel\_port\_updater: comments * ryu.app.gre\_tunnel: comments * ryu.app.rest\_quantum: comments * ryu.app.rest\_conf\_switch: comments * ryu.app.rest: comments * doc: update tls example * of12: implment OFPT\_EXPERIMENTER serializer * of13: implment OFPT\_EXPERIMENTER serializer * test\_parser: enable serializer tests for OFPT\_EXPERIMENTER * solve application dependency via @set\_ev\_cls * dpset: fix a reconnect race * doc: hook up dpset * dpset: add some docstrings * dpset: remove dead code * dpset: prefix private methods with \_ * ofproto: fixed comments of ofp\_capabilities * test\_parser: expected json representations for OFPMP\_EXPERIMENTER * packet\_data: regen * packet\_data\_generator: add cases for experimenter mp request/reply * of13: implement OFPMP\_EXPERIMENTER request and reply * packet lib: ipv6: change some default parameters * packet lib: ethernet: support default parameters * bgp: add tests for extended communities * bgp: implement extended communities * test\_parser: test OFPET\_EXPERIMENTER serializer as we now have it * test\_parser: expected json representation * packet\_data: regen * packet\_data\_generator: uncomment ofp\_error\_msg\_experimenter * of13: OFPErrorExperimenterMsg: implement serializer * of12: OFPErrorExperimenterMsg: implement serializer * of13: implement OFPErrorExperimenterMsg * of12: reduce unnecessary diffs from of13 * ofproto\_common: define some experimenter id * add STP application * packet lib: add unittests that use default parameters of IPv4/IPv6 and ICMP/ICMPv6 * packet lib: icmp: support default parameters * packet lib: icmp: support len(icmp.\*) * packet lib: icmpv6: support default parameters and the auto calculation of lengths * packet lib: icmpv6: support len(icmpv6.\*) * packet lib: icmpv6: omit type of nd\_option object * packet lib: icmpv6: include type and length in nd\_option object * packet lib: icmpv6: move ND\_OPTION\_\* constants from classes to the module * packet lib: icmpv6: change the timing of bit shift * packet lib: icmpv6: correct typos * ofctl\_rest.py: Fix compatibily for both OF 1.0 & 1.3 datapaths * ofctl\_v1\_3.py: Add get\_desc\_stats & get\_port\_stats from ofctl\_v1\_0.py * lacplib: set the max priority to LACP flow entries * packet lib: add unittests that use default parameters of IPv4/6 and TCP/UDP/SCTP * packet lib: ipv6: support default parameters and the auto calculation of payload\_length * packet lib: udp: support default parameters * packet lib: tcp: support default parameters and the auto calculation of offset * packet lib: sctp: correct len(sctp) * SubmittingPatches: mention tools/normalize\_json.py * test\_parser: expected json representations for new test cases * packet\_data: regen * packet\_data\_generator: add cases to use all oxm types * packet\_data\_generator: update of\_protocol * normalize \*.json files v3.3 ---- * Ryu 3.3 * Decoration Based PacketIn Filter * of13: correct variable name same as spec * ofproto\_parser: dump packets if error is encountered during parse * packet lib: support Provider Backbone Bridges (PBB, IEEE 802.1ah) * packet lib: vlan: support Q-in-Q (IEEE 802.1ad) * rest\_router: fix mac address conversion * packet lib: sctp: change the timing of the auto calculation * packet lib: sctp: remove the past 'TODO' comments * rest\_router: bug fix of match parameter * test\_parser: expected json output for ofp\_table\_features\_request/reply * packet\_data: regen * packet\_data\_generator: uncomment ofp\_table\_features\_request * packet\_data\_generator: update of\_protocol upstream * of13: implement table features request/reply * OFPMultipartRequest: remove a wrong assertion * oxm\_fields: allow None values * packet lib: sctp: support default parameters and the auto calculation of lengths * packet lib: sctp: aggregate the same method into the base class * packet lib: sctp: correct typos * packet lib: sctp: correct sphinx document format * correct typos * test\_parser: update expected json output * packet\_data: regen * packet\_data\_generator: use more actions * packet\_data\_generator: update upstream * tests: apply tools/normalize\_json.py * ofproto.test\_parser: fix an expected json output * packet\_data: regen * packet\_data\_generator: adapt to of\_protocol upstream api change * packet\_data\_generator: change of\_protocol upstream * packet lib: sctp: correct comments * of13: support PUSH\_PBB/POP\_PBB actions * of1.0, of1.2, of1.3: Modify the default of max\_len in OFPActionOutput * packet lib: sctp: support the auto calculation of lengths of parameters and causes * packet lib: sctp: fill up lack of decolators * packet lib: sctp: remove unnecessary \_\_init\_\_() * packet lib: sctp: reduce computation * To specify a logging configuration file * bgp: implement communities attribute * bgp: well known communities * bgp: implement multiprotocol capability * bgp: implement MP\_UNREACH\_NLRI * bgp: implement MP\_REACH\_NLRI * bgp: update a comment * packet lib: sctp: add tests for protocol stack * packet lib: sctp: fix problems about padding * lib.packet.sctp: fix misuses of abstractproperty * doc: hook up lib.packet.sctp * packet lib: sctp: add a unittest for SCTP * packet lib: add Stream Control Transmission Protocol * packet lib: icmpv6.nd\_router\_advert: skip unknown options correctly * packet lib: icmpv6: comment * packet lib: ipv6: correct parser() about flow\_label * simple\_switch\_13: using table-miss flow * of13: fix OFPGroupStats * ofproto tests: add expected json outputs * packet\_data: regen * packet\_data\_generator: add of1.3 group\_stats\_request/reply * of10: fix pep8 * of13: correct parser() in several OFPActions * of10: Register TCP\_DST and UDP\_DST headers in NXM * simple\_switch: use packet library * packet.bgp: parse/serialize FOUR OCTET AS NUMBER capability * packet.bgp: parse/serialize ROUTE REFRESH capability * packet.bgp: implement ROUTE REFRESH message * packet lib: some AFI/SAFI constants * packet.bgp: parse/serialize capability options * packet.bgp: some capability related constants * bgp test: appease pep8 * packet.bgp: appease pep8 * of13: fix InstructionMeter parser * Switch how to call the API of Routes for every version * To specify a context of a controller from WSGIApplication#register() * packet.bgp test: parse real packets taken from quagga * packet.bgp test: some on-wire packets snooped from running quagga * packet.bgp: implement RFC 4893 * packet.bgp: parse/serialize path attribute values * python-oslo-config is necessary for Ryu built by RPM v3.2 ---- * Ryu 3.2 * fix setup from a tarball again * avoid pbr's non multi-version aware script * revert "support setup.py install with git archive tarballs" commit * revert "stick with pbr 0.5.19" commit v3.1 ---- * Ryu 3.1 * packet lib: dhcp: remove unnecessary import * packet lib: dhcp: add unittest * packet lib: dhcp: use text addresses * packet lib: add get\_protocol API * of1.3: set default arguments for FlowStatsRequest * of1.2: set default arguments for FlowStatsRequest * topology.switches: fix link discovery * ofproto: remove a bogus comment * ofproto: remove unused definitions * ofproto: fix OF1.0 packet\_in parser * packet lib: icmp: rewrite unittest * tests/integrated: fix mac address format * Advanced WSGI API * doc: hook up streaming parser docs * implement BGP-4 streaming parser * streaming parser base class * doc: hook up lib.packet.bgp * unit test for lib.packet.bgp * packet lib: implement basic part of BGP-4 * test\_addrconv: add more test * packet lib: ipv6: avoid dangerous default value [] as argument * packet lib: ipv6: simplify the operations of \_\_init\_\_() * packet lib: ipv6: support udp * packet lib: ipv6: remove unnecessary import * packet lib: icmp: correct parser() of TimeExceeded * unit test for import\_module * import\_module: deal with cases mod.\_\_file\_\_ is not accessible * packet lib: ipv6: correct a comment * packet lib: ipv6: add test for multi extension headers * packet lib: ipv6: support IP Authentication header * packet lib: ipv6: support fragment header * packet lib: ipv6: support destination header * packet lib: ipv6: support Hop-by-Hop Options header * packet lib: ipv6: prepare to support Hop-by-Hop Options header and destination header * packet lib: ipv6: support options for Hop-by-Hop Options header and destination header * packet lib: ipv6: prepare to support extension headers * rest\_firewall: improve REST response * comment on OFP\_xxx\_PORT * vlan: remove unnecessary import * doc: ryu app api overview * document OFPTableFeaturesStatsRequest/OFPTableFeaturesStatsReply * doc: sprinkle of13 json examples * doc: sprinkle of12 json examples * document MsgBase * add some docstring on StringifyMixin and relevant code * lib: lacplib: correct comments * lib: lacplib: add underscore to a protected member * lib: lacplib: support OpenFlow1.2/1.3 * packet lib: Simpler API to assemble a packet * of12, of13: fix OFPActionSetField padding * test: update expected json outputs * packet\_data: regen * tweak packet\_data\_generator * rest\_firewall: remove of unused constant values * rest\_firewall: remove of an unnecessary comma of json response * rest\_firewall: remove of a redundant code * rest\_firewall: bug fix of handling an empty dict * ofproto: raise an exception for unsupported operation * test\_parser: test serializing a message multiple times * ofproto: remove some assertions * ryu-manager: copyright notice * of10: change OFPMatch to support ipv4 src and dst mask when wildcards are omitted in \_\_init\_\_ * Support old style class * simple\_switch: simplify * simple\_switch\_12: reduce difference from simple\_switch\_13 * test: update of12 expected \*.json outputs after utf-8 change * test: update of13 expected \*.json outputs after utf-8 change * test: regen \*.packet after utf-8 changes * packet\_data\_generator: use utf-8 in table name and port name * of13: update expected \*.json outputs for table name change * of13: assume OFPTableFeaturesStats.name UTF-8 * of12: update expected \*.json outputs for table name change * of12: assume OFPTableStats.name UTF-8 * of10: assume OFPTableStats.name UTF-8 * of13: update expected \*.json results for OFPPort.name change * of13: assume OFPPort.name UTF-8 * of12: update expected \*.json results for OFPPort.name change * of12: assume OFPPort.name UTF-8 * of10: update expected \*.json results for OFPPhyPort.name change * of10: assume OFPPhyPort.name UTF-8 * stringify: add 'utf-8' type * packet lib: update icmpv6 doc * use run\_tests.sh -N for Travis CI v3.0 ---- * Ryu 3.0 * rest\_firewall: blocked packet logging * ofctl v1.0/v1.2: add miss\_send\_len for packet in * restore bin/ryu-manager * packet lib: bpdu: add some constant values * rest\_firewall: bug fix of dict keyError * doc: update format of pages for ofproto * doc: fix warnings * doc: update reference page for ofproto * of12, of13: small update of the document * test\_parser: ensure that "len" "length" fields can be omitted * of13: update after OFPMeterBand changes * of13: make OFPMeterBand's "type" and "len" visible to users * of13: update \*.json after OFPHelloElemVersionBitmap changes * of13: make OFPHelloElemVersionBitmap's "type" and "length" to users * of13: update \*.json after OFPxxxStats.length changes * of13: make OFPxxxStats.length visible to users * of13: update \*.json after multipart request/reply's "type" changes * of13: make multipart request/reply's "type" visible to users * of13: update \*.json after OFPPacketOut.actions\_len changes * of13: make OFPPacketOut.actions\_len visible to users * of13: update \*.json after OFPMatch "type" and "length" changes * of13: make OFPMatch "type" and "length" visible to users * of13: update \*.json after OFPQueuePropHeader.property change * of13: make OFPQueuePropHeader.property visible to user * of13: update \*.json after "len" "type" changes * of13: some "len" "type" attributes visible to user * test\_parser\_v12: update after OFPxxxStats.length changes * of12: update \*.json after OFPxxxStats.length changes * of12: make OFPxxxStats.length visible to users * of12: update \*.json after OFPStatsReply.type changes * of12: make OFPStatsReply.type visible to users * test\_parser\_v12: update after OFPPacketOut.actions\_len changes * of12: update \*.json after OFPPacketOut.actions\_len changes * of12: make OFPPacketOut.actions\_len visible to users * test\_parser\_v12: update after OFPErrorExperimenterMsg.type changes * of12: update \*.json after OFPErrorExperimenterMsg.type changes * of12: make OFPErrorExperimenterMsg.type visible to users * of12: update \*.json after OFPMatch "type" and "length" changes * of12: make OFPMatch "type" and "length" visible to users * of12: update \*.json after OFPQueuePropHeader.property change * test\_parser\_v12: update after OFPQueuePropHeader.property change * of12: make OFPQueuePropHeader.property visible to user * test\_parser\_v12: update after "len" changes * of12: update \*.json after "len" "type" changes * of12: some "len" "type" attributes visible to user * packet lib: icmpv6: add nd\_router messages * add .tox/ to .gitignore * workaround a python bug * stick with pbr 0.5.19 * new way to use pbr * remove bin/ryu-manager from the list of files for pylint/pep8 * move ryu-manager to entrypoints * test\_parser: update expected json results * packet\_data: regen * packet\_data\_generator: follow the recent fixes in of\_protocol upstream * packet\_data\_generator: be specific about versions of dependencies * packet\_data\_generator: move of\_protocol upstream back to the origin * rest\_router: make pep8 comfortable * Revert "packet lib: igmp: add some constant values" * Add a configuration file for tox (http://testrun.org/tox/) * Fix POP\_MPLS of ofctl\_v1\_3.to\_actions() problem * packet lib: igmp: add some constant values * packet lib: bpdu: use text address * packet lib: igmp: add a constant value * packet lib: llc: correct a variable name * of12: add docstrings for openflow messages * of13: add docstrings for openflow messages * packet lib: igmp: add some constant values * add LACP application * rest\_router: convert haddr to bin for OFPActionSetDlSrc/Dst * rest\_router: avoid assertion when ip\_text is 0 * avoid importing a module twice * of13: set default args for FlowMod * of12: set default args for FlowMod * fix of match from\_jsondict mask bug * of13: update expected \*.json output for OFPTableFeaturesStats.name * of13: remove trailing NULs in OFPTableFeaturesStats.name * test\_parser\_v12: update after OFPTableStats.name change * of12: update expected \*.json output for OFPTableStats.name * of12: remove trailing NULs in OFPTableStats.name * of10: remove trailing NULs in OFPTableStats.name * of13: update expected \*.json output after OFPPort.name change * of13: remove trailing NULs in OFPPort.name * of12: update expected \*.json output after OFPPort.name change * of12: remove trailing NULs in OFPPort.name * of10: update expected \*.json output after OFPPhyPort.name change * of10: remove trailing NULs in OFPPhyPort.name * regen after "packet\_data\_generator: fix port names" commit * packet\_data\_generator: fix port names * of13: update expected \*.json after OFPDescStats changes * of13: make OFPDescStats more human readable * of12: update expected \*.json after OFPDescStats changes * of12: make OFPDescStats more human readable * of10: make OFPDescStats more human readable * rest\_router: update after ofproto hw\_addr changes * rest\_router: fix of10 case * a simple script to plot rest\_topology's output * topology.switches: fix bin vs text address problem * of13: update tests * of13: fix json representation of OFPPort.hw\_addr and OFPPortMod.hw\_addr * of12: update tests * of12: fix json representation of OFPPort.hw\_addr and OFPPortMod.hw\_addr * of10: update tests * of10: fix json representation of OFPPhyPort.hw\_addr and OFPPortMod.hw\_addr * stringify: allow user classes to annotate type of their attributes * of13: use text address for OFPPort.hw\_addr and OFPPortMod.hw\_addr * of12: use text address for OFPPort.hw\_addr and OFPPortMod.hw\_addr * of10: use text address for OFPPhyPort.hw\_addr and OFPPortMod.hw\_addr * MANIFEST.in: exclude packet\_data\_generator * add simple learning switch app for OF1.2 * add simple learning switch app for OF1.3 * of13: set ActionOutput default max\_len to zero * of12: set ActionOutput default max\_len to zero * fix the commit 833328a mess-up * lib/packet: update docstrings to fix broken tables in latex/pdf * doc: fix overflow from the page in latex/pdf * of1.2, of1.3: update document for OFPMatch * packet lib: fix ipv6 parser * ofctl lib: Actions is a list * of13: test\_parser: update expected \*.json results * of13: test\_parser: regen \*.packet * of13: packet\_data\_generator: use set\_field action * of13: change OFPActionSetField api, following the recent OFPMatch api * of12: test\_parser: update expected \*.json results * of12: test\_parser: regen \*.packet * of12: packet\_data\_generator: use set\_field action * of12: change OFPActionSetField api, following the recent OFPMatch api * of13: update \*.json after OFPMatch changes * of13: change OFPMatch json representation to match with on-wire * of13: make OFPMatch use oxm\_fields routines * of12: update \*.json after OFPMatch changes * of12: change OFPMatch json representation to match with on-wire * of12: make OFPMatch use oxm\_fields routines * oxm\_fields: add some routines * doc: add reference for ofproto api document * packet\_base: update docstring * doc: fix some sphinx warnings and errors * doc: fix a typo * ofproto\_v1\_3\_parser: add docstring to OFPMatch * normalize json files using tools/normalize\_json.py * a script to normalize json * lib/packet: add Internet Group Management Protocol * test\_parser: stop testing unsupported operations * test\_parser: have a list of operations expected to work * unit test: test OFPMatch.append\_field * unit test for OFPMatch old/new api compatibility * app/rest\_firewall: add API for VLAN configuration * ofproto: \_baseattribute can be class attribute * ofproto: make binary code loadable * packet lib: make vrrp get\_payload robust * packet lib to string: unit tests * packet lib to string: add \_\_str\_\_ to base * packet lib to string: inherits StringifyMixin * unit tests for the new OFPMatch api * of13: fix old parser and serializer of PBB\_ID * of12: stop assuming OFPXMC\_OPENFLOW\_BASIC * dpset: support OF1.3 * packet lib: provide bpdu.\_MIN\_LEN * packet lib: provide llc.\_MIN\_LEN * packet lib: implement lacp.\_\_len\_\_ * packet lib: implement ryu.lib.packet.lldp.lldp.\_\_len\_\_ * packet lib: provide a default impl of \_\_len\_\_ * support setup.py install with git archive tarballs * use d2to1 and pbr for packaging * tests: stop comparing text addresses * correct file permission * note about network address representation * packet lib: pydoc update/improvements after api change * packet lib api: update documentation * rest\_router: update after packet lib api changes * topology.switches: update after packet lib api changes * packet lib: change the api to use text addresses v2.2 ---- * Ryu 2.2 * sync README with the web site * add 2013 to copyright for documentations * test\_parser: update of13 expected results * of13 OFPMatch: remove now unused code * of13: more OFPMatch old api compat * of13: make OFPMatch.to\_jsondict work on instances composed with old api * of13 OFPMatchField: make this safe to serialize multiple times * of13: OFPMatch api compat * of13: OFPMatch from\_json/to\_json for new api * of13: add OFPMatch.get for convenience * of13: add OFPMatch.iteritems for convenience * of13: new OFPMatch field query api * of13: new match field parser * of13: new OFPMatch composer api * test\_parser: update of12 expected results * of12 OFPMatch: remove now unused code * of12: OFPMatch more old api compat * of12: make OFPMatch.to\_jsondict work on instances composed with old api * of12 OFPMatchField: make this safe to serialize multiple times * of12: OFPMatch api compat * of12: OFPMatch from\_json/to\_json for new api * of12: add OFPMatch.get for convenience * of12: add OFPMatch.iteritems for convenience * of12: new OFPMatch field query api * of12: new match field parser * of12: new OFPMatch composer api * oxm\_fields: accept [value, mask] as well as (value, mask) * oxm\_fields: generate OFPXMT\_OFB\_ and OXM\_OF\_ from a single source * add unit test for packet library llc * update library\_packet\_ref.rst * link to LLC sub layer * lib/packet/llc * lib/packet/bpdu * The trick for installing argparse is deleted * update packet generator code comment * test\_addrconv: fix a copy and paste mistake * Remove contrib/oslo directory * addrconv: remove embedded test code * add a test for ryu.lib.addrconv * regenerate packet\_data for meter\_mod * test\_parser: an expected result for meter\_mod * packet\_data\_generator: uncomment ofp\_meter\_mod * of13 OFPMeterMod: fix \_len vs len mismatch * of13 OFPMeterBandExperimenter: fix super * ryu/app/ofctl\_rest: add of1.3 support * add ofctl\_v1\_3 library * rest\_router: follow packet lib api change * addrconv: use bytes instead of int to represent ipv4 addresses * addrconv: replace bin<->text converters for ipv6 * addrconv: replace bin<->text converters for mac addresses * addrconv: binary <-> text conversion of mac/ipv4/ipv6 addresses * lib/packet: add Link Aggregation Control Protocol * of-wire json test: a program to generate test data for unit tests * dist: pypi tar ball misses tools directory * stringify.StringifyMixin.\_\_str\_\_: simplify * rest\_router: stop catching Exception * of-wire json test: unit test * of-wire json test: generated \*.packet * of-wire json test: expected results * of-wire json: adapt OF13 OFPMeterBand * of-wire json: adapt OF13 OFPTableFeaturesStatsReply * of-wire json: adapt OF13 OFPPortDescStatsReply * of13: fix OFPTableFeaturesStats.parser * of13: fix OFP\_TABLE\_FEATURES\_PACK\_STR * of1.3: fix OFPort parser * appease pep8 * add router Ryu application * app/quantum\_adapter: Lazily initialize neutron client * ofproto v1.3: implement MeterBand parsers * Send MeterMod messages * quantum\_adapter: race between ovs port deletion and plugin port deletion * simple\_vlan.py: race condition * gre\_tunnel.py: race condition * network: add a helper function to list ports that doesn't raise * gre\_tunnel: exception due to race condition * network.py: exception in Networks.remove\_port() * network: sort out order between event and actual deletion of network * network.py: sort out order between event and actual deletion of port * app/gre\_tunnel.py: typo has\_network -> has\_networks * app/quantum\_adapter: pylint * app/simple\_vlan: pylint * controller/network: pylint * add a test for ryu.lib.stringify * test\_parser\_v12: abuse this to test to\_jsondict and from\_jsondict * of1.3: omit mask attribute from str() when appropriate * of1.3: of-wire json adapt * of1.2: omit mask attribute from str() when appropriate * of1.2: of-wire json adapt * of1.0: of-wire json adapt * StringifyMixin: json support * ryu/flags: rename config paramerters related to openstack * app/quantum\_adapter: fix missing change to neutron * app/quantum\_adapter: project rename quantum -> neutron * app/client: update for quantum->neutron change * fix comment typos (ofprotp -> ofproto) * fix typos (mpls\_lable -> mpls\_label) * base/app\_manager: teach event dispatcher state * use ofproto.OFP\_NO\_BUFFER in some places * define OFP\_NO\_BUFFER * ryu/app/conf\_switch\_key: fix a comment * update the site url * man: remove man page of ryu client * packege: rpmlint warning * MANIFEST.in: fix up to address warning * openstack copyright notice * lib/packet: teach packet library to truncate padding octet * lib/packet: make packet\_base.parser abstract method * lib/packet: make protocol\_name property instead of attributes v2.1 ---- * Ryu 2.1 * rename ryu-client under ryu/tests * of1.3: fix OFPSetConfig default arguments * of1.2: OFPGroupFeaturesStats: tuple -> list * of1.3: fix OFP\_GROUP\_DESC\_STATS\_PACK\_STR * of1.3: fix OFPMeterStats * topology/switches: exception during serialization * topology/switches: packet in handler * packet lib: stop tlv parsing when finding LLDP\_TLV\_END * packet lib: add ICMP sub encoder/decoder class * ofctl\_v1\_2.actions\_to\_str: ignore unknown instructions * of13: prefix private attributes of OFPMatch with \_ * of12: prefix private attributes of OFPMatch with \_ * nx\_match: some comments * datapath\_connection\_factory deal with None datapath.id * of13: Added InstructionMeter * packet lib: avoid exception for bogus protocol header parsing * quantum\_adapter: check if quantum\_controller\_addr is valid * of13 OFPBucket: fix a fatal typo * of13 OFPGroupDescStats: fix super call * of13 OFPExperimenter: fix parser and remove completely broken serializer * of13 fix OFPQueueProp parsing * of13 fix multipart reply parsing * of13 fix OFPGroupFeaturesStats parser * of13: add missing itertools import * of12 OFPGroupFeaturesStats: add missing self.length * of12: fix OFPExperimenter parser * of1.3: Fix parsing of OFP\_QUEUE\_GET\_CONFIG\_REPLY * packet lib: packet class supports get\_protocol method * packet lib: add Packet.\_\_contains\_\_ * packet lib: packet class accepts protocols list argument * packet lib: arp default args * packet lib: vlan default args * packet lib: mpls default args * packet lib: ipv4 default args * packet lib: icmp support time exceeded type * of1.2: fix OFPSetConfig default arguments * fix travis config file * Add config file for Travis * packet lib: allow packet type to be specified when parsing packet * packet lib: For convenience, make packet into a sequence type v2.0 ---- * Ryu 2.0 * of1.3: various fixes * fix 77effb29 regression * packet lib: make test\_packet work stand-alone * Add Packet library API Reference * lib/packet: DHCP packet parser/serializer * ofproto/ofproto\_parser: pylint * of1.0: use tun\_id instead of tun\_id\_ * docs: fix ryu module import * tests/unit/packet/test\_vrrp: add tests for is\_valid() * lib/packet/vrrp: fix is\_valid() * test\_parser\_v10: remove tests for \_\_str\_\_ * of13: Fix for OFPQueueGetConfigReply/Request * run\_tests: make python interpreter overridable * app/gre\_tunnel: pylint * app/quantum\_adapter: unbreak quantum change * of10: sprinkle StringifyMixin * of: StringifyMixin * use dpid\_to\_str in some places * tests/ofproto: add unit test for ofproto automatic detection * ofproto: exception during startup related ofp module detaction * tests/ofproto: add unit test for ofproto automatic detection * ofproto: exception during startup related ofp module detaction * of13: add missing UINTxx\_MAX * controller/ofp\_event: don't hardcode supported OFP parser module * ofproto: detect supported OFP versions automatically * ofproto\_parser: simplify msg\_str\_attr() a bit * update requirements * Support bind IPv6 addresses in StreamServer * Revert "add eventlet to test requirement" * ofproto: change the way \_\_str\_\_ is implemented for of-wire messages * controller: stop catching GreenletExit * hub: add some more tests * hub: handle GreenletExit internally * hub: comment * of1.0: simplify NXAction initialization * of1.0: simplify OFPActionVendor * of1.0: NXActionHeader should be subclass of OFPActionVendor * of1.3: fix OFPPortStatus parser * of1.3: fix parser of OFPGetAsyncReply * of1.3: fix serializer of OFPSetAsync * of1.3: fix wrong method name in OFPQueueGetConfigRequest * of1.3: fix pack string of OFPMeterStatsRequest * of1.3: fix wrong class name in OFPGroupFeaturesStatsRequest.\_\_init\_\_() * of1.3: fix attribute name of OFPGroupDescStats * of1.3: fix lacking argument in OFPAggregateStatsRequest.\_\_init\_\_() * add eventlet to test requirement * lib/hub: Event.wait should return its internal flag * of1.0: match accepts partial parameters * limit the size of ryu app's event queue * controller: fix send queue draining again * sweep the tree to change from gevent to ryu.lib.hub * add a threading hub module v1.9 ---- * Ryu 1.9 * of1.0: add nx\_aggregate\_stats support * of1.0: OFPMatch support keyword-style parameters * ovs.poller: workaround a bug in eventlet * run\_tests.sh: support integrated tests * tests/integrated: auto testing script using Mininet and OVS * tests/integrated: Skip MPLS related test * Fix typo in comments in GRE tunnel class * ryu/app/simple\_vlan: fix typo * add a template for ryu.lib.packet class documentation * ryu.lib.packet: docstring tweaks for better rendering * nx\_match: support IPv4 mask * rest\_tunnel: fix comment typos * of1.3: parser should return msg, not implicit None * nx\_match: remove an unnecessary import * of1.3: remove port\_no argument * of1.3: fix typos in ofproto\_v1\_3.py * ryu/app/rest\_firewall.py: handling of no switch connection * ryu.lib.packet: docstring * ryu.lib.packet: docstring * of1.0: add nx\_match to NXFlowStatsRequest * lib: ip address presentation convert helper methods * g/c a stale reference to find\_protocol * packet lib: docstring * tests/unit, lib/packet/vrrp: unit test for vrrp packet parser/serializer * lib/packet: VRRP packet parser/serializer * lib/packet/ipv6: add constants for parse/serialize * lib/packet/ipv4: add constants for parse/serialize * ofproto/inet: add VRRP protocol number * lib/packet/arp.py: add convenience function to create arp for ip * ofproto/nx\_match: pep8 * doc: fix the mailing list address * of1.3: Add special group identifier values defined on OpenFlow 1.3.1 * lib/packet/lldp.py: pylint * ryu/lib/packet/lldp.py: remove \_\_str\_\_ method from class LLDPBasicTLV and class lldp * tests/integrated/test\_of\_config: comment on how to run * tests/integrated/test\_of\_config: disable known host check * setup.py: install xsd files * nx: match\_tuple() function now handles nw src/dst * nx: make pack string of IPv6 address consistent with OF1.2/1.3 * topology/dumper: define contexts to receive events * ryu/topology/switches: simplify Switches with RyuApp.reply\_to\_request * ryu/base/app\_manager: introduce RyuApp:replay\_to\_request() * base/app\_manager.py: sort out registering bricks * ryu/base/app\_manager: pylint unused variables * topology/dumper: use handler.set\_ev\_cls instead of set\_ev\_handler * remove openstack related document * ryu/lib/packet/packet.py: should use isinstance instead of \_\_class\_\_.\_\_base\_\_ * lib/packet/packet\_utils: optimize checksum v1.8 ---- * Ryu 1.8 * rest\_firewall: fix comments * topology/dumper: fix RyuApp.\_\_init\_\_ signature * doc: fix a program name * of1.0: fix import error * of1.0: utils.round\_up cleanup * lib/packet/tcp: use checksum\_ip() * lib/packet/udp: use checksum\_ip() * lib/packet/icmpv6: use checksum\_ip() * lib/packet: checksum function with pseudo ipv4/ipv6 header * lib/packet/packet\_utils: improve checksum byteswap * lib/packet/packet\_utils: improve checksum padding * tests/unit/packet/test\_tcp.py: typo UDP -> TCP * test\_icmpv6: correct icmpv6 checksum * ryu-client: print http response * ryu-client: support Topology REST API * topology: Add REST API * topology: exported function returns Switch/Link list instead of event * lib/port\_no: handling port\_no as string * support parse OFPAction in NXFlowStats * test\_parser\_v10: fix unittest breakage * lib/packet/packet\_base: fix signature of PacketBase.{parser, serialize} * of1.0: fix NXActionHeader typo * lib ofctl\_v1\_2: add VLAN\_ID setting means * ofproto\_v1\_0\_parser: add nx\_flow\_stats\_{request, reply} * ofproto\_v1\_0: add nx\_stats constants * nx\_match: add MFField parser * lib ofctl\_v1\_2: fix file modes * add ofctl\_v1\_2 library * update ofctl\_v1\_0 library * add firewall Ryu application * app\_manager: fix close dict handling bug * ryu-manager: use try-finally statement * nx\_match: add vlan and vlan\_pop * topology: support link discovery * topology: switch discovering module * event: Add sync flag and event src for request/reply * TLS: use a full spelling of a cli option * TLS: test cli options consistently in the same line * TLS: update an example output * ofconfig: use ElementTree iterator instead of getchildren * ryu.controller.controller.Datapath: keep handler list regardless of state * vsctl: fix timeout * tunnel\_port\_updater: g/c \_LOCK * packet lib: fix icmpv6.nd parser * doc: of\_config library * of\_config: sample test code to use ofconfig capable\_switch * of\_config: OF capable switch class to issue OFConfig request * of\_config: constants for of-config * of\_config/schema: add missing import * of\_config: import XML schema files for OF config * netconf: add constants for netconf * netconf: improve schema for netconf * netconf: import XML schema for netconf * netconf: import xml schema * MANIFEST.in: include XML schema files * ofp: send events to others before calling own handlers * wsgi: remove unused logging code * doc: fix bug in tls.rst * log-cleanup: honor --default-log-level in case of --verbose * log-cleanup: per RyuApp logger * log-cleanup: remove an unused logger instance * log-cleanup: remove an unused logger instance * ryu-manager: stop modifying CONF.app\_list * of1.3: fix error in group\_mod * Add request/reply event support to support communication between apps * ryu.log: change type of --use\_syslog option to Boolean * contrib ncclient: missing comma * contrib: import ncclient library (NETCONF clients) * of1.3: fix a comment typo * revert s/\_/-/ changes for ryu.conf * fix missing parameter in calling 'msg\_pack\_info' of OFPActionPushMpls/PopMpls * add missing 'field' parameter to \_\_init\_\_ function of OFPActionSetField * fix incorrect naming '\_\_serialize\_body' in OFPRoleRequest * fix OFPMatch decode error in 'parser' function of OFPFlowRemoved * add missing 'length' field of OFPPort when decoding * add missing 'match' parameter to \_\_init\_\_ function of OFPAggregateStatsRequest * fix error in OFP\_DESC\_PACK\_STR (change 'c' to 's') * remove port\_no argument of OFPPortDescStatsRequest.\_\_init\_\_ * fix OFPMultipartRequest.\_serialize\_stats\_body * test of1.2: fix typos from mid to min * g/c --monkey-patch option * test of1.2: add test code of OFPErrorExperimenterMsg v1.7 ---- * Ryu 1.7 * RyuApp: allows observers to specify state * lib/mac: fix raise ValueError * app\_manager: allow separated modules of Event and RyuApp * of1.2: fix OFPErrorExperimenterMsg * try to sync documentation with the reality * mechanical documentation update after option name changes * update an example after option name changes * change --foo\_bar options to --foo-bar * appease pep8 * test of1.2: add test code of max, min, and pattern. review of the test code * xflow: add sflow support * remove no longer used contrib/openstack * switch from openstack.common.cfg to oslo.config.cfg * import oslo-config * controller: fix that sender thread is never terminated * test: remove unnecessary variables * packet lib: fix icmpv6.nd\_s.parser() and support NDP option type * of1.3: fix error in port\_mod and get\_config\_reply logic * ryu/controller/dpset.py: duplicate import * of1.2: fix OFPGroupDescStats parser * doc: internal document on openstack cooperation * test: tuning integration test for OFPT\_FLOW\_REMOVED * of1.3: fix ACTION\_POP\_MPLS * stop requiring gflags * fix a typo in the help message of quantum\_controller\_addr * update a sample and documentation * adjust import order in ryu-manager and add a comment * use openstack.common.cfg instead of gflags * import cfg.py from oslo-incubator * controller: fix send\_q draining * of1.2: fix OFPQueueProp parser * fix breakage the commit 68f3259754fdbd7b5351c9739bf6f238c7ffb313 * controller/ofp\_handler: improve version negotiation * quantum\_adapter: exception when VM deletion * LICENCE: change end-of-line code CRLF to LF * tests: make run\_tests.py, test\_lib.py executable as it includes #! * doc: man pages for ryu-manager and ryu-client * doc: eliminate sphinx warnings * fix typos in comments * fix a fatal typo in network.py * fix a fatal typo in GRETunnel \_CONTEXTS * gre\_tunnel: adapt to the new world order after dispatcher removal * tunnel\_port\_updater: adapt to the new world order after dispatcher removal * controller/handler: allow set\_ev\_handler without dispatchers * app\_manager: add some assertions and LOG.info * app\_manager: print event flow for --verbose * app\_manager: print some info about event flows for --verbose * app\_manager: add an function to register an app instance explicitly * Add support live-migration * ryu/controller/controller: add a helper method, is\_reserved\_port() * ovs/bridge: more helper methods * ovs/vsctl: more commands * lib/ovs/db\_client: library for low-level ovsdb manipulation * app/client: add mac support * app/rest: add requirements to path component * app/rest: add API to register/update mac address for a given port * app/tunnel\_port\_updater: application that creates/deletes tunnel ports * ryu/controller/network.py: add helper functions for tunnel updater * app/gre\_tunnel: implement GRETunnel app * packet lib: rename icmp6 to icmpv6 * test: fix integration tests: reflects 978f3e5c * dpset: fix the new event mechnism breakage * dpset: improve debug message * packet lib: fix a bug in ipv6 * test: update integration tests * ryu/app/simple\_vlan: simple VLAN app for OVS * app: Add quantum adapter * bin/ryu-client: teach quantum iface rest api * ryu/app/client: teach quantum iface api * rest/quantum: quantum iface REST API * ryu/lib/quantum\_ifaces.py: track the relation of quantum iface-id * bin/ryu-client: support switch\_conf * bin/ryu-client: support gre tunnel client * ryu/app/client: support conf\_switch * ryu/app: REST API to set per-switch configuration * controller/switch\_conf: introduce a class to manage per-switch configuration * app/client: add tunnel client * app/rest\_tunnel: REST API for tunnel * controller/tunnel: introduce new class for tunneling * dpset: add port event support * controller/network: add event supports * controller/handler: allow set\_ev\_cls not to specify dispatchers * packet lib: add ipv6 ICMP support * packet lib: add ipv6 support * packet lib: add LLDP support * xflow: add netflow support * remove event dumper application * remove old dispatcher and friends * bin/ryu-manager: import ryu.flags for common options * app/client: add helper function to ignore NOT\_FOUND, 404 * ryu/app/client: factor out rest client code * app/rest\_nw\_id: add port type for reserved port and vport-gre * app/rest: add requirements to path component * replace dispatcher mechanism * lib/ovs/bridge: helper class to manipulate ovs bridge * lib/ovs/vsctl: python reimplementation of ovs-vsctl * lib/ovs: add constants for ovsdb Open\_vSwitch db * contrib: fix a comment typo * dpset: fix join race * packet lib: pep8 warning fix * test: remove some unnecessary bash dependencies v1.6 ---- * Ryu 1.6 * test: add mininet-test suite * test: Add "Decrement IP TTL" integration test * ofctl\_v1\_0: fix stats timeout handling * fix lack of comma in flagfile list * of1.3: Fix a typo in OFPPacketOut * setup: update installation infos * test: change the branch of openvswitch to 'of12' * ofp\_handler: receiving side of OFPHelloElem version negotiation * of1.3: improve OFPHello and OFPHelloElemVerionsBitmap * ofctl\_{rest, v1\_0}: update and clean up * ryu-manager: fix keyError * don't abuse \_\_dict\_\_ attribute * ofp\_handler: Improve hello version negotiation * of1.3: fix OFPMultipartReply parser * of1.3: support OFPHET\_VERSIONBITMAP * doc: setup TLS connection * of1.3: fix OFPT\_PACKET\_IN parser v1.5 ---- * Ryu 1.5 * set setup.py install\_requires properly * python/ovs/stream: Fix Stream.connect() retval for incomplete connection * Revert "contrib/ovs/stream.py: TypeError: bad operand type for unary -: 'NoneType'" * ryu/log: bugfix * ofctl\_v1\_0: update and clean up * enable OF1.3 support * of1.3: fix OFPMP\_FLOW * of1.3: support OFPMatch * Add workaround to switch\_features\_handler for OF1.3 * of1.3: fix OFPPacketQueue * of1.3: fix OFPSetAsyn * of1.3: fix OFPQueueProp * of1.3: fix OFPMeterFeaturesStatsRequest * of1.3: fix OFPMeterConfigStatsReply * of1.3: fix OFPPortStatsReply * of1.3: fix OFPMP\_AGGREGATE * of1.3: fix OFP\_DESC\_PACK\_STR * of1.3: fix OFP\_METER\_BAND\_DSCP\_REMARK\_PACK\_STR assert * of1.3: fix OFP\_TABLE\_MOD\_PACK\_STR assert * of1.3: fix OFP\_OXM\_EXPERIMENTER\_HEADER\_SIZE assert * contrib/ovs: TypeError: bad operand type for unary -: 'NoneType' * of1.2: fix some error constant typos * packet lib: add arp constants * add TLS support * of1.2: Fix MTVlanVid() parser and serializer * don't use select.POLL\* constants * ofctl\_v1\_0: update get\_flow\_stats() to dump actions * wsgi/routes: add regex pattern for each REST component * contrib/ovs/dirs: replace @variables@ which is replaced by configure * import ovs python binding library * prepare contrib directory which holds third party library * of1.2: Fix OFPActionExperimenter parser * packet lib: remove unnecessary ICMP debug message v1.4 ---- * Ryu 1.4 * ryu/app/ofctl\_rest: implements ofctl\_rest app * ryu/lib/ofctl\_v1\_0: introduce OF interface * test: add unittests for packet library * silence unhandled event message * test: add unittests for packet library * packet lib: fix udp header length * packet lib: fix ipv4 assertion of option field * tools/pip-requires: add routes which is used by wsgi.py module * packet lib: add unparsed data to Packet.protocols * doc: update packet library * packet lib: kill find\_protocol in Packet class * packet lib: set protocol\_name in each protocol * packet lib: make Packet class iterator * packet lib: fix icmp echo serialize * packet lib: add mpls * test: fix unittests for of parser * packet lib: add icmp.py * ofp\_handler: print msg.data in hex format, not raw string * utils: a helper function to convert byte array into hex string * of1.0: fix/add PortMod message * Removed leading '/' from data\_files v1.3 ---- * Ryu 1.3 * Fix zero padding * packet lib: fix vlan pcp bitshift * packet lib: ipv4 option data support * test: add more of1.2 integration tests * packet lib: tcp option support * doc: fix typo in openstack.rst * doc: rearrange top page * doc: use README as getting\_started * doc: rename getting\_started.rst -> parameters.rst * doc: rearrange openstack docs * doc: packet library * app/simple\_isolation: update handler registration * packet lib: fix ipv4 flags bitshift * simplify handler registration core * register OFP handlers via register\_instance * doc: integrate HACKING.rst into SubmittingPatches.rst * doc: rename SubmittingPatches to SubmittingPatches.rst * doc: convert SubmittingPatches into reST style * doc: update README.rst about migration from osrg.net * doc: set PYTHONPATH for ryu version constant * doc: write Ryu application * doc: use ryu version constant * doc: change Sphinx style to haiku * doc: fix the link in README.rst v1.2 ---- * Ryu 1.2 * remove OFPFlowRemoved and OFPPortStatus handlers in MAIN\_DISPATCHER * remove unnecessary OFPFlowRemoved and OFPBarrierReply handlers in CONFIG\_DISPATCHER * remove unnecessary OFPEchoReply handler in dispatchers * packet lib: fix ipv4 option field handling * packet lib: set \_MIN\_LEN class variable * packet lib: add tcp support * packet lib: convert ip to use the checksum helper function * packet lib: add udp data transmit and checksum support * packet lib: add packet\_utils.py * packet lib: add data serialize support to Packet class * packet lib: calculate the udp length * packet lib: calculate the ip total length * packet lib: serialize in reverse order * of1.2: fix OFPFlowRemoved parser * of1.2: fix ofp\_port\_stats pack format * test: fix pep8 1.3.3 warnings * fix pep8 1.3.3 warnings * test: use the latest version of pep8 * add packet library * controller: print backtrace when exception in addition to stacktrace * test: add stats and config tests to integrated test suite * of: Fix OFPEchoRequest serialize * of1.2: pretty OFPGetConfigReply parser * clean up ETH\_TYPE\_ constants * add ethernet type constants * test: fix SET\_NW\_TOS action in test\_add\_flow\_v10 * clean up IPPROTO\_ constants * add IPPROTO\_SCTP constant * rename ryu/ofproto/in.py to ryu/ofproto/inet.py * test: specify OF version in integrated test suite * Add SubmittingPatches doc v1.1 ---- * Ryu 1.1 * of1.2: handle unknown match field properly * test: simplify integrated OVS test suite * test: add more of1.2 unittests * of1.2: fix IPv6 match parsers * of1.2: make set\_metadata implementation consistent with the rest * of1.2: fix OFPExperimenter parser * of1.2: fix Instruction parser * of1.2: add OXM\_OF\_METADATA support * fix 475ca44ef4f87b00945ccd5be8ee4ab196c4e86f regression * test: add integrated OVS test suite * of1.2: fix OFPPortStatsRequest typo * of1.2: OFPGroupMod and OFPGroupFeaturesStats * simple\_switch: remove outside module dependence * cbench: specify OF1.0 * simple\_switch: specify OF1.0 * stop import ofproto\_v1\_0 as ofproto * nxm: remove import ofproto * of1.2: OFPMatch serialiser: fix ARP\_SPA, ARP\_TPA and IPV6\_FLABEL masking * simple\_switch: fix port\_status\_handler * of1.2: add OFPSF\_REPLY\_MORE constant * of1.2: remove unused mask in MTEthType * enable applications to specify OF versions * of1.2: add OFPQueuePropMinRate and OFPQueuePropMaxRate * nxm: fix nxm to OFPMatch conversion * of1.2: fix OFPGroupMod serialize * of1.2: OFPSetField serializer pads too much * of1.2: fix OFPPacketIn parser * of1.2: fix MTIPv6NdTarget * of1.2: fix OFPActionPopVlan parser * of1.2: fix OFPActionSetField padding * of1.2: fix vlan\_vid match * app/rest: fix value error exception * of1.2: change IPv6 address representation * of1.2: fix OFPActionSetField * of1.2: Correct pad calculation for OFPMatch * of1.2: fix OFPBucket parser and serialize methods * of1.2: fix OFAActionCopyTtlOut and OFPActionCopyTtlIn's parsers * of1.2: fix OFPActionSetField * of1.2: remove match argument in MT\* class serialize method * of1.2: add the common serialize method for MT\* classes * of1.2: make MT\* class make method take value and mask * of1.2: set value and mask in MT\* instance * of1.2: remove unused parser method in MT\* classes * of1.2: add common field\_parser for MT\* classes * of1.2: make pack\_str class variable * test: add more of1.2 unittests * of1.2: add missing struct ofp\_bucket definition * of1.2: implement FlowStats instruction parser v1.0 ---- * Ryu 1.0 * of1.2: add unittest workaround to OFPPortStatus parser * of1.2: fix bugs * add '--version' command line option * of1.2: add OFPG\_ constants * of1.3: Add OFPQ\_ALL * of1.2: Add OFPQ\_ALL * test: improve the framework * doc: add the supported OF versions to README.rst * of1.2: add OFPFlowStats support * of1.2: fix OFPPacketIn parser to set ethernet frame * of1.2: improve OFPMatch parser * nxm: fix NXM\_NX\_REG * of1.2: add OXM\_OF\_IPV6\_ND\_SLL and OXM\_OF\_IPV6\_ND\_TLL * of1.2: add OXM\_OF\_IPV6\_ND\_TARGET * of1.2: add OXM\_OF\_ICMPV6\_TYPE and OXM\_OF\_ICMPV6\_CODE * of1.2: add OXM\_OF\_IPV6\_FLABEL * of1.2: add OXM\_OF\_IPV6\_SRC and XM\_OF\_IPV6\_DST * don't call send\_delete\_all\_flows function in the core * add round\_up utility function * of1.2: Correct arguments to OFPMatch.parser() in OFPPacketIn * of1.2: support ofp\_instruction for OFPFlowMod * of1.2: add OXM\_OF\_ICMPV4\_TYPE and OXM\_OF\_ICMPV4\_CODE * of1.2: add OXM\_OF\_SCTP\_SRC and OXM\_OF\_SCTP\_DST * of1.2: add OXM\_OF\_UDP\_SRC and OXM\_OF\_UDP\_DST * of1.2: add OXM\_OF\_TCP\_SRC and OXM\_OF\_TCP\_DST * of1.2: add OXM\_OF\_IP\_SRC and OXM\_OF\_IP\_DST * of1.2: add OXM\_OF\_IP\_PROTO * of1.2: add OXM\_OF\_IP\_ECN * of1.2: add OXM\_OF\_IP\_DSCP * of1.2: remove FWW\_\* constants * of1.2: fix OFPFlowMod and OFPFlowRemoved * Add OFPBarrierRequest and OFPBarrierReply * Remove duplicated OFPMatch definition * of1.3: initial OF1.3 support * nxm: add NXM\_NX\_REG * fix test\_lib.py for SkipTest * nxm: add NXM\_NX\_IP\_FRAG * nxm: add NXM\_NX\_ND\_TARGET * nxm: add NXM\_NX\_IPV6\_SRC and NXM\_NX\_IPV6\_DST * nxm: add NXM\_NX\_IPV6\_LABEL * nxm: add NXM\_OF\_ARP\_SPA and NXM\_OF\_ARP\_TPA * nxm: fix MFField putw * of1.2: initial ofp\_match support * of1.2: reorder the arguments of OFPPacketOut * nxm: add NXM\_NX\_ICMPV6\_TYPE and NXM\_NX\_ICMPV6\_CODE support * add IPPROTO\_ constants * nxm: fix NXM\_OF\_ICMP\_TYPE and NXM\_OF\_ICMP\_CODE * nxm: fix nxm\_put() * Fix README.rst format * Move version string to ryu/\_\_init\_\_.py * Update setup.py * Update REAME.rst * of1.2: Add OXM\_OF\_ constants * of1.2: fix typo * of1.2: fix some typos * update the official site url * ofproto/nx\_match: various minor clean up * ofproto/nx\_match: simplify set\_dl\_{src, dst}\_mask() * of1.2: add MAX\_XID constant * update setup.py for PyPI * nxm: add NXM\_OF\_ICMP\_TYPE and NXM\_OF\_ICMP\_ICMP\_CODE support * nxm: add NXM\_OF\_IP\_SRC and NXM\_OF\_IP\_DST support * nxm: add NXM\_NX\_ARP\_\* support * nxm: add NXM\_OF\_TCP\_\* and NXM\_OF\_UDP\_\* support * nxm: add NXM\_OF\_ETH\_SRC\_W support * nxm: support arbitrary dl\_dst masks * nxm: add NXM\_OF\_IP\_PROTO support * nxm: add NXM\_NX\_IP\_TTL support * of1.2: cleanup and update * nxm: add NXM\_OF\_VLAN\_TCI support * kill unused function in utils.py * support commandline application initialization * Pass AppManager module name instead of class name * Make clear that ryu supports all the NX actions * Add Nicira Extension NXAST\_LEARN support * Add Nicira Extension NXT\_SET\_ASYNC\_CONFIG support * Add Nicira Extension NXT\_FLOW\_AGE support * Add Nicira Extension NXT\_PACKET\_IN support * Add Nicira Extension NXT\_SET\_PACKET\_IN\_FORMAT support * Add Nicira Extension NXT\_FLOW\_REMOVED support * rename NXMatch parse method to parser * update setup.py and setup.cfg for better packaging * doc: update the requirement in README * Replace wsapi * add Nicira Extension NXAST\_NOTE support * add Nicira Extension NXAST\_DEC\_TTL support * add Nicira Extension NXAST\_FIN\_TIMEOUT support * add Nicira Extension NXAST\_CONTROLLER support * Add Nicira Extension NXT\_SET\_CONTROLLER\_ID support * silence pep8 warning * fix NX\_ACTION\_HEADER pack string and size * don't close connection when getting OFPT\_ERROR\_MSG * rename OFPGetSwitchConfig to OFPGetConfigReply class * discard sample/test\_simple\_switch because of unittest fail * test: add NTT copyright to unittest files * app/simple\_switch: fix commit e5e4b844250d36788f9b1bf71cfd36a6e14d5315 regression * ryu/app: convert existing application to new style ryu application * base/app\_manager: introduce application context * add NXT\_ROLE\_REPLY support * Add Switch to Controller Nicira extension message support * Add Switch to Controller Vendor message support * test: add more unittests * Fix NXActionAutopath parser * test: add unittests for of1.2 parser * test: add more unittests for of1.0 parser * test: add more unittests for of parser * Fix OFPFlowRemoved \_\_str\_\_ method typo * Fix OFPVendorStats parser method * Fix OFPSwitchFeatures parser (of 1.2) * Fix the commit 458042d4032ad52dff93deb0f78d94cadb4f2d37 messup * Fix the commit eea434b8e45bc8ee91aa02096903a66af898ae35 messup * Fix OFPFlowStats parser * Add Nicira Extension NXAST\_POP\_QUEUE support * Add Nicira Extension NXAST\_SET\_QUEUE support * add Nicira Extension NXAST\_AUTOPATH support * add Nicira Extension NXAST\_EXIT support * Fix NXActionSetTunnel64 parser * Fix NXAactionOutputReg parser * rename NXTRequest to NiciraHeader * add NXT\_ROLE\_REQUEST support * Add NXT\_ROLE\_REQUEST/REPLY constants * ryu/controller/dpset.py: code simplification * lib/dpid: dpid formatter/parser * Kill parser\_stats\_body\_array method in OFPFlowStats class * fix OFPQueueGetConfigReply parser * fix OFPVendor parser * fix typo in ofproto\_v1\_0\_parser comment * fix StatsReply parser * Fix OFPQueuePropMinRate class * fix OFPPacketQueue class parser * ryu/app/wsapi: make json\_parse\_message\_body work * Pretty NXAcationBundleBase parser up * fix NXActionRegLoad parser * fix NXActionRegMove parser * fix NXActionMultipath parser * add Nicira Extension NXAST\_OUTPUT\_REG support * add Nicira Extension NXAST\_BUNDLE and NXAST\_BUNDLE\_LOAD support * add Nicira Extension NXAST\_REG\_LOAD support * add Nicira Extension NXAST\_REG\_MOVE support * Fix OFPStatsReply parser * Add NXAction parser support * Add OFPActionStripVlan class * lib/mac: improve helper functions * ofproto/ofproto\_v1\_0\_parser: PacketIn parser * ofproto\_v1\_0\_parser: fix OFPPacketOut serializer * remote COPYRIGHT file from MANIFEST.in * README: added the pointer to Gmane ML archive * add Nicira Extension NXAST\_MULTIPATH action * Added test framework, ported from Quantum * doc/source/step\_by\_step.rst: add item to setup quantum db * Fix OFP\_ACTION\_DL\_ADDR\_PACK\_STR * Fix OFPActionHeader class 'serialize' method * controller/controller: make send\_flow\_mod() allow default value for priority * app: use symbol instead of 32678 for default priority * ofproto/ofproto\_v1\_0\_parser: flowmod default parameter * ofproto/ofproto\_v1\_0\_parser: make FlowMod allow meaningful default parameter * controller, ofproto\_v1\_0: avoid format for argument * ofproto/ofproto\_v1\_0\_parser: serializer for NXActionResbumit * ofproto/ofproto\_v1\_0\_parser: serializer for nxt\_flow\_mod\_table\_id * ofproto/ofproto\_v1\_0\_parser: improve NXTRequest initializer * ofproto/ofproto\_v1\_0: more constants for nx * app/wsapi: make WSPathComponent inherit object * app/wsapi/WSPathArbitraryString: wrong indent * add missing super().\_\_init\_\_() * app/simple\_isolation: unbreak nx patch * fix find\_flagfile path handling bug * update docs on the license switch * Switch to Apache 2.0 license * Use the original file license v0.2 ---- * ryu 0.2 * ignore GreenletExit exception * Add NXActionSetTunnel and NXActionSetTunnel64 * Allow send\_flow\_mod() to send NXTFlowMod messages * Add match\_tuple() and flow\_format() methods to ClsRule * Add NXTFlowMod * NXM: Add MFIPDSCP and MFIPECN classes * NXM: Add MFEthType class * NXM: Add MFEthSrc class * NXM: Add MFEthDst class * NXM: Add MFTunId class * NXM: Add MFInPort class * Add base for serialising NXM matches * Add support for NXT\_SET\_FLOW\_FORMAT * Add Nicira vendor extensions * ryu/handler: class decorator should return class object * controller: print stack trace when datapath main loop goes wrong and log it * controller/network: fix key error * Avoid loop in OFPAction.parser() * Increment offset in OFPFlowStats.parser() * Use struct.unpack\_from() in OFPFlowStats.parser() * doc: update README.rst (OpenStack mainline inclusion status) * Correct typos in OFPFlowStatsRequestBase class * yield the CPU to other greenlets * avoid reading too much data from socket * limit the queue size (send\_q) * kill recv\_q * dispatcher: eliminate weakref.WeakValueDictionary * dispatcher: eliminate use of weakref for EventQueue event queue * controller: eliminate weakref of datapath.ev\_q.aux * dispatcher: use TrackInstances and kill some WeakValueDictionary * lib: mixin class to track all instances of a given class * controller: make Controller::serve more robust * ryu/controller/ofp\_event: use utils.load\_module * ryu/utils: make import\_module() reliable * controller/dispatcher: eliminate unregistering handlers * enable OF1.2 support * add initial OF1.2 support * doc: update using\_with\_openstack.rst to catch up openstack * add HACKING.rst: style guide * doc: update osrg/nova, quantum repository * setup.py: typo autor -> author * dpset: pep8 * ryu/controller/handler: pep8 * ofproto\_parser: pep8 * ofproto\_v1\_0\_parser: typo * ofproto/ofproto\_v1\_0\_parser: unbreak 0bff34ca87af74b7eb13d9c996fd869172a7f0a4 * doc: sample configuration files * doc: step-by-step example * app/simple\_isolation: various improvement * controller/{mac\_to\_port, network}: add more methods to track port status change * controller/datapath: add a helper function to delete flow entries * controller/dispatcher: eliminate the use of WeakSet * fix ofp\_event conversion messup * add cbench application * move to the main mode right after sending BARRIER * fix datapath disconnection cleanup * rest: add '/network' prefix to its path * remove unused members in Datapath class * client: pass http responce when an error occurs * controller: factor out ofp message event from event.py * pylint: various fixes for pylint * doc: how to invoke ryu-manager, its options and example * app: event dumper application * controller/dpset: Introduce datapath enter/leave event * dispatcher, handler: constantiate dispatcher name * controller: pass datapath to EventQueue for EventQueueCreate event * dispacher: introduce inheritable handler * controller/dispatcher: introduce events on event queue itself * dispatcher: pass name to EventQueue and track all instances * controller/dispatcher: allow handler that accepts any event type * controller/dispatcher: pylint * use 0 dl\_{src, dst} for OFPMatch * move \_pack\_into and \_str\_attr to ofproto\_parser.py * xid: improve xid handling * ofproto\_v1\_0: add a constant, MAX\_XID * ofproto/ofproto\_v1\_0\_parser: more parsers/serializers * ofproto\_v1\_0\_parser: allows 0 as dl\_{src, dst} for OFPMatch * lib/mac: add helper function/values * ofproto/ofproto\_v1\_0: typo, missing consts * move MsgBase class to ofproto\_parser.py from ofproto\_parser\_v1\_0.py * remove OF version dependence from MsgBase class * pylint: add a script to run pylint and pylintrc * pep8: utils.py * pep8: ryu/ofproto/ofproto\_v1\_0.py * ryu.conf: eliminate obsolete config * Use from gevent.queue import Queue * Fix to send OFPT\_HELLO with the highest OpenFlow protocol version * doc: how-l2-segregation-works: update images a bit * doc: fix typos * doc: use Network Operating System instead of Network OS for consistency * doc: fix typo * doc: clarify our goal for OpenStack v0.1 ---- * initial commit