e2f58dac852b1f0e290aa266b9467abb6a78b38e
[vsorcdistro/.git] / ryu / ChangeLog
1 CHANGES
2 =======
3
4 v4.32
5 -----
6
7 * Ryu 4.32
8 * app/ofctl: fix possible deadlock
9
10 v4.31
11 -----
12
13 * Ryu 4.31
14 * Choose the highest TLS version
15
16 v4.30
17 -----
18
19 * Ryu 4.30
20 * Grammatical improvements to some of the documentation
21
22 v4.29
23 -----
24
25 * Ryu 4.29
26 * app/ofctl: fix possible deadlock when the datapath disconnects
27
28 v4.28
29 -----
30
31 * Ryu 4.28
32 * Fix convertion of ipv4 to string on i386 and arch
33 * mrtlib: Define JSON representation types
34 * test\_mrtlib: Test cases for ADD\_PATH
35 * mrtlib: Support RFC8050
36 * mrtlib: Missing subclass for SUBTYPE\_RIB\_\*\_MULTICAST
37
38 v4.27
39 -----
40
41 * Ryu 4.27
42 * Declare support of recent python3 versions
43 * Test more python versions on travis CI
44 * Bump oslo.config to 2.5.0
45 * Fix UT when running in python 3.7 env
46 * lib/ovs/bridge: Return multiple controllers
47 * BGPSpeaker: Enable to specify remote port for neighbor
48 * switch.tester: Fix name shadowing
49 * gui\_topology: Avoid wildcard URL matching
50
51 v4.26
52 -----
53
54 * Ryu 4.26
55 * nx\_actions: Fix NXActionSetTunnel docstring
56 * Fix pycodestyle W605 warnings
57 * BGPSpeaker: Fix BGP state string conversion
58 * pycodestyle: Ignore W504
59 * BGPSpeaker: Advertise local routes to RR clients
60 * pip: Blacklist eventlet 0.23.0
61 * lldp: Remove remaining SystemCapabilities.subtype from tests
62 * lldp: fixed SystemCapabilities TLV
63
64 v4.25
65 -----
66
67 * Ryu 4.25
68 * allow versions of eventlet > 0.21.0
69
70 v4.24
71 -----
72
73 * Ryu 4.24
74 * ofproto: add Nicira extension ct\_clear action
75 * ofproto: Encode data field on OFPErrorMsg
76 * ofp\_handler: Close socket when HELLO failed
77 * controller: Wait for switch to disconnect connection
78 * controller: Option to close socket after sending Message
79 * controller: Improve pylint result
80 * test\_requirements: Avoid using pip as library
81 * utils: Remove "parse\_requirements" function
82 * Switch to msgpack in pip-requires
83 * nicira\_ext: Support DEC\_NSH\_TTL action
84 * nicira\_ext: Support Network Service Header match
85 * doc: Fix unexpected indent in ofctl.api doc
86
87 v4.23
88 -----
89
90 * Ryu 4.23
91 * doc: Document for ryu.lib.ovs
92 * lib/ovs: Fix a typo of "--may-exist" option
93
94 v4.22
95 -----
96
97 * Ryu 4.22
98 * bgp/application: Add note for BGPSpeaker API reference
99 * BGPSpeaker: Move docstring from \_\_init\_\_ to class
100 * BGPSpeaker: Enable to notify adj-RIB-in changed
101 * ofctl: Enable to get all datapath objects
102 * confroller/dpset: Add usage example of instantiation
103 * test\_rpc: Adopt to msgpack-python>=0.50
104 * doc: Usage for ryu/services/protocols/bgp/application.py
105
106 v4.21
107 -----
108
109 * Ryu 4.21
110 * \*: Apply autopep8
111 * travis: Introduce autopep8 test
112 * \*: Adopt to pycodestyle's checks
113 * pycodestyle: Replace pep8
114 * ofproto\_v1\_5\_parser: oxm\_ids with name str in OFPActionCopyField
115 * ofproto\_v1\_5\_parser: Missing trailing pads of OFPActionCopyField
116 * ofproto\_v1\_5\_parser: Fix length calculation of OFPOxmId
117 * ovsdb: Fix small bug
118 * packet\_data\_generator3: Generate OF13 Ext-230 bundle packets
119 * packet\_data\_generator3: Support ovs-2.8
120 * ofproto\_v1\_3: Add bundle extension
121 * ofproto: Correct OFPBundle{Ctrl, Add}Msg docstrings
122 * rest\_vtep: Add some descriptions for troubleshooting
123 * topology: Enable to detect migrations of hosts
124
125 v4.20
126 -----
127
128 * Ryu 4.20
129 * fix bug in the example of flow\_stats\_reply
130 * app: added simple switch with openflow 1.5 support
131 * ofproto\_v1\_5\_parser: Change default of command\_bucket\_id
132 * app: Fix simple\_switch for multi switch env
133 * doc: fix typo
134 * test\_icmpv6: Catch proper Exception
135 * packet/icmp: Avoid TypeError when calculating length
136 * \*: Reject Binary Represented IP Addresses
137 * serivice/bgp: Fix ssh connection problem in Python 2.7
138 * flags: Inject \_\_class\_\_ attribute to LooseVersion
139 * library\_ovsdb\_manager: Descriptions for OVS configs
140 * app/ofctl: Enable to send single BarrierRequest
141 * packet/zebra: Support FRRouting version 3.0
142 * of14: Implement OFPBundleCtrlMsg parser
143 * rest\_qos: Avoid None when deleting OVSDB addr
144 * lib/ovs/vsctl: Function for validate OVSDB address
145
146 v4.19
147 -----
148
149 * Ryu 4.19
150 * BGPSpeaker: Enable to specify local listen addresses
151 * bgp/application: Enhance arguments handling for BGPSpeaker
152 * test\_controller: Test cases for \_split\_addr()
153 * controller: APIs to register switch address dynamically
154 * controller: Support proactive connection
155
156 v4.18
157 -----
158
159 * Ryu 4.18
160 * zclient/zserver: Support FRRouting messages format
161 * test\_zebra: Enhance test cases
162 * packet/zebra: Support MPLS Labels messages
163 * packet/zebra: Support Interface Router Advertisement messages
164 * packet/zebra: Support VRF related messages
165 * packet/zebra: Support BFD Destination messages
166 * packet/zebra: Support Neighbor Connected Address messages
167 * test\_zebra: Add pcap for API version 4 on FRR v2.0
168 * packet/zebra: Support some FRRouting messages format
169 * packet/zebra: Constants for supporting FRRouting format
170 * packet/zebra: Support asymmetric structure of ZEBRA\_\*\_IMPORT\_LOOKUP
171 * packet/zebra: Parse messages based on Zebra API version
172 * packet/zebra: Missing bw\_cls\_num in InterfaceLinkParams
173 * packet/zebra: Constants for Link Parameters Status
174 * packet/zebra: Constants for Interface Address Flags
175 * packet/zebra: Return "ZebraMessage" for message from Zebra
176 * packet/zebra: Fix unresolved reference for \_serialize\_nexthops
177 * Only import pip if needed
178
179 v4.17
180 -----
181
182 * Ryu 4.17
183 * topology/switches: Fix delete port can't immediately remove link
184 * BGPSpeaker/net\_ctrl: Close activity for each session
185 * packet/bmp: Correctly parse peer address with IPv4
186 * rest\_qos: Avoid discarding Queues info for each request
187 * services/ovsdb: Listen on IPv6 Address
188 * packet/icmpv6: Assert length in options are valid
189 * packet/icmpv6: Fix parsing undefined nd\_option fails
190 * ofp\_event: Timestamp when OpenFlow event was generated
191
192 v4.16
193 -----
194
195 * Ryu 4.16
196 * doc: Fix unexpected indent in ryu/lib/packet/bgp.py
197 * doc: Deprecated option html\_use\_smartypants
198 * ofproto: Avoid emitting illegal instruction sets
199 * doc: Minor grammar changes in ryu\_app\_api
200 * unit/ofproto: Adopt to rename of OFPErrorExperimenterMsg
201 * ofproto: Handle OFPErrorExperimenterMsg
202 * bgp\_sample\_conf: absolute\_import to suppress warnings
203 * service/ovsdb: get socket from RemoteOvsdb
204
205 v4.15
206 -----
207
208 * Ryu 4.15
209 * Revert "tests: Separate test files from Ryu module"
210 * tests: Separate test files from Ryu module
211 * service/ovsdb: Use dict.items() instead of six.iteritems()
212 * doc/ovsdb\_manager: Update Sample Code
213 * service/ovsdb: Use Python 2/3 compatible code
214 * service/ovsdb: Avoid to use dict as default argument
215 * service/ovsdb: Add properties to EventNewOVSDBConnection
216 * test\_vsctl: Strip unexpected double quote
217 * pip: OpenStack updated requirements of eventlet again
218 * manager: Introduce user flags option
219 * CONTRIBUTING: Update info of Python ver/lib and links
220 * CONTRIBUTING: Update procedure for running tests
221 * CONTRIBUTING: Update procedure for submitting patches
222 * README: Dependencies for installing optional requirements
223 * service/ovsdb: Default of controller\_info in set\_controller
224
225 v4.14
226 -----
227
228 * Ryu 4.14
229 * doc: fix error in ovsdb\_manager.rst code
230 * fix dhcp6.py bug using python3
231 * pip: OpenStack avoids newer eventlet
232 * ofctl: Add some tests for ofp\_instruction\_from\_str
233 * ofctl: Add ovs-ofctl style action string parser
234 * nicira\_ext: Define some CT constants
235 * BGPSpeaker/SSH: Support to show L2VPN Flow Spec routes
236 * BGPSpeaker: Support IPv6 Flow Spec update messages
237 * BGPSpeaker/info\_base: Add tables for L2VPN Flow Spec
238 * utils/test\_bgp: Add unit tests for L2VPN Flow Spec
239 * test\_table\_manager: Add unit tests for L2VPN Flow Spec
240 * test\_bgpspeaker: Add unit tests for L2VPN Flow Spec
241 * packet/bgp: Support L2VPN Flow Spec
242 * packet/bgp: Properly calculate length for FlowSpec
243 * test\_bgp: Add test cases for L2VPN Flow Spec
244 * BGPSpeaker/SSH: Support to show IPv6 Flow Spec routes
245 * BGPSpeaker: Support IPv6 Flow Spec update messages
246 * BGPSpeaker/info\_base: Add tables for IPv6 Flow Spec
247 * utils/test\_bgp: Add unit tests for IPv6 Flow Spec
248 * test\_table\_manager: Add unit tests for IPv6 Flow Spec
249 * test\_bgpspeaker: Add unit tests for IPv6 Flow Spec
250 * packet/bgp: Support IPv6 Flow Spec
251 * test\_bgp: Add test cases for IPv6 Flow Spec
252 * ofproto: Allow CIDR notation for ipv[46]\_{src, dst}
253 * utils.import\_module: Prefer filepath than Python module
254 * library\_packet\_ref: Separate ref into each protocol
255 * lib/packet: Use literal block for diagram in pydoc
256 * packet/bgp: Omit description of default value
257 * packet/lldp: Add description for each class
258 * packet/arp: Update description for arguments
259 * BGPSpeaker/info\_base/base: Unify documentation format
260 * BGPSpeaker: Unify documentation format
261 * BGPSpeaker: Improve EVPN Redundancy Mode validation
262 * bgp: Enable to configure default local preference
263 * packet/zebra: Support IP\_ROUTE message from Zebra
264 * lib/hub: Workaround for issue of eventlet
265
266 v4.13
267 -----
268
269 * Ryu 4.13
270 * nicira\_ext: Constants for IP fragment matching
271 * bgp/info\_base: Refactor has\_nexthop() method
272 * bgp/peer: Fix invalid NEXT\_HOP in UPDATE message
273 * ofctl\_v1\_5: Fix lack of arguments for modify role API
274 * ofctl\_rest: Add get role API
275 * ofctl: Fix type of fields of DescStat
276 * utils/test\_bgp: Add unit tests for Flow Specification
277 * core\_managers/test\_table\_manager: Add unit tests for Flow Specification
278 * test\_bgpspeaker: Add unit tests for Flow Specification
279 * library\_packet\_ref: Add description of action for Flow Specification
280 * BGPSpeaker: Support Flow Specification update messages
281 * BGPSpeaker/SSH: Supports display of Flow Specification RIB
282 * BGPSpeaker/info\_base: Add tables for Flow Specification
283 * packet/bgp: Implement the utility of Flow Specification for BGPSpeaker
284 * packet/bgp: Fix subtype for Traffic Filtering Actions of Flow Specification
285 * packet/bgp: Unify variable names for Flow Specification
286 * packet/bgp: Add the address converter for Flow Specification
287 * packet/bgp: Fix data structure for VPNv4 Flow Specification
288 * library\_packet\_ref:Add bgp reference for Flow Specification
289 * test\_bgp: Add test cases for user interface of Flow Specification
290 * packet/bgp: Implement user interface of Flow Specification
291
292 v4.12
293 -----
294
295 * Ryu 4.12
296 * hub.StreamServer: Ommit validation for IPv4 address
297 * wsgi: Change default wsgi listen host to "0.0.0.0"
298 * zebra: Add sample application for Zebra server service
299 * zebra: Implement Server APIs for Zebra protocol service
300 * zebra: Implement database for Zebra protocol service
301 * tools/optional-requires: SQLAlchemy for Zebra service
302 * lib/netdevice: Constants defined in netdevice(7)
303 * controller: Change default OPF listen host to "0.0.0.0"
304 * hub: Enable StreamServer to listen Unix domain socket
305 * zebra: Add sample application for Zebra client service
306 * Implement Zebra protocol client service
307 * bgp/utils/bgp: Use lib/ip for Python 3 compatibility
308 * BGPSpeaker: Use isinstance(\*, bool) for boolean check
309 * BGPSpeaker: Support Route Reflector features [RFC4456]
310 * packet/zebra: Enable to specify "prefix" arg in str
311 * lib/ip: Add wrapper for netaddr.valid\_ipv4/6
312 * allow\_local\_as\_in\_count : allow local ASN in AS patch, e.g. "rd auto/route-target both auto"
313 * BGPSpeaker: Advertise VNI on EVPN Multicast Ethernet-Tag
314 * BGPSpeaker: Allow empty IP Address in EVPN advertisement
315 * RyuBGPSpeaker: Enable to notify BGP events
316 * ofctl\_v1\_\*: Use utility functions of ofctl\_utils
317 * ofctl\_v1\_\*: Use str\_to\_int instead of builtin int
318 * test\_bgp: Add test cases for Flow Specification
319 * packet/bgp: Support Flow Specification
320 * pakcket/bgp: pylint
321 * BGPSpeaker: Support to advertise Type 1, 2 Route Target
322
323 v4.11
324 -----
325
326 * Ryu 4.11
327 * utils: Re-implement parse\_requirements
328 * docker\_base.py: fix an ip option of "docker network connect"
329 * library\_packet\_ref: Add doc for Zebra packet library
330 * test\_zebra: Unit tests for Zebra packet library
331 * packet/zebra: Add Zebra protocol parser
332 * bgp\_scenario\_test: Clean previous builds before installing
333 * sync ryu.services.protocols.ovsdb.client.Idl code with ovs lib
334 * packet lib: adding DHCPv6 support
335 * doc: library\_packet\_ref: Add reference of openflow
336 * test\_openflow: Add unit tests for OpenFlow packet library
337 * packet lib: Add packet library of OpenFlow
338
339 v4.10
340 -----
341
342 * Ryu 4.10
343 * library\_packet\_ref: Update dhcp reference method
344 * test\_dhcp: Extend unit test for fragmented options
345 * packet/dhcp: Revert b'str' conversion
346 * packet/dhcp: Support fragmented options
347 * BGPSpeaker/net\_ctrl: Support multiple RPC sessions
348 * BGPSpeaker/base: Stop child activity by name
349 * BGPSpeaker/net\_ctrl: Move \_send\_\*\_response() function
350 * BGPSpeaker/net\_ctrl: Close RPC session when disconnected
351 * BGPSpeaker/net\_ctrl: Pylint and fixes of typos
352 * rpc\_cli: Avoid to use eval()
353 * rpc\_cli: Close peer connections when exiting prompt
354 * rpc\_cli: Enable to execute a single command
355 * ryu/app: Use Request/Response wrappers in REST Apps
356 * wsgi: Wrapper classes of Request/Response in WebOb
357 * library\_bgp\_speaker\_ref: Fix unexpected unindent
358 * optional-requires: Specify lxml version for OpenStack
359 * ryu-client: Remove client for OpenStack plugin/agent
360 * doc: Deprecate OpenStack plugin ref
361 * test\_geneve: Add unit tests for Geneve
362 * packet lib: Add packet library of Geneve
363 * test\_gre: Add unit tests for NVGRE
364 * packet/gre: Support NVGRE extension
365 * doc: library\_packet\_ref: Update references
366 * rest\_router: Fix ARP THA in reply message
367 * install\_docker\_test\_pkg: Remove unnecessary pip pacakges
368 * tox: Move dependencies installation to .travis.yml
369 * bgp\_scenario\_test: Switch Python version
370 * test\_requirements: Test cases for checking requirements
371 * tox: Test ryu-manager without additional requirements
372 * pip: Add doc requirements for convenience
373 * library\_bgp\_speaker\_ref: Fix unexpected indentation
374 * doc: Add MRT file library reference
375 * test\_mrtlib: Add unit tests for MRT paser
376 * mrtlib: Add parser for MRT format [RFC6396]
377 * packet/ospf: Reduce Pylint warnings
378 * type\_desc: Define TypeDisp class for re-usability
379 * bgp\_scenario\_test/bgp: Pylint
380 * bgp\_scenario\_test/common: Pylint
381 * Delete an unnecessary function
382 * Get some debug information
383 * Add DHCP options constants to DHCP lib
384 * lib/ofctl\_v\_\*: Enable to filter flow stats by priority
385 * packet/bgp: Fix default of esi for IP Prefix route
386 * BGPSpeaker: ESI to be optional arg in MAC/IP Adv route
387 * packet/bgp: Support multiple next\_hop in BGPPathAttributeMpReachNLRI
388 * packet/bgp: Unpack mpls\_label in BGPPathAttributePmsiTunnel
389 * stringify: Add optional attributes list to be displayed
390 * packet/bgp: Support multiple BGP messages in a packet
391 * BGPSpeaker: Support Ethernet A-D Route and Ethernet Segment Route
392 * packet/bgp: Fix the ESI Label Extended Community to use mpls\_label
393
394 v4.9
395 ----
396
397 * Ryu 4.9
398 * scenario test: Fix the wrong retry check in command execution
399 * Enable to run a scenario test with a specific python version
400 * rest\_firewall: Compare reserved port in str representation
401 * test\_vsctl: Use osrg/ryu-book image as Mininet container
402 * test\_vsctl: Wait for loading OVS kernel module
403 * integrated/bgp: Use Ubuntu:16.04 for base image
404 * docker\_base: Update base image to Ubuntu:16.04
405 * BGPSpeaker: Confirm SSH feature to be optional
406 * docker\_base: Add missing requirements for test-requires
407 * README: Use pip to resolve dependencies
408 * pip: Separate test-requires
409 * RPC: Specify encoding to msgpack.Packer/Unpacker
410 * test\_rpc: Use numbers.Integral instead of long type
411 * wsgi: Avoid using inspect.getargspec
412 * wsgi: Reduce pylint warnings
413 * wsgi: Use six.text\_type instead of unicode
414 * contrib: Revert module path to ryu.contrib
415 * protocols/bgp/base: Add missing \_\_next\_\_ method
416 * BGPSpeaker: Support to advertise EVPN IP Prefix route
417 * packet/bgp: Support for IP Prefix Route encoding
418 * packet/bgp: Fix the EvpnNLRI to use the ryu.lib.packet.vxlan
419 * packet/bgp: Fix the EvpnNLRI to use the ryu.lib.packet.mpls
420 * packet/bgp: Fix the EvpnNLRI to use the ryu.lib.ip
421 * BGPSpeaker: Enable to set capability for IPv6
422 * test\_bgp: Add test cases for IPv6 and VPNv6 routes
423 * test\_bgp: Enable to check parsed BGP message
424 * packet/bgp: Refactor MP\_REACH\_NLRI and MP\_UNREACH\_NLRI
425 * lib/ip: Add method to convert IPv4/IPv6 to int
426 * test\_bgp: Uncomment out test case for UPDATE
427 * packet/bgp: Enable Extended Length flags if specified
428 * pip: Move tinyrpc to pip-requires
429 * Ryu 4.8
430 * contrib/tinyrpc: Remove embedded tinyrpc, use upstream
431 * contrib/ncclient: Remove embedded ncclient, use upstream
432 * ut/ovs: Add UT using Docker for ryu.lib.ovs
433 * BGPSpeaker: Support to advertise PMSI Tunnel Attribute
434 * packet/bgp: Add PMSI Tunnel Attribute
435 * packet/vxlan: Add method to convert the format of vni
436 * packet/mpls: Add method to convert the format of label
437 * lib/ip: Add method to convert the format of Ipv4 or Ipv6
438 * Enable to run a scnario test for ryu bgp on travis
439 * Add scripts which install a dependency package
440 * Add bgp scenario tests
441 * Add bgp scenario tests tool
442 * bgp/application: Re-implement base BGP application
443 * flags: Add CLI options for BGP application
444 * BGPSpeaker: Enable to specify settings for SSH CLI
445 * bgp/operator/ssh: Enable to quit gracefully
446 * bgp/operator/ssh: Reduce pylint warnings
447 * BGPSpeaker: Use dictConfig in the standard library
448 * utils: Backward compatibility for 'imp.load\_source'
449 * Log OFPErrorMsg.data as ascii when type is OFPET\_HELLO\_FAILED
450 * ovs/vsctl: Fix API for parsing column/key/value set
451 * ovs/vsctl: Add missing Controller commands in OVS v2.6.0
452 * ovs/vsctl: Add missing Port commands in OVS v2.6.0
453 * ovs/vsctl: Add missing Interface commands in OVS v2.6.0
454 * ovs/vsctl: Add missing Bridge commands in OVS v2.6.0
455 * ovs/vsctl: Sort out commands order
456 * ovs/bridge: Add APIs for missing Database commands
457 * ovs: Add API corresponding to ovs-vsctl remove command
458 * ovs: Add API corresponding to ovs-vsctl add command
459 * ovs: Add API corresponding to ovs-vsctl list command
460 * ovs: Add API corresponding to ovs-vsctl add-bond command
461 * ovs/vsctl: Update command list with OVS v2.6.0
462 * ovs/vsctl: Avoid applying next() to non-iterator object
463 * ovs/vsctl: Add missing required argument for find\_vlan\_bridge
464 * ovs: Reduce pylint warnings
465 * ovs: Revert ovs module path
466 * ovs/vsctl: Fix VSCtlCommand to inherit StringifyMixin
467 * ovs/vswitch\_idl: Update OVSDB schema with v7.14.0
468 * ovs/vsctl: Change log level of redundant messages
469 * rest\_router: Fix conversion of Packet Library to dict
470 * dpset: Fix iteration error when disconnecting switches
471 * test\_parser: Add an truncate packet test
472 * test\_parser: Enable tests for truncated packets
473 * ofproto\_v1\_3\_parser: Raise OFPTruncatedMessage exception on truncated messages
474 * ofproto/nicira\_ext: Add missing NXMs in OVS v2.6.0
475 * ryu/lib/ofctl\_v1\_3: port name decoding fix
476 * BGPSpeaker: Enhance APIs for operator.show
477
478 v4.7
479 ----
480
481 * Ryu 4.7
482 * BGPSpeaker: Fix to enable to notify peer down
483 * use old cryptography version
484 * packet: Avoid parsing an empty buffer
485 * pip-requires: Add ovs>=2.6.0
486 * doc: Add API reference for REST EVPN switch
487 * app: Add sample application for REST EVPN switch
488 * app: Integrate aplication of Ryu-book
489 * ovs/bridge: Enable to request tunnel port number
490 * ovs/bridge: Add utility method to create VXLAN port
491 * ovs/bridge: Make local\_ip to optional field for tunnel
492 * ovs/vsctl: Catch the default tag type in Port Table
493 * stplib: Fix to store current OFPPort status
494 * stplib: Fix to compare MAC address and Bridge ID
495 * BGPSpeaker/api/operator: Simplify registration decorator
496 * BGPSpeaker: Fix typos
497 * ofproto/ofproto\_v1\_5\_parser: OFPMultipartReply malformed message offset fix
498 * tests/switch: fix bug in \_diff\_packets function
499 * Add Nicira extension vlan\_tci field
500 * BGPSpeaker: Shutdown BGPSpeaker gracefully
501 * BGPSpeaker: Enable to get path from EventPrefix
502 * BGPSpeaker/vrf: Handle non MPLS labled NLRI
503 * BGPSpeaker: Add EVPN routes from Global to VRF Table
504 * table\_manager: Fix conversion of De Morgan's laws
505 * test\_bgpspeaker: Add UT for advertising VNI for EVPN
506 * BGPSpeaker: Extend to advertise VNI for EVPN routes
507 * BGPSpeaker: Support to advertise Tunnel Encapsulation
508 * packet/bgp: Add BGP Encapsulation Extended Community
509 * doc: specify OFP v1.0 for sample application
510 * add modify role API in ofctl\_rest
511 * lib/ofctl\_v1\_4: correct argument order for OFPFlowMod constructor
512
513 v4.6
514 ----
515
516 * Ryu 4.6
517 * Validate OpenFlow message length in header, to prevent controller receive loop DoS
518 * PyInstaller: Enable to build stand-alone executables
519 * handler: Fix for frozen builds
520 * BGPSpeaker: Suppress RD in EVPN VRF on SSH console
521 * doc: Update the API Reference for BGPSpeaker
522 * test\_validation: Add unit tests for validation utilities
523 * BGPSpeaker: Enable validation for optional arguments
524 * BGPSpeaker: Raise exception when validation fails
525 * BGPSpeaker: Improve validation utility methods
526 * BGPSpeaker: Resolve unused argumet 'multi\_exit\_disc'
527 * BGPSpeaker: Reduce Pylint warnings
528 * test\_table\_manager: Add UTs for the Global Table API
529 * table\_manager: Rename internal API for consistency
530 * test\_table\_manager: Add UTs for the VRF Table API
531 * BGPSpeaker: Support VRF Table for Ethernet VPN
532 * test\_bgpspeaker: Add unit test for the API of EVPN
533 * BGPSpeaker: Support Ethernet VPN update messages
534 * packet/bgp: Fix to serialize BGPNotification on Python3
535 * BGPSpeaker/info\_base: Add comparison methods for Python3
536 * BGPSpeaker: Support Python3 on SSH console
537 * test\_bgp: Add unit tests for Ethernet VPN
538 * packet/bgp: Support MPLS-Based Ethernet VPN (RFC7432)
539 * packet/bgp: Enable to parse the entire packet data
540 * tests: Add tests for specifying Packet library for OFPPacketOut.data
541 * lib/packet: Support the Json format data
542 * ofproto: Enable to specify packet library for OFPPacketOut.data
543 * lib: Reduce Pylint warnings
544 * stringify: Fix to utilise six.moves.builtins
545 * ofctl\_nicira\_ext: Fix not enough arguments for format string
546 * ofctl\_nicira\_ext: Resolve not initialized values
547
548 v4.5
549 ----
550
551 * Ryu 4.5
552 * Ensure that send() and send\_msg() in controller return status to calling applications
553 * Clean up stale Datapath objects in the ofctl\_service application
554 * packet lib: Add packet library of GRE
555 * ofproto/nx\_actions: Update argument of NXActionCT
556 * ofproto/nx\_actions: Revert API of NXAction
557 * manager: Except KeyboardInterrupt to suppress traceback
558 * stplib: Handle the port state not changed events
559 * stplib: Adopt to Python3
560 * rest\_qos: Fix to handle the case without QoS action
561 * packet: support relayed DHCP packet
562 * Fix: LLDP.OrganizationallySpecific not ignoring info field
563 * test\_parser: Add test data for some NXAction
564 * ofproto/nx\_actions: Support some NXAction
565 * ofproto/nx\_actions: Add comment for Ryu documents
566 * test\_parser: Add test data for missing NXAction
567 * ofproto/nx\_actions: Support missing NXAction
568 * ofproto/nx\_actions: Update arguments to be compatible with ovs-ofctl
569 * test\_parser: Add test data for NXAction used only in OpenFlow1.0
570 * ofproto/nx\_actions: Add NXAction used only in OpenFlow1.0
571 * test\_packet: Avoid to use array.array as input binary
572 * packet: Fix minimum ethernet frame length
573 * test\_peer: Unit test for peer.py of BGPSpeaker
574 * BGPSpeaker: Support Four-Octet AS number
575 * packet/bgp: Support Four-Octet AGGREGATOR Path Attribute
576 * BGPSpeaker: Fix capability check when MP-BGP not supported
577 * fix of13 VLAN\_PCP test case
578
579 v4.4
580 ----
581
582 * Ryu 4.4
583 * topology: ignore cfm packets on packet in
584 * topology: pep8 fixes
585 * ofproto: Fix example of OFPSetAsync message
586 * Update the readthedoc URL
587 * lib/ofctl\_utils: Log the datapath sent to
588 * Avoid parallel executions of AppManager.close()
589 * python3: Use six.add\_metaclass for metaclass
590 * python3: Use six.string\_types instead of basestring
591 * python3: Improve Table class in services.protocols.bgp.info\_base.base
592 * python 3: Replace deprecated logging.warn with logging.warning
593 * Python3: Explicit string type encoding
594 * BGPSpeaker: Remove unused utility modules
595 * BGPSpeaker: Fix unresolved references in Python3
596 * BGPSpeaker: Support Per-Peer AS
597 * packet\_data\_generator3/gen: Add some NXAction packets
598 * ofproto/nicira\_ext: Move the variable and method for Nicira Extension
599 * tests/test\_parser\_v10: Update test parameter
600 * ofproto/nx\_actions: Update arguments to be compatible with ovs-ofctl
601 * ofproto/ofproto\_v1\_0: Delete some NX actions
602 * ofproto/nx\_actions: Porting the NX Action definition of ofproto\_v1\_0\_parser
603 * ofproto/nx\_actions: Update serialize and parse
604 * Extend OVSDB api
605 * Fix RuntimeError of lldp\_packet\_in\_handler
606
607 v4.3
608 ----
609
610 * Ryu 4.3
611 * nx\_match: add tun\_ipv6\_{src,dst}
612 * packet\_data\_generator3: Clear xid into zero
613 * ofproto: Implement OFPFlowMod parser
614 * doc: Add PCAP file library reference
615 * test\_pcaplib: Add unit tests for pcaplib
616 * pcaplib: Reduce Pylint warnings
617 * test\_bgp: Enable to test parser with pcap file
618 * packet/bgp: Reduce Pylint warnings
619 * bgp: fix typos
620 * test-requires: Update to use the latest Pylint
621 * test-requires: Add tinyrpc for RPC controller in wsgi
622 * Make ovs optional
623 * packet: Add VXLAN parser
624 * packet/bgp: Add missing \_\_hash\_\_ function
625 * controller: Add backward compatibility for 6633 port
626 * Update default OpenFlow port to 6653
627 * BGP: Make RouteFamily class hashable
628 * doc: Remove warnings when building doc pages
629 * doc: Move Ryu App API doc into each source code
630 * network: Fix unresolved reference
631 * doc: Add description for EventOFPPortStateChange
632 * controller: Implement EventOFPPortStateChange
633 * doc/app/ofctl\_rest: Remove unused match field
634 * doc/source/conf: Set the False to SmartyPants
635 * doc/app/ofctl\_rest: Add a description for openflow1.5
636 * doc/app/ofctl\_rest: Update the optional parameter of the message
637 * doc/app/ofctl\_rest: Add pbb\_uca to match field
638 * doc/app/ofctl\_rest: Update the description method of Example
639 * doc/app/ofctl\_rest: Add Openflow version
640 * Bump version requirement for oslo.config, given usage of min parameter to IntOpt
641 * tox: Integrate Coveralls.io
642 * tox: Add Python 3.5
643 * test\_ofctl: Add test cases for new Actions of of15
644 * test\_ofctl\_rest: Add unit tests for ofctl\_rest
645 * test\_ofctl: Add test cases for OpenFlow 1.5
646 * ofctl\_rest: Support OpenFlow 1.5
647 * lib/ofctl: Support OpenFlow 1.5
648 * ofproto\_v1\_5\_parser: Fix serialized length of OFPActionCopyField
649 * ofctl\_v1\_4: Port some improvements from ofctl\_v1\_3
650 * ofctl\_v1\_4: Rename to get\_queue\_desc for uniformity
651 * ofctl\_v1\_4: Support request parameters
652 * ofctl\_utils: Enhance user value conversion
653 * REST Apps: Adopt to Python 3
654 * topology: Adopt to Python 3
655 * ofctl\_rest: Enable to omit port\_no and queue\_id
656 * ofctl\_rest: Adopt decorator to simplify
657 * test\_ofctl: Test cases for omitting port\_no in get\_queue\_config
658 * lib/ofctl\_v1\_[23]: Unify the arguments order
659 * ofctl\_utils: Confirm binary type data in send\_experimenter
660 * test\_import\_module: Update test cases
661 * utils: fix for temporarily storing the value of sys.path
662
663 v4.2
664 ----
665
666 * Ryu 4.2
667 * Enable filtering the OVSDB schema tables/columns
668 * tox: Upgrade PyPy version to 2.6
669 * Eventlet throws a subclass of IOError when an SSL read timeout occurs. Ensure that the read loop continues in this case
670 * Added support for the tcp flags nicira extension
671 * Removes unnecessary Windows requirements
672
673 v4.1
674 ----
675
676 * Ryu 4.1
677 * doc/app/ofctl\_rest: Update example of set-field action
678 * doc/app/ofctl\_rest: Update the code-block language of response data
679 * doc/app/ofctl\_rest: Update the ryu.app.ofctl\_rest version from openflow1.3 to openflow1.4
680 * lib/ofctl\_v1\_[234]: Consolidate send\_experimenter
681 * lib/ofctl\_v1\_[34]: Consolidate common functions
682 * lib/ofctl\_v1\_3: Support nicira extensions
683 * lib/ofctl\_v1\_3: Allow caller to disable conversion
684 * lib/ofctl\_\*: Consolidate \`send\_stats\_requst\`
685 * lib/ofctl\_\*: Log the xid of messages being sent
686 * unit/lib/test\_ofctl: Fix Flake8 [e731]
687 * ofproto/ofproto\_v1\_4\_parser: Flake8 Fixes
688 * ofproto/ofproto\_v1\_3\_parser: Flake8 Fixes
689 * ofproto/ofproto\_v1\_2\_parser: Flake8 Fixes
690 * ofproto/ofproto\_v1\_0\_parser: Flake8 Fixes
691 * ofproto/nx\_actions: Flake8 Fixes
692 * lib/ofctl\_v1\_4: Flake8 Fixes
693 * lib/ofctl\_v1\_3: Flake8 Fixes
694 * lib/ofctl\_v1\_2: Flake8 Fixes
695 * lib/ofctl\_v1\_0: Flake8 Fixes
696 * pip-requires: force ovs>=2.6.0dev0 for everyone
697 * packet/tcp: Add TCP Control Flags
698 * lib/ofctl\_utils: Add a deprecated value
699 * lib/ofctl\_v1\_4: Fix json format of queue\_desc\_reply
700 * lib/ofctl\_v1\_4: Fix an omission in OFPTFPT\_\*
701 * lib/ofctl\_v1\_4: Fix a small bug in mod\_group\_entry()
702 * lib/ofctl\_v1\_0: Fix a small bug in get\_desc\_stats() and get\_aggregate\_flow\_stats()
703 * protocols/ovsdb: Add api for systemd\_id lookup
704 * protocols/ovsdb: Add bulk read support
705 * protocols/ovsdb: Fix shadow variables
706 * protocols/ovsdb: Update wrapped Idl()
707 * protocols/ovsdb: Remove patched ovs.vlog
708 * test\_ofctl: Add test cases
709 * doc/app/ofctl\_rest: Add the attribute for message
710 * ofctl\_rest: Support port number and queue id in get\_queue\_stats()
711 * ofctl\_rest: Support meter id in get\_meter\_config()
712 * ofctl\_rest: Support meter id in get\_meter\_stats()
713 * ofctl\_rest: Support group id in get\_group\_stats()
714 * ofctl\_rest: Support port number in get\_port\_stats()
715 * hub: Preserve functions return value
716 * protocols/ovsdb: Improve non-blocking performance
717 * contrib/ovs: Remove embeded ovs, use upstream
718 * protocols/ovsdb: Fix variable name issue
719 * protocols/ovsdb: Allow setting backoff settings
720 * Cleanups to controller.py
721 * protocols/ovsdb: Allow setting probe interval
722 * protocols/ovsdb: Fix shadow loop variables [F402]
723 * protocols/bgp: PEP-8 and Python3 fixes
724 * packet/bgp: PEP-8 and Python3 fixes
725 * doc/app/ofctl\_rest: Update description for action type of experimenter
726 * ofctl\_v1\_3: Add support for using action experimenter
727 * ofproto\_v1\_3: Add unit test cases for action experimenter
728 * ofproto\_v1\_5: Reduce an unnecessary code
729 * ofproto\_v1\_5: Add test case for OFPExperimenter
730
731 v4.0
732 ----
733
734 * Ryu 4.0
735 * Typo fixes
736 * of: add echo request support
737 * make socket-timeout config file option
738 * Clean up socket close() handling
739 * Wrap handler calls in the event loop in a try/except and log exceptions
740 * Use a slightly lighter Queue implementation
741 * Protect events queue with a semaphore
742 * .pylintrc: Remove deprecated output format feature
743 * run\_mininet: Specify the controller port
744 * run\_mininet: Adopt utility methods of Mininet class
745 * run\_mininet: Support protocols option of ovs-vsctl
746 * ofp\_handler: Handle empty data field in OFPErrorMsg
747 * lib/ofctl: add test files for ofctl\_v14
748 * lib/ofctl: add ofctl\_v1\_4 library
749 * app/ofctl\_rest: support OpenFlow1.4
750 * ofproto: Fixes invalid async config property types
751 * simple\_switch: Separate simple\_switch for beginners
752 * drop python2.6 support
753 * Fix i386 test failures
754 * test\_parser: add an NXActionRegLoad test
755 * packet\_data\_generator3: generate an NXActionRegLoad packet
756 * Implement NXActionRegLoad
757 * test\_parser: Fix ofp\_multipart\_type in OFPFlowStatsRequest
758 * ofproto\_v1\_5\_parser: Add missing field in OFPMeterFeaturesStats
759 * ofproto\_v1\_5\_parser: Fix unresolved structure references
760 * test\_parser: Add missing packet data for OFP15
761 * tox: Adapt to PyPy interpreter
762 * of12/3/4/5: fix to\_jsondict of OFPActionSetField
763 * protocols/bgp: Log socket creation error
764
765 v3.30
766 -----
767
768 * Ryu 3.30
769 * Update conntrack test json and binary packets
770 * test\_parser: add conntrack NAT tests
771 * packet\_data\_generator3: add a couple of conntrack packets
772 * Implement NXActionNAT
773 * rest\_router: Ensure that usage of icmp.dest\_unreach and icmp.TimeExceeded complies with RFC 4884
774 * packet: Better validate parameters to constructors better icmp
775 * doc: remove obsolete OpenStack info
776 * bgp: Clean up syntax in services/protocols/bgp/operator/views/base.py to avoid SyntaxErrors
777 * Reconnected event additions and cleanups
778 * test: Yet another typo fix
779 * test: ImportError fix, error caused by unordered import Link
780 * topology: Make sure the last IP in the list is the newest IP
781 * Message cleanup in ofproto\_parser
782 * Typo cleanup
783 * Typo fixes in lib/packet/bgp.py
784 * Fix: "AddrFormatError: address '...' is not an EUIv48"
785 * packet/bgp: Gaurd against extra data in the buffer
786 * protocols/ovsdb: Forcably kill the main\_thread
787 * protocols/ovsdb: Handle accept() errors
788 * protocols/ovsdb: Handle disconnects gracefully
789 * test: disable rpc unittest with large file for now
790 * ofproto/NXAction: Fix NXActionUnknown parsing
791 * of14\_parser: unify OFPActionExperimenter implementation
792 * test\_ofctl: Update json representations
793 * test\_ofctl\_utils: Add unit tests for ofctl\_utils.py
794 * lib/ofctl: Add utility library for ofctl\_v1\_\*.py
795 * doc: Add Nicira Extension Structures references
796 * doc: ofproto\_ref: Update supported actions/matches list
797 * packet\_data: regen
798 * test\_parser: Add expected json representations
799 * packet\_data\_generator2: Add some OFP13/15 messages
800 * lib/ofctl\_v1\_\*: Confirm hw\_addr is str in mod\_port\_behavior
801 * test\_ofctl: Compare sent messages in json representation
802 * Remove old link when link updates
803 * fixes for mutable default arguments
804 * Cleanup variable name for clarity
805 * cap oslo.config version only in python2.6
806
807 v3.29
808 -----
809
810 * Ryu 3.29
811 * Generate new datapath event for switch connecting multiple times
812 * Fix handling of state transition to config mode
813 * Clean up for stability patch submitted previously
814 * Ensure to terminate threads where RyuApp.start() gives a thread object
815 * ofctl\_v1/2/3: Some improvements
816 * of14: Add action experimenter to flow stats reply unit test
817 * test\_tcp: Update test cases for tcp option
818 * lib/packet/tcp: Parse TCP Option field
819 * bgp: fix handling unknown and unsupported transitive path
820 * ofp\_handler: Remove sending SET\_CONFIG message
821 * lib/ofctl: Add test cases for ofctl\_v1\_0
822 * lib/ofctl: Add test cases for ofctl\_v1\_2
823 * lib/ofctl: Add test cases for ofctl\_v1\_3
824 * lib/ofctl: Implement unit test for sending messages
825 * lib/ofctl: Rename unit test for action/match
826 * lib/ofctl: Confirm UTF-8 in binary fields
827 * ofproto\_v1\_[23]\_parser: Add default arguments in OFPQueueProp
828 * test\_parser: Add some expected json representations
829 * packet\_data: Regen
830 * packet\_data\_generator: Add ofp\_group\_stats messages for OF1.2
831 * ofproto\_v1\_[2345]\_parser: Set default length field
832 * avoid oslo.config 3.1.0 and later for python2.6 support
833 * test\_controller: Add unit test for \_recv\_loop()
834 * controller: Split received message buffer
835 * Fix a stability issue relating to switch disconnection/re-connection events
836
837 v3.28
838 -----
839
840 * Ryu 3.28
841 * test\_parser: add conntrack tests
842 * packet\_data\_generator3: add a couple of conntrack packets
843 * Implement NXActionCT and related ct\_\* matches
844 * tox: disable wheel cache
845 * python3: implicit relative import was deprecated
846 * python3: itertools.ifilter() doesn't exist
847 * python3: iter#next() doesn't exist
848 * python3: <function>#func\_name is renamed to \_\_name\_\_
849 * python3: import \_\_future\_\_ for just in case
850 * python3: StandardError doesn't exist
851 * ofctl\_v1\_3: Fix unsuitable error log in mod\_meter\_entry()
852
853 v3.27
854 -----
855
856 * Ryu 3.27
857 * bgp: fix of sending "Start-of-RIB" and "End-of-RIB" in Enhanced Route-Refresh
858 * doc/app/ofctl\_rest: Add description for OFPTableStats message
859 * doc/app/ofctl\_rest: Add description for OFPQueueGetConfig message
860 * doc/app/ofctl\_rest: Add description for OFPTableFeaturesStats message
861 * ofctl\_rest: support OFPQueueGetConfig Message
862 * ofctl\_rest: support OFPTableFeaturesStats Message
863 * ofctl\_rest: support OFPTableStats Message
864 * vrrp: fix param of virtual\_ip\_address for rpc\_api
865 * tester: Reduce pylint warnings
866 * tester: Add test cases for OpenFlow1.0
867 * tester: Support to test OpenFlow1.0 switch
868 * packet\_data: Fix wildcarded match value in OF1.0
869 * of10: Human readable address field in json Match/Action
870 * Try logging.config.dictConfig before in-tree version
871 * Python3: use int instead of long
872 * Python3: complete previous removal of types usage
873 * Python3: use dict instead of types.DictType
874 * doc: Change Sphinx html\_theme to sphinx\_rtd\_theme
875 * bgp: support of CAP\_ENHANCED\_REFRESH for vpnv4
876 * tester: Use six.binary\_type for binary data comparison
877 * tester: Enable to sort instructions instance by type
878 * tester: Remove too broad exception handling
879 * tester: Strict string argument encoding in Python3
880 * tester: Adapt to Python3 dictview
881 * packet\_data: Regen
882 * test\_parser: Add expected json for OFP13/15 Messages
883 * packet\_data\_generator2: Add OFP13/15 Messages
884 * packet\_data\_generator2: Sort by OF1.5 index order
885 * packet\_data\_generator2: Fix to use struct eth\_addr
886 * doc: Add openflow api reference for of1.0
887 * ofproto\_v1\_0\_parser: Add comments for OF1.0 protocol
888 * doc: Handle ERROR of unexpected indentation
889 * test\_ip: Add tests for IPv4-int conversion
890 * of10: Add \_\_contains\_\_ method into OFPMatch
891 * test\_parser\_v10: Fix wildcards param for unit test
892 * of10: Support human readable MAC/IPv4 address in OFPMatch
893
894 v3.26
895 -----
896
897 * Ryu 3.26
898 * switch/tester: Add sleep interval for each test case
899 * ofproto\_v1\_[45]\_parser: Add parser() for OFPRequestForward
900 * remove old Ryu OpenStack plugin stuff
901 * packet: lldp: python3 fix
902 * bgp: support disabling listening socket
903 * bgp: python3 fixes
904 * test\_parser\_ofpmatch: Add tests for Experimenter OXMs
905 * OXM/OXS: Enable to sort Experimenter oxm\_type/oxs\_type in Python3
906 * test\_parser\_ofpmatch: Add test cases for OF1.4 and OF1.5
907 * .travis.yml: Suppress the output of unit tests
908 * ofproto: Sort out the NX OXMs definition
909 * ofproto: Refine module import
910 * ofproto\_v1\_[45]\_parser: Remove unused OFPMatchField
911 * doc/ofproto\_v1\_2\_ref: Add description for Port Structures
912 * doc/ofproto\_v1\_3\_ref: Add description for Port Structures
913 * doc/ofproto\_v1\_4\_ref: Add description for Port Structures
914 * doc/ofproto\_v1\_5\_ref: Add description for Port Structures and Controller Status Structure
915 * Examples contain invalid MAC addresses
916 * ofproto\_v1\_0\_parser: Add \_\_getitem\_\_ method into OFPMatch
917 * test\_parser\_v10: Add test case for \_\_getitem\_\_ of OFPMatch
918 * doc/app/ofctl\_rest: Add command examples for WRITE/CLEAR\_ACTIONS
919 * Uncap pbr version
920 * topology: Fixed conditional statement
921 * ofproto\_v1\_5: Add OFPBAC\_BAD\_METER
922 * bgp: enable nexthop\_self for locally generated routes
923 * test\_ofctl: improving readability
924 * test\_ofctl: Add unit test for OFPIT\_[WRITE/CLEAR]\_ACTIONS
925 * ofctl\_v1\_[23]: Add support for OFPIT\_[WRITE/CLEAR]\_ACTIONS
926 * ofp\_handler: Output human readable error msg ev log
927 * ofproto\_parser: Unify str representation of MsgBase
928 * utils: Add binary\_str() method to print binary data
929 * utils: Unify output str format of hex\_array()
930 * doc: Add some JSON examples to openflow api reference for of1.5
931 * test\_parser: Add expected json outputs for OF1.5
932 * doc: Add openflow api reference for of1.5
933 * test\_parser: Add test case for OFP15 table\_features\_reply
934
935 v3.25
936 -----
937
938 * Ryu 3.25
939 * packet: dhcp should set \_MIN\_LEN
940 * packet: udp should detect dhcp
941 * ofctl\_v1\_[23]: Fix the output result of get\_flow\_stats()
942 * ofctl\_v1\_[23]: Convert masked match value into str
943 * packet/igmp: Python 3: truncate IGMP timer fields to integers before packing
944 * doc: ofctl\_rest: Add table of contents
945 * README.rst: add OF 1.5 support
946 * bgp: Added support to indicate the next hop IP address for the BGP module
947 * bgp: add neighbor\_state\_get method
948 * Remove hosts from edge port when link added
949 * ofproto\_v1\_5\_parser: Fix typo in comment
950 * ofproto\_v1\_4\_parser: Fix typo in comment
951 * ofproto\_v1\_3\_parser: Fix typo in comment
952 * ofproto\_v1\_2\_parser: Fix typo in comment
953 * python3: Fix relative imports
954 * doc: Include snort\_integrate page into toctree
955 * Add missing comment to rest\_topology
956 * Add EventHostAdd handler for web socket application
957 * test\_parser: Add test case for OFPQueuePropExperimenter
958 * ofproto\_v1\_3\_parser: Add OFPQueuePropExperimenter support
959 * ofproto\_v1\_3\_parser: Backport OFPTableFeatureProp class
960 * ofproto\_v1\_[45]\_parser: Add missing OFPTFPT\_EXPERIMENTER\_MISS
961 * ofproto\_v1\_3\_parser: Backport OFPPropBase/OFPPropCommonExperimenter4ByteData
962 * test\_parser: Fix some expected json representations
963 * ofproto\_v1\_[45]\_parser: Fix to parse experimenter\_data
964 * ofproto\_v1\_[345]: Define common structure for experimenter property
965 * ofproto\_v1\_4\_parser: Move utility method to OFPPropBase
966 * test\_parser: Add test case for OFP15 packet\_out
967 * ofproto\_v1\_5\_parser: Enable setting OFPMatch in OFPPacketOut message
968 * test\_parser: Add test case for OFP15 controller connection status messages
969 * test\_parser: Add implemented type for OFPT\_CONTROLLER\_STATUS
970 * ofproto\_v1\_5\_parser: Add OFPControllerStatusStats support
971 * ofproto\_v1\_5\_parser: Add OFPControllerStatus support
972 * ofproto\_v1\_5\_parser: Add OFPControllerStatusProp support
973 * ofproto\_v1\_5\_parser: Enable OFPRoleRequest to set short\_id
974 * Add register\_service to topology events
975 * Add EventHostAdd event
976 * Allow specifing match fields in ClsRule.\_\_init\_\_
977 * Sprinkle StringifyMixin
978 * PEP8 Line length
979 * Remove unused import
980 * Stop old app on reconnection
981 * Use system\_id from event
982 * Handle disconnection during discover\_system\_id
983 * test\_parser: Add tests generated by packet\_data\_generator3
984 * Introduce packet\_data\_generator3
985 * test\_parser: prepare for tests with packet\_data\_generator3
986 * Add register0 for nicira extensions
987 * packet\_data\_generator2: Add Makefile for GNU environment
988 * use idle timeout in ofctl to avoid incomplete querying
989 * Python 3: Fix search for bound methods
990 * Python 3: Filter out None values returned by getmodule(...) to fix the stack inspection
991 * ofproto\_v1\_5\_parser: Add OFPBundleFeaturesStats support
992 * ofproto\_v1\_5\_parser: Support new OFPTableFeaturesStats structure
993 * ofproto\_v1\_5\_parser: Add OFPBundlePropTime support
994 * test\_parser: Add test case for OFP15 bundle\_features request/reply
995 * test\_parser: Add test case for OFP15 table\_features\_request
996 * ofproto\_v1\_5\_parser: Add OFPBundleFeaturesProp support
997 * ofproto\_v1\_5\_parser: Add new table feature properties support
998 * test\_parser: Regen OFP15 port\_desc request packet
999 * test\_parser: Regen OFP15 group\_desc request packet
1000 * test\_parser: Add test case for OXS related messages in OF1.5
1001 * ofproto\_v1\_5\_parser: Add OFPFlowDesc support
1002 * ofproto\_v1\_5\_parser: Fix OFPFlowStats/OFPAggregateStats to use OFPStats
1003 * ofproto\_v1\_5\_parser: Fix OFPFlowRemoved to use OFPStats
1004 * ofproto\_v1\_5\_parser: Use b'str' for binary data
1005 * ofproto\_v1\_5\_parser: Use six.binary\_type instead of buffer
1006 * test\_parser: Add test case for OFP15 group\_desc reply
1007 * test\_parser: Add expected json representations of OF1.5 GroupMod
1008 * packet\_data: Regen
1009 * packet\_data\_generator2: Generate OF1.5 GroupMod packets
1010 * ofproto\_v1\_5\_parser: Support OF1.5 OFPGroupDescStats structure
1011 * ofproto\_v1\_[345]: Fix backward compatibility for OFPGroupDescStats
1012 * ofproto\_v1\_5\_parser: Support OF1.5 OFPGroupMod structure
1013 * ofproto\_v1\_5\_parser: Add OFPGroupProp support
1014 * ofproto\_v1\_5\_parser: Add OFPGroupBucketProp support
1015 * ofproto\_v1\_5: Fix a typo
1016
1017 v3.24
1018 -----
1019
1020 * Ryu 3.24
1021 * ospf: fix serialize() to work with packet.Packet()
1022 * of1.5: Multipart METER\_CONFIG was renamed to METER\_DESC
1023 * of1.5: Meter statistics field flow\_count was renamed to ref\_count
1024 * test\_parser: Add test case for OFP15 port\_desc request
1025 * of1.5: port statistics and port descriptions use a common request format
1026 * test\_parser: Add test case for OFP15 group\_desc request
1027 * of1.5: group statistics and group descriptions use a common request format
1028 * test\_parser: Add test case for OFP15 queue\_desc request
1029 * of1.5: queue statistics and queue descriptions use a common request format
1030 * ofproto\_v1\_[2345]\_parser: Add items method to OFPMatch/OFPStats
1031 * Add OVSDB manager protocol application
1032 * OF: send fin/ack in response to fin packet
1033 * packet\_data\_generator2: Adopt upgrade of ofputil\_packet\_in
1034 * test\_ofctl: Add some test cases of OF1.0 actions
1035 * ofctl\_v1\_0: fix output string of ENQUEUE
1036 * OXM/OXS: Initialize exp\_type with oxm\_field
1037 * ofproto\_v1\_5\_parser: Add OFPPortDescPropRecirculate class
1038 * ofproto\_v1\_5\_parser: Add OFPPortDescPropOxm class
1039 * ofproto\_v1\_5\_parser: Move utility method to OFPPropBase
1040 * ofproto\_v1\_[45]\_parser: Sort out the inheritance relation of OFP\*Prop
1041 * ofproto\_v1\_[45]\_parser: Correct example of OFPPortMod
1042 * ofproto\_v1\_[45]\_parser: Rename Port Description Properties class
1043 * ofproto\_v1\_5\_parser: Enable setting mask in OFPActionSetField
1044 * ofproto\_v1\_5\_parser: Add OFPActionCopyField support
1045 * ofproto\_v1\_5\_parser: Add OFPInstructionStatTrigger support
1046 * add host restful api
1047 * add host discovery functions
1048 * ignore lldp packet to avoid wrong links
1049 * bgp: fix withdrawn label handling again
1050 * ignore lldp packet to avoid wrong links
1051 * declare python3 support
1052 * bgp: fix bug of not taking care of withdrawn label
1053 * Add registers 1-7 as nicira extensions for matching and setting
1054 * Implement NX Resubmit-table action
1055 * travis: run tests with python3
1056 * python3: Convert chr to six.int2byte
1057 * Fix test packet data generation
1058 * Use the asciilist type for lists of ip addresses
1059 * python3: Misc str related fixups
1060 * python3: Round time() return value to microseconds
1061 * python3: Adapt to iterator change
1062 * python3: Use b'str' for binary data
1063 * python3: Convert str to six.binary\_type
1064 * packet\_utils: Remove checksum() side-effect
1065 * python3: Use {encode, decode}('ascii') for text packet data
1066 * python3: Partially revert b'str' conversion
1067 * python3: Use six.indexbytes for extracting single byte of data
1068 * python3: Store AsciiStringType class data as str
1069
1070 v3.23
1071 -----
1072
1073 * Ryu 3.23
1074 * python3: fix bgp reggression
1075 * python3: Misc. python3 fix
1076 * python3: Make stringify test functional
1077 * python3: Make ryu.utils.hex\_array functional
1078 * python3: Use b'str' for binary data
1079 * python3: Use six.binary\_type for I/O of ryu.lib.rpc
1080 * python3: Use 'str' not b'str' for user test data
1081 * python3: Restore original str()s where six.binary\_type shouldn't be used
1082 * python3: fix bgp reggression
1083 * Avoid string exception raising
1084 * packet.ospf: Avoid parameter 'cls' reassignment
1085 * Remove duplicated definitions
1086 * test\_ofctl: Fix dynamic addition of test cases
1087 * test\_ofctl: Some improvement
1088 * test\_ofctl: Remove unused codes
1089 * test\_ofctl: Add unit test for ofctl\_v1\_0
1090 * python3: Don't use str.encode
1091 * python3: Remove harmful AsciiStringType.{encode, decode}
1092 * python3: Decode return value of b64encode into str
1093 * python3: More b'str' conversion
1094 * python3: Calculate the number of ports as integer
1095 * python3: encode from string to bytes for s type of pack format
1096 * python3: Modify a literal argument in a bytes method call to bytes type
1097 * Add support for pkt\_mark nicira ext (NXM\_NX\_PKT\_MARK)
1098 * python3: Continuous patch to replace buffer to six.binary\_type
1099 * python3: Continuous patch to replace str to six.binary\_type
1100 * python3: Convert str to six.binary\_type
1101 * python3: More b'str' conversion
1102 * python3: Apply "2to3 -f map"
1103 * python3: Convert str to six.binary\_type where appropriate
1104 * python3: Use six.binary\_type instead of str for binary data
1105 * python3: adapt @wsgi.route()
1106 * python3: Use items instead of iteritems
1107 * python3: Use zip instead of itertools.izip
1108 * python3: Avoid applying ord() to integers
1109 * python3: Use formencode instead of xml\_compare
1110 * python3: Open packet data with binary mode
1111 * python3: Fix dynamically added test methods
1112 * python3: Use b'str' for binary literals
1113 * python3: Remove use of buffer()
1114 * python3: Use six.text\_type instead of unicode
1115 * eventlet has already supported WebSocket(RFC6455) in stable releases (>= 0.15)
1116 * python3: Use integer division where appropriate
1117 * python3: Fix import issues with python2
1118 * python3: Use bytes type for binary data
1119 * python3: Adapt to new iterator names
1120 * python3: Fix starndard library imports
1121 * ofproto: Fix ImportError on python3
1122 * tox.ini: Be able to run python3 unit tests
1123 * test\_parser\_ofpstats: Add unit test for OFPStats class
1124 * ofproto\_v1\_5\_parser: Add OPFStats parser for Flow Stats Structures
1125 * test\_oxs: Add unit test for oxs\_fields.py
1126 * oxs\_fields: Add OXS class support
1127 * Clean up server socket and thread when shutting down
1128 * Fixed the function name of out filter
1129 * ofctl\_rest: fix error of delete\_flow\_entry
1130 * ofctl\_v1\_0: fix output of get\_flow\_stats
1131
1132 v3.22
1133 -----
1134
1135 * Ryu 3.22
1136 * test\_parser: Add some expected json representations
1137 * packet\_data: Regen
1138 * packet\_data\_generator2: Generate conjunction packets
1139 * Implement NXActionConjunction and conj\_id match for OF1.3 and OF1.5
1140 * Add missing ryu.contrib.update\_module\_path calls
1141 * Cap pbr version
1142 * packet\_data: Regen
1143 * packet\_generator2: learn action
1144 * test\_parser: Add some expected json representations
1145 * ofproto\_v1\_5: Add legacy NXM aliases for some OXMs
1146 * ofproto\_v1\_3: Add legacy NXM aliases for some OXMs
1147 * Pull nx\_actions for OpenFlow 1.5
1148 * \_NXFlowSpec: Add type annotation for stringify stuff
1149 * nx\_actions: Modify \_\_module\_\_ for generated classes for stringify stuff
1150 * NXActionRegMove: Add type annotation for stringify stuff
1151 * Adapt to namespace-less oslo
1152 * test\_lib: Remove a questional exception re-raising
1153 * Be able to parse classes that start with "NX"
1154
1155 v3.21
1156 -----
1157
1158 * Ryu 3.21
1159 * Suppress warning
1160 * sw test tool: Fix typo
1161 * tests: Remove some unnecessary shebangs
1162 * packet\_data: Regen
1163 * test\_parser: Add expected json representations
1164 * packet\_data\_generator2: Generate OF1.3 packets where appropriate
1165 * packet\_data\_generator2: Make the list of OF versions per messages
1166 * tests: Fix dynamically added test cases
1167 * tests: Remove unnecessary shebang and x bit from test\_lib.py
1168 * test\_parser\_compat: Fix indent
1169 * test\_parser: Try to detect test discovery failures and bail out loudly
1170 * MANIFEST.in: Exclude packet\_data\_generator2
1171 * tox.ini: Pass posargs to make "tox -e py27 path.to.test" work
1172 * bgpspeaker: Import paramiko only when necessary
1173 * README.rst: Correct component which needs paramiko
1174 * disable padding check for llc packets
1175 * ryu.contrib: Be explicit about sys.path modification
1176 * Revert recent py3 changes under ryu/contrib
1177 * str to bytes
1178 * 'reload' has been renamed to 'imp.reload' in Python 3
1179 * Integers between '/' operation become float in Python 3
1180 * 'string.upper' and 'string.lower' has been deprecated in Python 3
1181 * 'map' returns iterator like object with Python 3
1182 * 'izip' has been deprecated in Python 3
1183 * 'reduce' has been renamed to 'functools.reduce' in Python 3
1184 * 'long' has been deprecated in Python 3
1185 * 'reduce' has been renamed to 'functools.reduce' in Python 3
1186 * 'sys.maxint' has been deprecated in Python 3
1187 * 'itertools.izip()' has been deprecated in Python 3
1188 * 'ConfigParser' is renamed to 'configparser' in Python 3
1189 * '\_\_div\_\_' is renamed to '\_\_truediv\_\_' in Python 3
1190 * app\_manager: Clean up apps harder
1191 * Fix ImportError(s) with Python3
1192 * Use range() instead of xrange()
1193 * Reduce pep8 warnings with Python3
1194 * Treatment was not enough
1195 * '+' operator can't combine no-string object
1196 * Avoid invalid dpid and simplify the checking of ofctl version
1197 * packet\_data\_generator2: Fix message length field
1198 * test\_parser: Add an expected result (bundle\_add)
1199 * packet\_data: regen (bundle\_add)
1200 * packet\_data\_generator2: Add bundle\_add
1201 * test\_parser: Add an expected result (flow\_mod)
1202 * packet\_data: regen (flow\_mod)
1203 * packet\_data\_generator2: clear XID field
1204 * packet\_data\_generator2: Add flow\_mod
1205 * test\_parser: Add a expected result (bundle\_ctrl)
1206 * packet\_data: regen (bundle\_ctrl)
1207 * packet\_data\_generator2: Add bundle\_ctrl
1208 * of15: Implement OFPBundleCtrlMsg parser
1209 * packet\_data\_generator2: README
1210 * Show warning when Datapath#ports is read
1211 * Syntax level compatibility with Python 3
1212
1213 v3.20
1214 -----
1215
1216 * Ryu 3.20
1217 * rest\_firewall: Prevent adding fields which is unrelated to match
1218 * ofctl\_v1\_[23]: Ignore unkown match fields
1219 * Revert "pip-requires: Remove comments"
1220 * test\_parser: Enable OpenFlow 1.5 tests
1221 * test\_parser: Add a expected result
1222 * packet\_data: regen
1223 * packet\_data\_generator2: another packet data generator using libofproto
1224 * pip-requires: Remove comments
1225 * lib.ovs.vsctl: Fix a crash
1226 * bmp: fix bug of logging format in bmpstation
1227 * ofctl\_rest: Reduce pylint warnings
1228 * doc/app/ofctl\_rest: Fix example of ipv6\_exthdr match field
1229 * test\_ofctl: Add unit test for masked ipv6\_exthdr match field
1230 * ofctl\_v1\_3: Support masked ipv6\_exthdr match field
1231 * requirements: Drop some optional requirements
1232 * README.rst: Replace a reference to ryu-plugin with ofagent
1233 * pip-requires: Add comments to say what's required by what
1234 * UT: Remove unused imports
1235 * bgp: Remove an unused import
1236 * yet more logging call cleanups
1237 * ryu.app.ofctl: Handle a race with connection close
1238 * silence pep8 warnings to the previous commit
1239 * Reduce logging overhead by cleaning up logging calls
1240
1241 v3.19
1242 -----
1243
1244 * Ryu 3.19
1245 * snortlib: Remove disabled flag MSG\_WAITALL
1246 * ryu.cfg: Use a dedicated ConfigOpt instance
1247 * snortlib: Fix nw\_sock handling
1248 * of: Prevent \_\_str\_\_() methods from raising exceptions
1249 * bgp: Prevent \_\_str\_\_() methods from raising exceptions
1250 * packet lib: dhcp: Fix to calculate Hardware address length
1251 * travis-ci: use container-based infrastructure for faster testings
1252 * Move msg\_pack\_into from ofproto to lib
1253 * tox.ini: Disable pep8 W503 for now
1254 * bgp/bmp: bug fix. remove redundant construction of path attributes
1255 * Move the definitions of ether types and inet protocols to lib.packet
1256 * ofproto: Fix invalid error code OFPQCFC\_EPERM -> OFPSCFC\_EPERM (EXT-208)
1257 * ofproto: Openflow 1.5 support (work-in-progress)
1258 * ignore some pep8 errors for now
1259 * test\_oxm: Add tests for EXT-109 and EXT-233
1260 * ofproto\_v1\_3: Implement EXT-109 and EXT-233
1261 * oxm\_fields: Rename ONFExperimenter to OldONFExperimenter
1262 * oxm\_fields: Update comment for the new version of EXT-256
1263 * bgp: support of new api for "show neighbor"
1264 * bgp: Fixed error in bgp implementation with single peer
1265 * bgp: fix bug of Path formatting in "show neighbor"
1266
1267 v3.18
1268 -----
1269
1270 * Ryu 3.18
1271 * bgp: bug fix of sending Adj-RIB-Out
1272 * ryu-manager: add --enable-debugger option
1273 * bgp/cli: fix internel data destruction due to cli show command
1274 * bgp: remove unnecessary bgp update construction
1275 * bgp: fix bug of NameError: global name 'sent\_route' is not defined
1276 * bmpstation: bug fix. stop closing fds which are in use
1277 * bgp: don't hold withdrawn routes in adj\_rib\_in
1278 * bgp/bmp: send unmodified BGPUpdate to bmp server
1279 * Add parsing libpcap and reading/writing PCAP file
1280 * nx\_actions: Avoid confusing StringifyMixin
1281 * nx\_actions: Implement nx\_action\_learn
1282 * test\_nx\_flow\_spec: Add UTs for NX flow\_mod\_spec
1283 * nx\_actions: Implement NX flow\_mod\_spec
1284 * type\_desc: Separate type conversion classes from oxm\_fields
1285 * nx\_actions: Remove redundant initializations
1286 * Implement nx\_action\_reg\_move for OpenFlow 1.3
1287 * doc/app/ofctl\_rest: Add description for OFPAggregateStats message
1288 * ofctl\_rest: support OFPAggregateStats message
1289 * doc/app/ofctl\_rest: Add description for OFPQueueStats message
1290 * ofctl\_rest: support OFPQueueStats message
1291 * test\_oxm: Add UTs for 64-bit experimenter OXMs
1292 * test\_oxm: dedicated UTs for oxm\_fields module
1293 * oxm\_fields: Fix 64-bit experimenter OXM support
1294 * oxm\_fields: Fix oxm\_length calculation for experimenter OXMs
1295 * oxm\_fields: Add header-only variants of serializer/parser
1296 * oxm\_fields: Prefix internal functions with \_ for readability
1297 * oxm\_fields: Add comments
1298 * OF 1.0: Use ofproto\_common.NX\_EXPERIMENTER\_ID instead of NX\_VENDOR\_ID
1299 * nicira\_ext: Separate the most of NX definitions from ofproto\_v1\_0
1300 * Cleanup isinstance(foo, (int, long))
1301 * doc/app/ofctl\_rest: Add descriptions for duration\_nsec field
1302 * of\_v1\_0: Fixed the flow format logic to set it correctly when registers matches are set
1303 * of\_v1\_0: Added support for the NXM\_NX\_TUN\_IPV4\_{SRC & DST}[\_W] fields
1304 * ospf: fix wrong OSPF LSA type
1305 * bgp: support of understanding assigned mpls-label for prefix\_add in vpnv4
1306 * ofctl\_v1\_0/2/3: Fix unsuitable log level
1307
1308 v3.17
1309 -----
1310
1311 * Ryu 3.17
1312 * ospf: add SummaryLSA class
1313 * ofctl\_v1\_2, 3: Fix regression of IP arbitrary bitmask support
1314 * bgp: bug fix of timestamps of BMPRouteMonitoring in bmp.py
1315 * topology/switches: add of1.2+ support for the drop\_packet function
1316 * bgp: Fix filter message variable
1317 * bgp: support New best path selecting
1318 * ofctl\_rest: Fix clear flow entries command
1319 * rest\_qos: fix error of additional a qos rule with "priority"
1320 * rest\_qos: fix a comment
1321 * bgp: support new handler in case of changing BGP session
1322 * doc/app/ofctl\_rest: Add description for capabilities field in OPFMeterFeatures
1323 * ofctl\_v1\_3: Fix to parse capabilities field in OPFMeterFeatures
1324 * ofproto\_v1\_[234]\_parser: Add notes for vlan\_vid match field
1325
1326 v3.16
1327 -----
1328
1329 * Ryu 3.16
1330 * packet lib: don't crash with bogus ospf packet
1331 * bmp: bug fix of peer bgp ID in BMP Message
1332 * doc/app/ofctl\_rest: Add command examples for OFPVID\_NONE/PRESENT
1333 * ofctl\_v1\_2/3: Fully support the match combinations for VLAN ID
1334 * fix security problem of some RESTful apps
1335 * Workaround of os.path.samefile
1336 * test\_ofctl: Modify to use new match api and field parser
1337 * ofctl\_v1\_/2/3: Modify to\_match() to use new match api
1338 * ofctl\_v1\_/2/3: Modify match\_to\_str() to use new match field parser
1339 * bgp: bug fix of handling nexthop for eBGP peering
1340 * test\_utils: Add unit test for ryu.utils
1341 * utils: Fix bytearray conversion
1342 * test\_ofctl\_v1\_2/3: Add a test case of masked metadata
1343 * test\_ofctl\_v1\_2/3: Fix some test cases
1344 * bgp: bug fix of Multi Exit Discriminator (MED)
1345 * ofctl\_rest: fix some mistypes
1346 * doc/app/ofctl\_rest: Correct command examples
1347 * fix security problem of some RESTful apps
1348 * bgp: support connect modes to choose how to connect to the neighbors
1349 * bgp: enable to stop a chile thread by specifying its name
1350 * bgp: fix lacking import
1351 * bgp/cli: show adjacency rib in/out by show neighbor commands
1352 * ofctl\_v1\_0: Add remaining actions
1353 * doc: Add tables about match and actions structures
1354 * bgp: remove uncommon open msg check
1355 * bgp: fix \_OptParamCapability parser
1356
1357 v3.15
1358 -----
1359
1360 * Ryu 3.15
1361 * simple\_switch\_12: handle non-buffering switch
1362 * simple\_switch: handle non-buffering switch
1363 * simple\_switch\_13.py: Added ability to use buffer\_id in FlowMod
1364 * simple\_switch\_13: Added a logging when running in --verbose for truncated packets
1365 * bgp: supporting best\_path\_change\_handler for Vpnv4/6 prefix in BGPSpeaker
1366 * rest\_router: fix security problem
1367 * packet lib: don't crash with truncated dhcp packet
1368 * packet lib: don't crash with corrupted lldp packet
1369 * ofctl\_v1\_0: match\_to\_str() does not convert nw\_tos correctly
1370 * bgp: fix bug of ASPathFilter in case of iBGP peering
1371 * stplib.py: Should wildcard non-relevant bits in the mask field of port mod message for OpenFlow 1.2+
1372 * simple\_switch\_14: Update a comment about OVS bug
1373 * simple\_switch\_13: Update a comment about OVS bug
1374 * Add a simple switch for Openflow 1.4, an easy adaption of SimpleSwitch13
1375 * sw test tool: Fix typos
1376 * ofproto\_v1\_4: Add tun\_ipv4\_src and tun\_ipv4\_dst NXMs
1377 * test\_parser: Update expected json representations
1378 * packet\_data: Regen
1379 * packet\_data\_generator: Add tun\_ipv4\_src and tun\_ipv4\_dst for OF1.3
1380 * ofproto\_v1\_3: Add tun\_ipv4\_src and tun\_ipv4\_dst NXMs
1381 * oxm\_fields: Add Nicira Extended Match (NXM) support
1382 * oxm\_fields: Add comments
1383 * oxm\_fields: Avoid shadowing python builtin
1384 * travis: Run tests via tox
1385 * test\_addrconv: Fix a way to import the tested module
1386 * test\_parser: Make this independent from test environment path
1387 * tox.ini: Add pep8 environment
1388 * pyang\_plugins: pep8 style fix
1389 * bgp: fix pep8 warnings
1390 * bgp: supporting loopback interface as neighbour\_source\_address for iBGP
1391 * bfdlib: follow TTL/hop limit in RFC5881 explicitly
1392 * doc: add lib.packet.bfd classes to library\_packet\_ref
1393 * lib: add IPv4 single hop BFD (RFC5881) support
1394 * unit test for lib.packet.bfd
1395 * packet lib: add BFD support
1396 * ofctl\_v1\_0/2/3: check lock timeout by lock.is\_set()
1397 * test: add unittests for of1.3 parser
1398 * of12/3: support setting the oxm\_value to OFPVID\_NONE
1399 * ofproto\_v1\_4\_parser: Handle experimenter OXMs in TableFeatures
1400 * ofproto\_v1\_3\_parser: Handle experimenter OXMs in TableFeatures
1401 * oxm\_fields: Add a comment
1402 * bgp: support next\_hop\_self
1403
1404 v3.14
1405 -----
1406
1407 * Ryu 3.14
1408 * doc: Add ryu.app.ofctl\_rest document
1409 * of: Fix name of class member variables
1410 * gui\_topology: fix to work using WebSocket
1411 * bgp: ignore link-local address
1412 * bgp: local preference support IPv6, VPNv4/v6 route family
1413 * Improve debug messages for unsupported request Log correct debug message
1414 * 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
1415 * sw test tool: fix an error caused by changing enum name in of1.4
1416 * ofctl: Add default value to type field of OFPGroupMod
1417 * of: Add missing fields in OpenFlow statistics messages
1418 * of: Fix Enum Names and Values
1419 * of: Fix Enum Name for Bad Instruction Code Corrected Reset Count enum name
1420 * bgp: local preference support
1421 * sw test tool: add unit test
1422 * sw test tool: add a comment about specifying the port number support
1423 * sw test tool: support specifying the port number
1424 * ofctl\_v1\_0: correct flow modify message
1425 * ryu.cfg: Fix a comment
1426 * ofa\_neutron\_agent: Add a comment to explain what uses this
1427 * ofp\_pktinfilter: add 'logging' option
1428 * Snort Integrate:
1429 * bgp: rpc-api 'core.start' method in Network Controller
1430 * import BGPPathAttributeCommunities in peer manager
1431 * bmp: add client information to each bmp message
1432
1433 v3.13
1434 -----
1435
1436 * Ryu 3.13
1437 * ws\_topology: bugfix an event is dropped
1438 * bgp: should not use dict comprehension
1439 * Snort integrate: Add the snort lib supporting snort integration. Add an sample application simple\_switch\_snort.py which can dump alert message
1440 * packet lib: add linux cooked header support
1441 * doc: update obsolete Linux kernel SubmittingPatches url
1442 * packet bmp: fix Peer Down Reason
1443 * bgp: add parameter 'label\_ranges' for 'core.start' method in BGPSpeaker
1444 * ofctl\_rest: support OFPFlowStats filtered by fields
1445 * bgp: reduce duplicate codes with helper\_function
1446 * sw test tool: add a "note" for help to understand
1447 * bmpstation: make configurable through environment variables
1448 * bgp: make reserved private variable
1449 * bgp: encode 'next\_hop' in human readable format
1450 * bgp: use \_class\_suffixes to support various AddrPrefix
1451 * stringify: introduce \_class\_suffixes for easy jsonize
1452 * bgp: move \_TYPE declaration of IPAddrPrefix to the appropriate place
1453 * bgp: add support for RFC3107
1454 * fix setup.cfg entry
1455 * bgp: simplify CLUSTER\_LIST attribute parser
1456 * bgp: fix bug of receiving 'RouteRefresh' Message
1457 * bgp: refine the API for connecting to bmp server
1458 * bgp: add BGP capability code 64 (graceful restart)
1459 * bgp: add attribute ORIGINATOR\_ID and CLUSTER\_LIST
1460 * bgp: move ssh configuration to bgp config file
1461 * bgp: add route server function to bgpspeaker
1462 * bgp: fix bug of labels formatting for show VPNv4 prefix information
1463 * bgp: fix bug of Path(Origin) formatting for show VPNv4 prefix information
1464 * bgp: show VPNv4 Prefix information
1465 * packet/bgp: add open capability code of 128
1466 * bgp: support add/delete vpnv6 prefix
1467 * bgp: support add/delete VPNv6 VRF
1468 * app/bmpstation: fix to work with empty BMPMessage
1469 * packet/bmp: fix bug of BMP Peer Down Notification class
1470 * packet/bgp: add 32bit AS number support to BGPPathAttributeAsPath
1471 * added parameter for vrfs\_get (in case of format = 'cli')
1472 * added parameter for rib\_get
1473
1474 v3.12
1475 -----
1476
1477 * Ryu 3.12
1478 * ofctl\_rest: Add support for strict matching
1479 * bgp: fix conflict of PEER\_NEXT\_HOP and NEXT\_HOP value
1480 * bgp: add code to handle RD 0:0 at the head of nexthop network address in MP\_REACH\_NLRI path attribute
1481 * bgp: add parameter for site\_of\_origins to neighbor\_add and vrf\_add method
1482 * bmpstation: add copyright
1483 * app: add simple bmp station application
1484 * bgp: add bmp client function
1485 * bmp: add unit test
1486 * packet lib: add bmp(BGP Monitoring Protocol)
1487 * packet lib: sctp: fix default arguments
1488 * packet lib: udp: fix default arguments
1489 * packet lib: tcp: fix default arguments
1490 * packet lib: ipv6: fix default arguments
1491 * packet lib: ipv4: fix default arguments
1492 * bgp: fix bugs related to filter
1493 * bgp: fix AttributeError bug
1494 * bgp: fix NameError bug
1495 * ofproto\_v1\_4\_parser: Remove a stale comment on OFPTableFeaturesStatsReply
1496 * ofproto\_v1\_3\_parser: Remove a stale comment on OFPTableFeaturesStatsReply
1497 * bgp: make 'core.reset\_neighbor' API asynchronously
1498 * bgp: add show neighbor command to ssh client
1499 * bgp: refine and fix filter code
1500 * bgp: manage filter in a peer instance instead of rtconf
1501 * bgp: create adjacent rib in peer instance
1502 * bgp: add in-filter function
1503 * bgp: enable filter configuration via configuration file
1504 * bgp: move filter class under info\_base/
1505 * ofctl\_v1\_2/3: fix unsuitable log
1506 * ofctl\_v1\_2/3: fix tcp\_dst/src match fields
1507 * unit test for ofctl\_v1\_2/3
1508 * bgp: add neighbor\_reset method to bgpspeaker
1509 * bgp: remove an unused variable from bgpspeaker
1510 * bgpspeaker: refine logs
1511 * bgp: make marker private variable
1512 * bgp: fix bug when restart neighbor
1513 * bgp: add neighbor\_update
1514 * bgp: add med parameter to neighbor\_add
1515 * bgp: shut up runtime warning due to configuration file loading
1516 * bgp: fix bug in net\_ctrl listen\_tcp
1517 * bgp: fix logic for checking BGP capability
1518 * bgp: fix the way of getting RouteFamily object
1519 * bgp: add out-filter function
1520 * ofctl\_rest: enable getting Description of a port
1521 * ofctl\_rest: support Port Modification Message
1522 * ws\_topology: fix typo
1523 * Correct tcp option values in the test set
1524 * ofctl\_v1\_2/3: fix POP\_MPLS action and some match fields
1525 * adding FloatOpt to the config parser
1526 * add --pid-file option to cli
1527 * bgp: support specifying nexthop per prefix
1528 * pip-requires: gui\_topology requires webob>=1.2
1529 * bgp: fix send\_notificaiton crash
1530
1531 v3.11
1532 -----
1533
1534 * Ryu 3.11
1535 * ospf: describe prefix in one attribute 'prefix' for ease of use
1536 * ospf: add segment routing opaque types
1537 * ospf: fix bug in encoding
1538 * ospf: support for opaque message
1539 * bgp: support md5 authentication for re-active sessions
1540 * bgp: support md5 authentication for pro-active sessions
1541 * bgp: fix withdraw in EventPrefix notification
1542 * sw test too: use assured Forwarding behavior DSCP value for dscp\_remark
1543 * bgp: support specifying next hop for neighbor
1544 * bgp: add IPv6 advertisement support
1545 * packet/bgp: fix BGPPathAttributeMpReachNLRI next\_hop parser and serializer
1546 * bgp: clean up getpeername() and getsockname() usage
1547 * Initializing the variable 's' so that the get\_desc\_stats() call does not cause an exceptions when there are no messages
1548 * Add a small library to deal with TCP-MD5 socket option
1549 * doc: improve the appearance of the table
1550 * doc: leave out too large samples
1551 * bgp: add ssh\_console option for bgpspeaker module
1552 * document: ryu.app.gui\_topology
1553 * sw test tool: Add default test files (of14: new features)
1554 * sw test tool: Add default test files (of14: group:all/select)
1555 * sw test tool: Add default test files (of14: meter)
1556 * sw test tool: Add default test files (of14: match)
1557 * sw test tool: Add default test files (of14: action with set-field only)
1558 * sw test tool: Add default test files (of14: action without set-field)
1559 * sw test tool: run\_mininet: support Open vSwitch with OpenFlow 1.4
1560 * sw test tool: Modify OFPActionSetField to normalize
1561 * sw test tool: Modify OFPMatch to normalize
1562 * sw test tool: Enable using connected switches to compare
1563 * sw test tool: Enable using user-specified versions to parse
1564 * sw test tool: Add support for using user-specified versions
1565 * ryu/flags: Add config parameters related sw test tool
1566 * sw test tool: Modify conditions of ofp\_packet\_in\_reason
1567 * bgp: fix ipv6 peering regression
1568 * bgp: fix best\_path\_change\_handler for best\_path\_lost
1569 * bgp: fix example code
1570 * bgp: fix another crash (recv\_open -> recv\_open\_msg)
1571 * bgp: fix some leftover of transition to packet lib bgp
1572 * bgp: fix a crash in path comparison
1573 * library\_bgp\_speaker.rst: make an example more complete
1574 * ofa\_neutron\_agent: Change the copyright notice
1575 * ofa\_neutron\_agent: Remove unused logger instance
1576 * ofa\_neutron\_agent: Use AppManager.run\_apps
1577 * AppManager: Add a convenient method to run apps
1578 * ofa\_neutron\_agent: Simplify
1579 * app\_manager: prevent loading unnecessary RyuApps
1580 * package: add python-ryu-doc
1581 * sw test tool: Enable IPv6 flow label maskable
1582 * document ryu.app.ofctl
1583 * ws\_topology: shut up pep8 for long lines in a comment
1584 * bgp: support IPv6 peering
1585 * Add GUI app
1586 * ws\_topology: Handle WebSocket disconnection
1587 * ws\_topology: Avoid controller name confliction
1588 * add debian files to make packages for Ubuntu
1589 * app\_manager: Stop checking h.callers in get\_handlers()
1590 * bgp: catch socket error with sendall
1591 * bgp: use sendall with lock
1592 * bgp: use TCP\_NODELAY for bgp connection
1593 * ryu.lib.hub: add logging wrapper for wsgi server
1594 * contrib: import tinyrpc library
1595 * downgrade required version of msgpack-python
1596 * app\_manager: Let application module to use require\_app()
1597 * bgp: add bgpspaker module for non Ryu application usage
1598 * fix failure of instantiating app
1599 * fix: wrong copyright
1600 * sw test tool: Improve readability of IP mask values
1601 * sw test tool: Improve readability of MAC mask values
1602 * sw test tool: Improve readability of padding data
1603 * sw test tool: Improve readability of tcp options
1604 * rest\_qos: Enable queue setting to interface individually
1605 * packet lib: add Connectivity Fault Management Protocol(CFM, IEEE 802.1ag)
1606 * app\_manager: Fix a crash in unregister\_handler
1607
1608 v3.10
1609 -----
1610
1611 * Ryu 3.10
1612 * doc: add test-of-config-with-linc page
1613 * doc: add test-vrrp page
1614 * ofctl\_v1\_2: fix errors of get\_flow\_stats
1615 * ofctl\_v1\_2: fix pep8
1616 * bgp: remove unnecessary OutgoingRoute attribute 'bgp4\_format'
1617 * bgp: fix typo
1618 * bgp: fix bug of exchanging paths between vrf and global\_table
1619 * packet/bgp: add route distinguisher classes and refine codes
1620 * bgp: keep and use nexthop value as a string internally
1621 * ofctl\_v1\_2/3: MAC arbitrary bitmask support
1622 * bgp: add 'neighbors.get' and 'show.rib' JSON RPC API
1623 * bgp: add JSON RPC API
1624 * bgp: set bgp-config-file default None
1625 * bgp: fix non configured peer exception
1626 * bgp: import lacking constants
1627 * doc: add components page
1628 * bgp: use host's ssh host key if not specified
1629 * sw test tool: Add default test files (group:all/select)
1630 * sw test tool: Enable sending packets using random values
1631 * sw test tool: Enable parsing OFPGroupMod messages in 'prerequisite'
1632 * sw test tool: Add support for confirmation of installed group entries
1633 * sw test tool: Add support for installation of group tables
1634 * sw test tool: Add support for initialization of group tables
1635 * sw test tool: Add a link between switches
1636 * wsgi: add ws\_topology application
1637 * rest\_topology: use decorator api
1638 * sw test tool: pylint
1639 * sw test tool: Reduce similar methods of checking entries exist
1640 * sw test tool: Reduce similar methods of handling events
1641 * sw test tool: Reduce similar methods of initializing flows
1642 * sw test tool: Reduce similar methods of deleting flows
1643 * sw test tool: Reduce similar classes
1644 * sw test tool: Remove an unnecessary wrapper method
1645 * simple\_switch\_websocket\_13: Add get\_arp\_table RPC method
1646 * pip-requires: WebSocket-RPC requires tinyrpc
1647 * Add WebSocket JSON RPC feature
1648 * simple\_switch\_websocket\_13: fix typo
1649 * New API for WebSocket support
1650 * Add PacketIn dumper websocket application
1651 * wsgi: Support WebSocket
1652 * Import eventlet.websocket from master branch
1653 * hub: import semaphore
1654 * tester: cleanup the code of couting the results
1655 * tester: let each attribute of meter had a chance to be compared
1656 * add openflow api reference for of1.4
1657 * app/rest\_qos: fix pep8
1658 * add pep8 options to tox.ini
1659 * tests/unit: fix pep8
1660 * tests: fix pep8
1661 * services/protocols: fix pep8
1662 * lib/xflow: fix pep8
1663 * lib/packet: fix pep8
1664 * lib/of\_config: fix pep8
1665 * lib: fix pep8
1666 * controller: fix pep8
1667 * app: fix pep8
1668 * topology/switches: fix pep8
1669 * base/app\_manager: fix pep8
1670 * ofproto: fix pep8
1671 * Added rest\_qos module
1672 * packet/bgp: bug fix of route target nlri class
1673 * bgp: fix bug of accessing dead socket
1674 * bgp: improve how to show rib
1675 * bgp: fix typo
1676 * packet/bgp: enhanced route refresh support
1677 * packet/bgp: fix bug in serializing AS PATH path attribute
1678 * bgp: add ssh client
1679 * bgp: fix wrong module path
1680 * packet/bgp: add helper methods to nlri class for bgp ssh client
1681 * bgp: don't block at start method
1682 * bgp: bug fix when the peer initiated the connection
1683 * bgp: remove unnecessary log message
1684 * set default attributes for OFPPortMod
1685 * sw test tool: pylint
1686 * sw test tool: Remove unused codes
1687 * sw test tool: Reduce similar methods
1688 * Added queue stats request
1689 * Added ovs-vsctl commands of QoS-related
1690
1691 v3.9
1692 ----
1693
1694 * Ryu 3.9
1695 * sw test tool: Modify lengths of pad fields for ARP
1696 * sw test tool: Revert changes of test files
1697 * tests/integrated: Enable MPLS set-field and push MPLS tests
1698 * tests/integrated: Match on MPLS dl\_type for flows with MPLS TTL actions
1699 * tests/integrated: Match on MPLS dl\_type for flows with pop MPLS actions
1700 * tests/integrated: Match on IP dl\_type for flows with set IPv6 addresses
1701 * tests/integrated: Enable ARP tests
1702 * tests/integrated: Match on IP dl\_type for flows with set NW TTL actions
1703 * tests/integrated: Match on VLAN tag for flows which set VLAN tags
1704 * tests/integrated: Match on VLAN tag for flows with pop VLAN TTL actions
1705 * tests/integrated: Match on IP dl\_type for flows with dec NW TTL actions
1706 * tests/integrated: Do not verify buffer\_id of packet\_in resulting from packet\_out
1707 * sw test tool: Modify lengths of pad fields for ARP
1708 * packet lib: ipv6: support Routing header (type3)
1709 * sw test tool: Fix MAC addresses used in tests
1710 * tests/integrated: Use table\_id greater than the current table for goto-table instruction
1711 * tests/integrated: Specify table\_id for flow\_mod modify tests
1712 * bgp: fix connect timeout error
1713 * bgp: add \_\_init\_\_.py files
1714 * packet lib: ipv6: Fix to calculate AH length
1715 * bgp: fix pep8
1716 * bgp: add sample configuration file
1717 * bgp: improve log visibility
1718 * bgp: avoid the trouble of having to explicitly specify IDs in configuration
1719 * bgp: enable to use system IP addr implicitly for binding
1720 * bgp: enable default label range
1721 * bgp: make bgpspeaker RyuApp
1722 * bgp: use ryu.lib.hub instead of the direct use of eventlet
1723 * bgp: clean up codes which constructs an update message
1724 * bgp: fix typo
1725 * remove obsolete man pages (rpc\_cli and neutron\_ofagent\_agent)
1726 * delete bin/neutron-ofagent-agent
1727 * delete ryu/tests/bin/of-config-cli
1728 * delete bin/rpc-cli
1729 * document ryu command
1730 * add bin/ryu to PYLINT\_INCLUDE
1731 * add bin/ryu
1732 * pip-requires: require oslo.config >= 1.2.0
1733 * allow overriding argv and progname
1734 * ryu.cfg: re-export some more stuff for convenience
1735 * sw test tool: Fix to compare OFPMatch using masks without byte boundary
1736 * bgp: remove original bgp packet library
1737 * bgp: use ryu bgp packet library instead of original one
1738 * bgp: add stuff for integration with bgp speaker
1739 * Rename to CONTRIBUTING.rst
1740 * of14: set default attributes for group-related classes
1741 * of13: set default attributes for group-related classes
1742 * of12: set default attributes for group-related classes
1743 * sw test tool: Correct the comparison method to treat matches as the set
1744 * sw test tool: Fix to compare OFPMatch ignoring fields that masks are all zero bits
1745 * sw test tool: Fix to compare OFPMatch ignoring masks that are all one bits
1746 * fix pbb itag related tests
1747 * RyuApp: delete a key without handlers when unregistering a handler
1748 * ryu.app.ofctl: raise exceptions on openflow error messages
1749 * ryu.app.ofctl: implement multipart
1750 * ryu.app.ofctl: implement reception of reply message
1751 * ofp\_event: add a function to find Event class for given OFP class
1752 * RyuApp: add methods to observe/unobserve specific event dynamically
1753 * RyuApp: allow observing events without having handlers
1754 * RyuApp.get\_handlers: restructure code and add a comment
1755 * RyuApp: add a method to unregister a handler
1756 * controller.handler: simplify code
1757 * controller.handler: use normal classes rather than a namedtuple
1758 * controller.handler: g/c now unused code
1759 * igmplib: Fix a problem that querier stops sending a query message
1760
1761 v3.8
1762 ----
1763
1764 * Ryu 3.8
1765 * bgp: fix pep8
1766 * bgp: enable to propagate ipv4 networks
1767 * bgp: improved debug message in neighbor creation
1768 * bgp: changed default configuration value for ease of use with bgp4
1769 * bgp: use hub.Event to wait for the core\_service boot instead of sleep
1770 * bgp: enable to show ipv4 rib
1771 * bgp: send BGP UPDATE msg in BGP4 format when nlri is ipv4
1772 * bgp: handle non-MPBGP UPDATE msg
1773 * bgp: remove inappropriate assertion assuming only MPBGP (not BGP4)
1774 * bgp: fix wrong path
1775 * add BGP daemon feature
1776 * ofctl\_v1\_3: Fix to enable using meter flags multiply
1777 * stplib: reduce unnecessary constant
1778 * sw test tool: Add default test files (meter)
1779 * sw test tool: Add support for throughput analysis
1780 * sw test tool: Enable throughput analysis
1781 * sw test tool: Add support for getting throughput
1782 * sw test tool: Add support for installation of flows for throughput analysis
1783 * sw test tool: Add support for deletion of flows for throughput analysis
1784 * sw test tool: Enable parsing a new 'egress' format
1785 * sw test tool: Enable sending packets continuously
1786 * sw test tool: Rename STATE\_UNMATCH\_PKT\_SEND to STATE\_SEND\_BARRIER
1787 * sw test tool: Refactor packet sending processes
1788 * sw test tool: Add support for sending packets continuously
1789 * sw test tool: Enable parsing a new 'ingress' format
1790 * sw test tool: Enable parsing OFPMeterMod messages in 'prerequisite'
1791 * sw test tool: Add support for confirmation of installed meter entries
1792 * sw test tool: Add support for installation of meter entries
1793 * sw test tool: Add support for initialization of meter tables
1794 * sw test tool: Rename STATE\_INIT to STATE\_INIT\_FLOW
1795 * remove ryu.cmd.ofa\_neutron\_agent from console\_scripts in setup.cfg
1796 * of: set TCP\_NODELAY for secure channel socket
1797 * vrrp tests: update comments
1798 * vrrp.api: request ryu.services.protocols.vrrp.manager
1799 * ryu.topology.api: request ryu.topology.switches
1800 * test\_vrrp\_multi.sh: allow overriding ovs-vsctl
1801 * vrrp: update after ryu.topology.api change
1802 * rest\_topology: update after ryu.topology.api change
1803 * topology: split out exported API from the implementation
1804 * ofa\_neutron\_agent: no need to load ofctl.service explicitly anymore
1805 * ryu.app.ofctl.api: request ryu.app.ofctl.service
1806 * app\_manager: add a function to request to load the server application
1807 * doc: remove a stale reference
1808 * add ryu-manager to PYLINT\_INCLUDE
1809 * ofctl\_rest: use multistage @set\_ev\_cls
1810 * enable multistage @set\_ev\_cls or @set\_ev\_handler
1811 * ofproto: get rid of fragile and slow glob'ing modules
1812 * topology/switches: duplicate datapath connections handling
1813 * Add request forward message unit test
1814 * Add request forward message support
1815 * of14: Add bundle add message unit test
1816 * of14: Add bundle add message support
1817 * Allow messages inside messages
1818 * ofctl\_v1\_2:support whole of match fields
1819 * rest\_router: fix OFPSetAsync bit mask
1820 * ofp\_event: fix a typo
1821 * ofctl\_v1\_2/3: IP arbitrary bitmask support
1822 * sw test tool: Fix a problem for disconnection
1823 * of14: Add bundle control message unit test
1824 * of14: Add bundle control message support
1825 * of14: Remove incorrect OFP\_ASYNC\_CONFIG\_{PACK\_STR, SIZE}
1826 * of14: Update get async reply and set async implementation to follow spec
1827 * of14: Add OFPAsyncConfigProp
1828 * of14: Add table status unit test
1829 * of14: Add table status support
1830 * of14: Add flow monitor reply message unit test
1831 * of14: Add flow monitor request unit test
1832 * packet\_data\_generator: New ofproto dependency for v5 updates
1833 * of14: Add flow monitor reply support
1834 * of14: Add flow monitor request support
1835 * of14: Add OFPFlowUpdate
1836 * dpset: absorb \*args, \*\*kwargs passed to \_\_init\_\_
1837 * ofctl\_v1\_2/3: Convert IP fields to string with dotted decimal mask
1838 * sw test tool: avoid test termination in initialization
1839 * ofctl\_v1\_2: Fix unsuitable log
1840 * ofctl\_v1\_3: Fix unsuitable log
1841 * library\_packet.rst: fix an example code
1842 * pyang plugin to generate of\_config.generated\_classes
1843 * fix NX\_EXPERIMENTER\_ID
1844 * reduce direct uses of oslo.config.cfg.CONF
1845 * ryu.cfg: re-export some frequently used stuff for convenience
1846 * add ryu.cfg
1847 * ryu.conf: obsoleted argument used in sample configuration
1848 * ofctl\_v1\_2/3: IPv4 dotted decimal subnet mask support
1849
1850 v3.7
1851 ----
1852
1853 * Ryu 3.7
1854 * test\_parser: update expected json representation
1855 * OFPPropCommonExperimenter4ByteData: change payload to bytes
1856 * Apply normalize\_json.py
1857 * of14: Correct documentation of table mod flags and properties
1858 * of13: Correct documentation of meter mod flags
1859 * of13: Correct documentation of flow mod flags
1860 * of13: Correct documentation of set config flags
1861 * of13: Correct documentation and example of get config reply flags
1862 * of14: Correct documentation of flow mod flags
1863 * of14: Correct documentation of meter mod flags
1864 * of14: Correct documentation of set config flags
1865 * of14: Correct documentation and example of get config reply flags
1866 * of14: set default attributes for meter-related classes
1867 * of13: set default attributes for meter-related classes
1868 * fix load\_apps() in AppManager class
1869 * six.add\_metaclass requires six>=1.4.0
1870 * of14: Add experimenter property to port mod reply unit test
1871 * of14: Add port mod experimenter property
1872 * of14: Add optical property to port mod reply unit test
1873 * of14: Add port mod optical property
1874 * of14: Remove \_PACK\_STR from port mod ethernet property
1875 * of14: Add experimenter property to port stats reply unit test
1876 * of14: Add port stats experimenter property
1877 * of14: Add optical property to port stats reply unit test
1878 * of14: Add experimenter property to port status unit test
1879 * ofctl\_v1\_3:support whole of match fields
1880 * of14: Add port stats optical property
1881 * of14: Add experimenter property to queue stats reply unit test
1882 * of14: Add queue stats experimenter property
1883 * of14: Rename QueueProp as QueueStatsProp
1884 * of14: Add experimenter property to table features request unit test
1885 * of14: Add experimenter property to table features reply unit test
1886 * of14: Add table feature experimenter property
1887 * of14: Add table feature table sync from property
1888 * of14: Add experimenter property to port desc reply unit test
1889 * of14: Add port desc experimenter property
1890 * of14: Add optical property to port desc reply unit test
1891 * of14: Add optical property to port status unit test
1892 * of14: Add port desc optical property
1893 * of14: Add action experimenter to flow mod unit test
1894 * of14: Add action experimenter support
1895 * of13: Add experimenter property to table features reply unit test
1896 * of13: Add experimenter property to table features request unit test
1897 * of13: Add table feature experimenter property
1898 * ofproto\_v1\_3\_parser: update OFPActionSetField docstring
1899 * ofproto\_v1\_2\_parser: update OFPActionSetField docstring
1900 * ofproto\_v1\_4\_parser: update OFPActionSetField docstring
1901 * of14: Remove supruious comment from OFPPropBase
1902 * of14: Add role status unit test
1903 * packet\_data\_generator: of14: Add role status message
1904 * of14: Add role status support
1905 * of14: Add OFPRoleProp
1906 * of14: Add OFPPropCommonExperimenter4ByteData
1907 * of14: Add queue desc reply unit test
1908 * packet\_data\_generator: of14: Add queue desc reply
1909 * of14: Add queue desc request support
1910 * of14: Add queue desc request unit test
1911 * packet\_data\_generator: of14: Add queue desc request
1912 * of14: Add queue desc request support
1913 * of14: Add OFPQueueDesc
1914 * of14: Add OFPQueueDescProp
1915 * of14: table mod with properties
1916 * of14: Add properties support to flow mod
1917 * of14: Add OFPTableModProp serialization
1918 * of14: Add table desc unit tests
1919 * packet\_data\_generator: of14: Add table desc
1920 * of14: Add table desc request and reply message support
1921 * of14: Add OFPTableDesc
1922 * of14: Add OFPTableModProp
1923 * sw test tool: fix missing to receive error of PacketOut
1924 * of13: support OFPAactionExperimenter with data
1925 * sw test tool: fix pop\_pbb action
1926 * of14: Document OFPRR\_{METER\_DELETE, EVICTION} reasons for flow removed message
1927 * sw test tool: add test report output
1928 * ofproto: correct typo
1929 * test\_add\_flow\_v12\_actions: fix a typo
1930 * rename neutron agent from "ofswitch" to "ofagent"
1931 * of13/14: fix OFPFMFC\_TABLE\_FULL typo
1932 * ofconfig: add commit and discard\_changes operation support
1933 * of\_config: add OFPortStateType class
1934 * topology: support OF1.2 and 1.4
1935 * handler.register\_service: comment
1936 * use six.add\_metaclass
1937 * pip-requires: sort in alphabetical order
1938 * of14: set default attributes for OFPMeterMod
1939 * of13: set default attributes for OFPMeterMod
1940 * neutron-ofswitch-agent man page
1941 * setup.cfg: add neutron-ofswitch-agent to console\_scrpits
1942 * run\_tests.sh: add neutron-ofswitch-agent to PYLINT\_INCLUDE
1943 * neutron-ofswitch-agent: neutron agent for ofswitch ML2 mechanism driver
1944 * ofproto\_v1\_3\_parser: add a comment about extensions support
1945 * pbb: add a comment
1946 * of\_config\_cli: remove a unused import
1947 * run\_tests.sh: add of-config-cli to PYLINT\_INCLUDE
1948 * ofctl\_v1\_3: let action group can be converted to string
1949 * sw test tool: FIX: return the transaction id when flow entries were deleted
1950 * sw test tool: correct the comparison method to treat instructions as the set
1951 * sw test tool: correct error message
1952 * sw test tool: remove unnecessary debug code
1953 * of12: fix InstructionWriteMetadata json decoder
1954 * sw test tool: fix wrong match(ipv6\_exthdr) value of test file
1955 * sw test tool: fix wrong instruction(write metadata) value of test files
1956 * test\_ofctl\_v1\_3: replace a hack with ProtocolDesc
1957 * test\_parser\_v12: replace a hack with ProtocolDesc
1958 * test\_ofp\_pktinfilter: replace a hack with ProtocolDesc
1959 * ProtocolDesc: provide supported\_ofp\_version for ofp\_handler
1960 * ofproto\_protocol: fix UnboundLocalError
1961 * tests: add a test case for ofproto\_protocol
1962 * test\_ofp\_pktinfilter: simplify
1963 * OFPGroupMod: Fix OFPGC\_\* typo in examples
1964 * test\_parser: replace a hack with ProtocolDesc
1965 * controller: use ProtocolDesc
1966 * ofproto\_protocol: provide a class to describe an openflow version
1967 * ofproto\_v1\_3\_parser: import ofproto\_v1\_3 as 'ofproto'
1968 * ofproto\_v1\_2\_parser: import ofproto\_v1\_2 as 'ofproto'
1969 * ofproto\_v1\_0\_parser: import ofproto\_v1\_0 as 'ofproto'
1970 * of14: Add to ofproto unit tests
1971 * of14: Add port mod message support
1972 * of14: Add queue stats request and reply message support
1973 * of14: Add port stats request and reply message support
1974 * of14: Add generic OFPropBase class
1975 * of14: Rename OFPPortDescPropUnknown as OFPPortPropUnknown
1976 * of14: Add port status message support
1977 * of14: Add meter mod message support
1978 * of14: Add OFPMeterBandDscpRemark and OFPMeterBandExperimenter
1979 * of14: Move OFPMeterBand\* to above OFPMeterConfigStats
1980 * of14: Add table features stats request and reply message support
1981 * of14: Add \_ordered\_fields to .4 OFPMatch
1982 * of14: Fix OFPInstructionWriteMetadata JSON decode
1983 * of14: set default attributes for OFPMultipartRequest subclasses
1984 * of14: add some assertions
1985
1986 v3.6
1987 ----
1988
1989 * Ryu 3.6
1990 * of13: set default attributes for OFPMultipartRequest subclasses
1991 * of12: set default attributes for OFPStatsRequest subclasses
1992 * allow application to specify its logger name
1993 * fix syslogd usage on OSX
1994 * vrrp: fix busy timer by the default parameter
1995 * of14: fix OFPMatch from\_jsondict method
1996 * of14: Fix OFPInstructionMeter json format
1997 * of14: default ethernet type for PUSH\_VLAN action
1998 * of14: set default ethernet types for MPLS actions
1999 * of14: remove of1.2/1.3 old SetField aciton API
2000 * doc: announce OF1.4 support in README
2001 * Add OF1.4 set async message support
2002 * Add OF1.4 get async request and reply support
2003 * Add OF1.4 meter features stats request and reply message support
2004 * Add OF1.4 meter stats request and reply message support
2005 * Add OF1.4 meter config stats request and reply message support
2006 * Add OF1.4 meter band drop
2007 * Add OF1.4 group mod message supoort
2008 * Add OF1.4 table mod message support
2009 * Add OF1.4 flow removed message support
2010 * Add OF1.4 group desc stats request and reply message support
2011 * Add OF1.4 OFPBucket
2012 * Add OF1.4 group features stats request and reply message support
2013 * Add OF1.4 table stats request and reply message support
2014 * Add OF1.4 aggregate stats request and reply message support
2015 * Add OF1.4 role request and reply message support
2016 * Add OF1.4 barrier request and reply message support
2017 * Add OF1.4 experimenter message support
2018 * Add OF1.4 error message support
2019 * Add OF1.4 echo request and reply message support
2020 * Add OF1.4 SetNwTtl action support
2021 * Add OF1.4 DecNwTtl action support
2022 * Add OF1.4 DecMplsTtl action support
2023 * Add OF1.4 PushVlan action support
2024 * Add OF1.4 PopVlan action support
2025 * Add OF1.4 PushMpls action support
2026 * Add OF1.4 PopMpls action support
2027 * Add OF1.4 PushPbb action support
2028 * Add OF1.4 PopPbb action support
2029 * Add OF1.4 CopyTtlIn action support
2030 * Add OF1.4 CopyTtlOut action support
2031 * Add OF1.4 SetField action support
2032 * Add OF1.4 OFPMatchField support
2033 * Add OF1.4 desc stats request and reply message support
2034 * Add OF1.4 group stats request and reply message support
2035 * Add OF1.4 multipart experimenter request and reply message support
2036 * packet\_data\_generator: Remove OF1.4 queue set config request and reply message support
2037 * Correct OF1.4 OFPMatch JSON serialisation and formatting
2038 * Correct OF1.4 OFP\_ACTION\_HEADER\_PACK\_STR
2039 * of12: set default ethernet types for MPLS actions
2040 * of13: set default ethernet types for MPLS actions
2041 * ofproto\_v1\_3\_parser: have a default value for push\_vlan ethertype
2042 * ofproto\_v1\_2\_parser: have a default value for push\_vlan ethertype
2043 * ofproto\_v1\_3\_parser: put some assertions
2044 * ofproto\_v1\_2\_parser: put some assertions
2045 * Make type and len class attributes of OFPInstructionMeter
2046 * doc: improve RyuApp documentation
2047 * doc: update after the sync request change
2048 * vrrp: Add RPC API
2049 * ofctl.service: fix a crash on error msg
2050 * ofctl.service: reduce log level of some messages
2051 * ofctl.service: fix some crashes
2052 * Fix OFPInstructionWriteMetadata JSON decode
2053 * dpset: start up dpset if there are subscribers of dpset events
2054 * fix bidirectional event confusion
2055 * packet\_data\_generator: Add OF1.4
2056 * ofctl\_v1\_2/3: fix SET\_FIELD action and some match fields
2057 * bgp: fix IP/MPLS\_VPN addresses
2058 * bgp: comments about notification data
2059 * bgp: a comment
2060 * bgp: RFC 4486
2061 * bgp: constants for NOTIFICATION code/subcode
2062 * bgp: a comment
2063 * ryu.app.ofctl: Add a proxy application to send OF messages
2064 * test tool: run\_mininet: support CPqD Software Switch
2065 * bgp: implement the rest of RFC 3107
2066 * bgp: implement BGPOptParamCapabilityCarryingLabelInfo
2067 * bgp: add a constant for enhanced route refresh
2068 * safi: add a constant for route target constrain
2069 * rest\_firewall: support IPv6 match conditions
2070 * ofctl\_v1\_2/3: fix match conditions about ARP
2071 * enable OpenFlow 1.4
2072 * packet\_data\_generator: update of\_protocol upstream
2073 * test\_bpdu: add unit test
2074 * bpdu: handling based on version and type
2075 * ofctl\_rest: improve readability of the result of MeterFeatures
2076 * ofctl\_rest: support group-related messages
2077 * lib.of\_config: import ryu.contrib
2078 * tests: add some tests for ryu.lib.of\_config.classes
2079 * A happy new year 2014
2080
2081 v3.5
2082 ----
2083
2084 * Ryu 3.5
2085 * firewall: correct acquisition result of DENY rule
2086 * ofctl\_rest: fix mod\_meter\_entry in OpenFlow1.0/1.2
2087 * ofctl\_rest: support OFPExperimenter message
2088 * ofctl\_rest: fix delete\_flow\_entry
2089 * topology: Setting highest rule priority to LLDP packets
2090 * Fix Windows setup dependency bug
2091 * add IGMP snooping application
2092 * packet lib: icmpv6: support MLD (v1/v2)
2093 * packet lib: igmp: support IGMP v3
2094 * firewall: packet blocking log for DENY rule
2095 * ofctl\_v1\_2/3: support IPv6
2096 * ofctl\_v1\_2/3: support OXM field names
2097 * ofctl\_rest: support OpenFlow1.2
2098 * of\_config\_cli: remove no longer necessary "\_pythonify" stuff
2099 * of\_config: allows both of of-config element names and python style names
2100 * of\_config\_cli: add add\_queue command
2101 * of\_config\_cli: add delete\_config and copy\_config
2102 * a simple of-config client command
2103 * of\_config.capable\_switch: add delete\_config and copy\_config
2104 * tests.integrated.test\_of\_config: update after capable\_switch api change
2105 * of\_config.capable\_switch: api tweak
2106 * add some convenient OF-Config classes
2107 * requires lxml
2108 * oxm\_fields: make a crash less cryptic
2109 * ofctl\_v1\_3: support OFPMeterConfigStats
2110 * ofctl\_v1\_3: fix match for metadata
2111 * ofctl\_v1\_3: correct MeterStats and MeterFeatures
2112 * topology: add of13 support
2113 * ofctl\_v1\_3: support meter
2114 * ofctl\_v1\_3: support metadata
2115 * packet.ospf: workaround a bytearray vs buffer problem
2116 * rest\_firewall: use the explicit max\_len of flow\_mod
2117 * lib: ofctl: support the specified max\_len of flow\_mod
2118 * packet lib: improve readability of json
2119 * add license to ospf files
2120 * test tool: add a script to make the test environment on mininet
2121 * test tool: add default test files (match)
2122 * test tool: add default test files (action with set-field only)
2123 * test tool: add default test files (action without set-field)
2124 * test tool: add OpenFlowSwitch test tool
2125 * unit test for lib.packet.ospf
2126 * packet lib: add ospf
2127 * lib/packet/packet\_utils: Add a function to calculate fletcher checksum
2128 * packet lib: ipv6: correct a default parameter of opt\_header
2129 * packet lib: add unittests for reversibility about json
2130 * packet lib: slow: fix reversibility about json
2131 * packet lib: sctp: fix reversibility about json
2132 * packet lib: lldp: fix reversibility about json
2133 * packet lib: llc: fix reversibility about json
2134 * packet lib: ipv6: fix reversibility about json
2135 * packet lib: icmpv6: fix reversibility about json
2136 * packet lib: icmp: fix reversibility about json
2137 * packet lib: dhcp: fix reversibility about json
2138 * packet lib: bpdu: fix reversibility about json
2139 * packet lib: bgp: fix reversibility about json
2140 * packet lib: packet\_base: add a method which makes '\_class\_prefixes' easy to use
2141 * stplib: support OF 1.2/1.3
2142 * stplib: Reduction of the number of threads
2143 * add OpenFlow 1.4 definitions
2144 * packet lib: igmp: support default parameters
2145
2146 v3.4
2147 ----
2148
2149 * Ryu 3.4
2150 * vrrp: handle interface failure
2151 * rpc-cli man page
2152 * a simple command line msgpack-rpc client
2153 * add rpc.Client.peek\_notification
2154 * msgpack-rpc: unit tests
2155 * rpc: prefix closed\_by\_peer with \_ as it's private
2156 * rpc: If the socket is closed by peer, endpoint stop the serve
2157 * msgpack-rpc fixes and improvements
2158 * msgpack rpc helper
2159 * test\_parser: expected json for onf\_flow\_monitor\_request
2160 * packet\_data: regen for onf\_flow\_monitor\_request
2161 * packet\_data\_generator: add a case for onf\_flow\_monitor\_request
2162 * packet\_data\_generator: update of\_protocol for onf\_flow\_monitor\_request
2163 * of13: implement ONFFlowMonitorStatsRequest
2164 * ofproto\_parser.StringifyMixin: add "ONF" to the list of class prefixes
2165 * of13: EXT-187 definitions
2166 * of13 OFPExperimenterStatsRequest: api tweak
2167 * of13: add a bunch of ONFERR\_ constants from OF Extensions for 1.3.X
2168 * of13 OFPTableFeaturesStatsRequest: remove an unused argument
2169 * unit test: test ryu.cmd.manager
2170 * vrrp: declare event.py to be dependent for manager.py
2171 * vrrp: add statistics support
2172 * Add support for admin\_state (role)
2173 * fix vrrp utils
2174 * register monitor\_linux and monitor\_openflow for VRRPInterfaceMonitor class
2175 * vrrp: use sysfs instead of ioctl to get ifindex
2176 * rest\_firewall: support OF 1.3
2177 * ofctl\_v1\_3: support some actions
2178 * ofctl\_v1\_3: correct the output result of get\_flow\_stats()
2179 * rest\_router: support OF 1.3
2180 * ofp: use RyuApp start() to return Greenlet thread
2181 * allow RyuApp start() method returns Greenlet thread
2182 * Revert "doc: update tls example"
2183 * run OFP if no application is specified
2184 * fix the regression due to e45f382e51c9a3d57a6d8c01cec9e70f7ca364fd
2185 * a script to set up an environment for test\_vrrp\_multi.py
2186 * a script to set up an environment for test\_vrrp\_linux\_multi.py
2187 * test apps for VRRP service
2188 * vrrp service
2189 * packet.vrrp: some convenient routines
2190 * base/app\_manager: context might be RyuApp
2191 * base/app\_manager: create/destroy RyuApp instances dynamically
2192 * base/app\_manager: introduce singleton pattern to AppManager
2193 * base/app\_manager: RyuApp initialization race at startup
2194 * topology.switches: stop abusing Packet.next()
2195 * test\_lldp: stop abusing Packet.next()
2196 * Packet: fix iterator
2197 * skip malformed OF messages and continue instead of stopping
2198 * of13: fix wrong comments
2199 * test\_parser: update expected json representations for EXT-256
2200 * packet\_data: regen
2201 * packet\_data\_generator: add a case for EXT-256 (PBB UCA match field)
2202 * packet\_data\_generator: update of\_protocol upstream
2203 * of13: implement EXT-256 (PBB UCA match field)
2204 * lacplib: reduce unnecessary constant
2205 * of13: OFPTableFeaturesStatsRequest: update docstring
2206 * of13: OFPOxmId: update comment
2207 * ryu.app.client: comments
2208 * ryu.app.tunnel\_port\_updater: comments
2209 * ryu.app.gre\_tunnel: comments
2210 * ryu.app.rest\_quantum: comments
2211 * ryu.app.rest\_conf\_switch: comments
2212 * ryu.app.rest: comments
2213 * doc: update tls example
2214 * of12: implment OFPT\_EXPERIMENTER serializer
2215 * of13: implment OFPT\_EXPERIMENTER serializer
2216 * test\_parser: enable serializer tests for OFPT\_EXPERIMENTER
2217 * solve application dependency via @set\_ev\_cls
2218 * dpset: fix a reconnect race
2219 * doc: hook up dpset
2220 * dpset: add some docstrings
2221 * dpset: remove dead code
2222 * dpset: prefix private methods with \_
2223 * ofproto: fixed comments of ofp\_capabilities
2224 * test\_parser: expected json representations for OFPMP\_EXPERIMENTER
2225 * packet\_data: regen
2226 * packet\_data\_generator: add cases for experimenter mp request/reply
2227 * of13: implement OFPMP\_EXPERIMENTER request and reply
2228 * packet lib: ipv6: change some default parameters
2229 * packet lib: ethernet: support default parameters
2230 * bgp: add tests for extended communities
2231 * bgp: implement extended communities
2232 * test\_parser: test OFPET\_EXPERIMENTER serializer as we now have it
2233 * test\_parser: expected json representation
2234 * packet\_data: regen
2235 * packet\_data\_generator: uncomment ofp\_error\_msg\_experimenter
2236 * of13: OFPErrorExperimenterMsg: implement serializer
2237 * of12: OFPErrorExperimenterMsg: implement serializer
2238 * of13: implement OFPErrorExperimenterMsg
2239 * of12: reduce unnecessary diffs from of13
2240 * ofproto\_common: define some experimenter id
2241 * add STP application
2242 * packet lib: add unittests that use default parameters of IPv4/IPv6 and ICMP/ICMPv6
2243 * packet lib: icmp: support default parameters
2244 * packet lib: icmp: support len(icmp.\*)
2245 * packet lib: icmpv6: support default parameters and the auto calculation of lengths
2246 * packet lib: icmpv6: support len(icmpv6.\*)
2247 * packet lib: icmpv6: omit type of nd\_option object
2248 * packet lib: icmpv6: include type and length in nd\_option object
2249 * packet lib: icmpv6: move ND\_OPTION\_\* constants from classes to the module
2250 * packet lib: icmpv6: change the timing of bit shift
2251 * packet lib: icmpv6: correct typos
2252 * ofctl\_rest.py: Fix compatibily for both OF 1.0 & 1.3 datapaths
2253 * ofctl\_v1\_3.py: Add get\_desc\_stats & get\_port\_stats from ofctl\_v1\_0.py
2254 * lacplib: set the max priority to LACP flow entries
2255 * packet lib: add unittests that use default parameters of IPv4/6 and TCP/UDP/SCTP
2256 * packet lib: ipv6: support default parameters and the auto calculation of payload\_length
2257 * packet lib: udp: support default parameters
2258 * packet lib: tcp: support default parameters and the auto calculation of offset
2259 * packet lib: sctp: correct len(sctp)
2260 * SubmittingPatches: mention tools/normalize\_json.py
2261 * test\_parser: expected json representations for new test cases
2262 * packet\_data: regen
2263 * packet\_data\_generator: add cases to use all oxm types
2264 * packet\_data\_generator: update of\_protocol
2265 * normalize \*.json files
2266
2267 v3.3
2268 ----
2269
2270 * Ryu 3.3
2271 * Decoration Based PacketIn Filter
2272 * of13: correct variable name same as spec
2273 * ofproto\_parser: dump packets if error is encountered during parse
2274 * packet lib: support Provider Backbone Bridges (PBB, IEEE 802.1ah)
2275 * packet lib: vlan: support Q-in-Q (IEEE 802.1ad)
2276 * rest\_router: fix mac address conversion
2277 * packet lib: sctp: change the timing of the auto calculation
2278 * packet lib: sctp: remove the past 'TODO' comments
2279 * rest\_router: bug fix of match parameter
2280 * test\_parser: expected json output for ofp\_table\_features\_request/reply
2281 * packet\_data: regen
2282 * packet\_data\_generator: uncomment ofp\_table\_features\_request
2283 * packet\_data\_generator: update of\_protocol upstream
2284 * of13: implement table features request/reply
2285 * OFPMultipartRequest: remove a wrong assertion
2286 * oxm\_fields: allow None values
2287 * packet lib: sctp: support default parameters and the auto calculation of lengths
2288 * packet lib: sctp: aggregate the same method into the base class
2289 * packet lib: sctp: correct typos
2290 * packet lib: sctp: correct sphinx document format
2291 * correct typos
2292 * test\_parser: update expected json output
2293 * packet\_data: regen
2294 * packet\_data\_generator: use more actions
2295 * packet\_data\_generator: update upstream
2296 * tests: apply tools/normalize\_json.py
2297 * ofproto.test\_parser: fix an expected json output
2298 * packet\_data: regen
2299 * packet\_data\_generator: adapt to of\_protocol upstream api change
2300 * packet\_data\_generator: change of\_protocol upstream
2301 * packet lib: sctp: correct comments
2302 * of13: support PUSH\_PBB/POP\_PBB actions
2303 * of1.0, of1.2, of1.3: Modify the default of max\_len in OFPActionOutput
2304 * packet lib: sctp: support the auto calculation of lengths of parameters and causes
2305 * packet lib: sctp: fill up lack of decolators
2306 * packet lib: sctp: remove unnecessary \_\_init\_\_()
2307 * packet lib: sctp: reduce computation
2308 * To specify a logging configuration file
2309 * bgp: implement communities attribute
2310 * bgp: well known communities
2311 * bgp: implement multiprotocol capability
2312 * bgp: implement MP\_UNREACH\_NLRI
2313 * bgp: implement MP\_REACH\_NLRI
2314 * bgp: update a comment
2315 * packet lib: sctp: add tests for protocol stack
2316 * packet lib: sctp: fix problems about padding
2317 * lib.packet.sctp: fix misuses of abstractproperty
2318 * doc: hook up lib.packet.sctp
2319 * packet lib: sctp: add a unittest for SCTP
2320 * packet lib: add Stream Control Transmission Protocol
2321 * packet lib: icmpv6.nd\_router\_advert: skip unknown options correctly
2322 * packet lib: icmpv6: comment
2323 * packet lib: ipv6: correct parser() about flow\_label
2324 * simple\_switch\_13: using table-miss flow
2325 * of13: fix OFPGroupStats
2326 * ofproto tests: add expected json outputs
2327 * packet\_data: regen
2328 * packet\_data\_generator: add of1.3 group\_stats\_request/reply
2329 * of10: fix pep8
2330 * of13: correct parser() in several OFPActions
2331 * of10: Register TCP\_DST and UDP\_DST headers in NXM
2332 * simple\_switch: use packet library
2333 * packet.bgp: parse/serialize FOUR OCTET AS NUMBER capability
2334 * packet.bgp: parse/serialize ROUTE REFRESH capability
2335 * packet.bgp: implement ROUTE REFRESH message
2336 * packet lib: some AFI/SAFI constants
2337 * packet.bgp: parse/serialize capability options
2338 * packet.bgp: some capability related constants
2339 * bgp test: appease pep8
2340 * packet.bgp: appease pep8
2341 * of13: fix InstructionMeter parser
2342 * Switch how to call the API of Routes for every version
2343 * To specify a context of a controller from WSGIApplication#register()
2344 * packet.bgp test: parse real packets taken from quagga
2345 * packet.bgp test: some on-wire packets snooped from running quagga
2346 * packet.bgp: implement RFC 4893
2347 * packet.bgp: parse/serialize path attribute values
2348 * python-oslo-config is necessary for Ryu built by RPM
2349
2350 v3.2
2351 ----
2352
2353 * Ryu 3.2
2354 * fix setup from a tarball again
2355 * avoid pbr's non multi-version aware script
2356 * revert "support setup.py install with git archive tarballs" commit
2357 * revert "stick with pbr 0.5.19" commit
2358
2359 v3.1
2360 ----
2361
2362 * Ryu 3.1
2363 * packet lib: dhcp: remove unnecessary import
2364 * packet lib: dhcp: add unittest
2365 * packet lib: dhcp: use text addresses
2366 * packet lib: add get\_protocol API
2367 * of1.3: set default arguments for FlowStatsRequest
2368 * of1.2: set default arguments for FlowStatsRequest
2369 * topology.switches: fix link discovery
2370 * ofproto: remove a bogus comment
2371 * ofproto: remove unused definitions
2372 * ofproto: fix OF1.0 packet\_in parser
2373 * packet lib: icmp: rewrite unittest
2374 * tests/integrated: fix mac address format
2375 * Advanced WSGI API
2376 * doc: hook up streaming parser docs
2377 * implement BGP-4 streaming parser
2378 * streaming parser base class
2379 * doc: hook up lib.packet.bgp
2380 * unit test for lib.packet.bgp
2381 * packet lib: implement basic part of BGP-4
2382 * test\_addrconv: add more test
2383 * packet lib: ipv6: avoid dangerous default value [] as argument
2384 * packet lib: ipv6: simplify the operations of \_\_init\_\_()
2385 * packet lib: ipv6: support udp
2386 * packet lib: ipv6: remove unnecessary import
2387 * packet lib: icmp: correct parser() of TimeExceeded
2388 * unit test for import\_module
2389 * import\_module: deal with cases mod.\_\_file\_\_ is not accessible
2390 * packet lib: ipv6: correct a comment
2391 * packet lib: ipv6: add test for multi extension headers
2392 * packet lib: ipv6: support IP Authentication header
2393 * packet lib: ipv6: support fragment header
2394 * packet lib: ipv6: support destination header
2395 * packet lib: ipv6: support Hop-by-Hop Options header
2396 * packet lib: ipv6: prepare to support Hop-by-Hop Options header and destination header
2397 * packet lib: ipv6: support options for Hop-by-Hop Options header and destination header
2398 * packet lib: ipv6: prepare to support extension headers
2399 * rest\_firewall: improve REST response
2400 * comment on OFP\_xxx\_PORT
2401 * vlan: remove unnecessary import
2402 * doc: ryu app api overview
2403 * document OFPTableFeaturesStatsRequest/OFPTableFeaturesStatsReply
2404 * doc: sprinkle of13 json examples
2405 * doc: sprinkle of12 json examples
2406 * document MsgBase
2407 * add some docstring on StringifyMixin and relevant code
2408 * lib: lacplib: correct comments
2409 * lib: lacplib: add underscore to a protected member
2410 * lib: lacplib: support OpenFlow1.2/1.3
2411 * packet lib: Simpler API to assemble a packet
2412 * of12, of13: fix OFPActionSetField padding
2413 * test: update expected json outputs
2414 * packet\_data: regen
2415 * tweak packet\_data\_generator
2416 * rest\_firewall: remove of unused constant values
2417 * rest\_firewall: remove of an unnecessary comma of json response
2418 * rest\_firewall: remove of a redundant code
2419 * rest\_firewall: bug fix of handling an empty dict
2420 * ofproto: raise an exception for unsupported operation
2421 * test\_parser: test serializing a message multiple times
2422 * ofproto: remove some assertions
2423 * ryu-manager: copyright notice
2424 * of10: change OFPMatch to support ipv4 src and dst mask when wildcards are omitted in \_\_init\_\_
2425 * Support old style class
2426 * simple\_switch: simplify
2427 * simple\_switch\_12: reduce difference from simple\_switch\_13
2428 * test: update of12 expected \*.json outputs after utf-8 change
2429 * test: update of13 expected \*.json outputs after utf-8 change
2430 * test: regen \*.packet after utf-8 changes
2431 * packet\_data\_generator: use utf-8 in table name and port name
2432 * of13: update expected \*.json outputs for table name change
2433 * of13: assume OFPTableFeaturesStats.name UTF-8
2434 * of12: update expected \*.json outputs for table name change
2435 * of12: assume OFPTableStats.name UTF-8
2436 * of10: assume OFPTableStats.name UTF-8
2437 * of13: update expected \*.json results for OFPPort.name change
2438 * of13: assume OFPPort.name UTF-8
2439 * of12: update expected \*.json results for OFPPort.name change
2440 * of12: assume OFPPort.name UTF-8
2441 * of10: update expected \*.json results for OFPPhyPort.name change
2442 * of10: assume OFPPhyPort.name UTF-8
2443 * stringify: add 'utf-8' type
2444 * packet lib: update icmpv6 doc
2445 * use run\_tests.sh -N for Travis CI
2446
2447 v3.0
2448 ----
2449
2450 * Ryu 3.0
2451 * rest\_firewall: blocked packet logging
2452 * ofctl v1.0/v1.2: add miss\_send\_len for packet in
2453 * restore bin/ryu-manager
2454 * packet lib: bpdu: add some constant values
2455 * rest\_firewall: bug fix of dict keyError
2456 * doc: update format of pages for ofproto
2457 * doc: fix warnings
2458 * doc: update reference page for ofproto
2459 * of12, of13: small update of the document
2460 * test\_parser: ensure that "len" "length" fields can be omitted
2461 * of13: update after OFPMeterBand changes
2462 * of13: make OFPMeterBand's "type" and "len" visible to users
2463 * of13: update \*.json after OFPHelloElemVersionBitmap changes
2464 * of13: make OFPHelloElemVersionBitmap's "type" and "length" to users
2465 * of13: update \*.json after OFPxxxStats.length changes
2466 * of13: make OFPxxxStats.length visible to users
2467 * of13: update \*.json after multipart request/reply's "type" changes
2468 * of13: make multipart request/reply's "type" visible to users
2469 * of13: update \*.json after OFPPacketOut.actions\_len changes
2470 * of13: make OFPPacketOut.actions\_len visible to users
2471 * of13: update \*.json after OFPMatch "type" and "length" changes
2472 * of13: make OFPMatch "type" and "length" visible to users
2473 * of13: update \*.json after OFPQueuePropHeader.property change
2474 * of13: make OFPQueuePropHeader.property visible to user
2475 * of13: update \*.json after "len" "type" changes
2476 * of13: some "len" "type" attributes visible to user
2477 * test\_parser\_v12: update after OFPxxxStats.length changes
2478 * of12: update \*.json after OFPxxxStats.length changes
2479 * of12: make OFPxxxStats.length visible to users
2480 * of12: update \*.json after OFPStatsReply.type changes
2481 * of12: make OFPStatsReply.type visible to users
2482 * test\_parser\_v12: update after OFPPacketOut.actions\_len changes
2483 * of12: update \*.json after OFPPacketOut.actions\_len changes
2484 * of12: make OFPPacketOut.actions\_len visible to users
2485 * test\_parser\_v12: update after OFPErrorExperimenterMsg.type changes
2486 * of12: update \*.json after OFPErrorExperimenterMsg.type changes
2487 * of12: make OFPErrorExperimenterMsg.type visible to users
2488 * of12: update \*.json after OFPMatch "type" and "length" changes
2489 * of12: make OFPMatch "type" and "length" visible to users
2490 * of12: update \*.json after OFPQueuePropHeader.property change
2491 * test\_parser\_v12: update after OFPQueuePropHeader.property change
2492 * of12: make OFPQueuePropHeader.property visible to user
2493 * test\_parser\_v12: update after "len" changes
2494 * of12: update \*.json after "len" "type" changes
2495 * of12: some "len" "type" attributes visible to user
2496 * packet lib: icmpv6: add nd\_router messages
2497 * add .tox/ to .gitignore
2498 * workaround a python bug
2499 * stick with pbr 0.5.19
2500 * new way to use pbr
2501 * remove bin/ryu-manager from the list of files for pylint/pep8
2502 * move ryu-manager to entrypoints
2503 * test\_parser: update expected json results
2504 * packet\_data: regen
2505 * packet\_data\_generator: follow the recent fixes in of\_protocol upstream
2506 * packet\_data\_generator: be specific about versions of dependencies
2507 * packet\_data\_generator: move of\_protocol upstream back to the origin
2508 * rest\_router: make pep8 comfortable
2509 * Revert "packet lib: igmp: add some constant values"
2510 * Add a configuration file for tox (http://testrun.org/tox/)
2511 * Fix POP\_MPLS of ofctl\_v1\_3.to\_actions() problem
2512 * packet lib: igmp: add some constant values
2513 * packet lib: bpdu: use text address
2514 * packet lib: igmp: add a constant value
2515 * packet lib: llc: correct a variable name
2516 * of12: add docstrings for openflow messages
2517 * of13: add docstrings for openflow messages
2518 * packet lib: igmp: add some constant values
2519 * add LACP application
2520 * rest\_router: convert haddr to bin for OFPActionSetDlSrc/Dst
2521 * rest\_router: avoid assertion when ip\_text is 0
2522 * avoid importing a module twice
2523 * of13: set default args for FlowMod
2524 * of12: set default args for FlowMod
2525 * fix of match from\_jsondict mask bug
2526 * of13: update expected \*.json output for OFPTableFeaturesStats.name
2527 * of13: remove trailing NULs in OFPTableFeaturesStats.name
2528 * test\_parser\_v12: update after OFPTableStats.name change
2529 * of12: update expected \*.json output for OFPTableStats.name
2530 * of12: remove trailing NULs in OFPTableStats.name
2531 * of10: remove trailing NULs in OFPTableStats.name
2532 * of13: update expected \*.json output after OFPPort.name change
2533 * of13: remove trailing NULs in OFPPort.name
2534 * of12: update expected \*.json output after OFPPort.name change
2535 * of12: remove trailing NULs in OFPPort.name
2536 * of10: update expected \*.json output after OFPPhyPort.name change
2537 * of10: remove trailing NULs in OFPPhyPort.name
2538 * regen after "packet\_data\_generator: fix port names" commit
2539 * packet\_data\_generator: fix port names
2540 * of13: update expected \*.json after OFPDescStats changes
2541 * of13: make OFPDescStats more human readable
2542 * of12: update expected \*.json after OFPDescStats changes
2543 * of12: make OFPDescStats more human readable
2544 * of10: make OFPDescStats more human readable
2545 * rest\_router: update after ofproto hw\_addr changes
2546 * rest\_router: fix of10 case
2547 * a simple script to plot rest\_topology's output
2548 * topology.switches: fix bin vs text address problem
2549 * of13: update tests
2550 * of13: fix json representation of OFPPort.hw\_addr and OFPPortMod.hw\_addr
2551 * of12: update tests
2552 * of12: fix json representation of OFPPort.hw\_addr and OFPPortMod.hw\_addr
2553 * of10: update tests
2554 * of10: fix json representation of OFPPhyPort.hw\_addr and OFPPortMod.hw\_addr
2555 * stringify: allow user classes to annotate type of their attributes
2556 * of13: use text address for OFPPort.hw\_addr and OFPPortMod.hw\_addr
2557 * of12: use text address for OFPPort.hw\_addr and OFPPortMod.hw\_addr
2558 * of10: use text address for OFPPhyPort.hw\_addr and OFPPortMod.hw\_addr
2559 * MANIFEST.in: exclude packet\_data\_generator
2560 * add simple learning switch app for OF1.2
2561 * add simple learning switch app for OF1.3
2562 * of13: set ActionOutput default max\_len to zero
2563 * of12: set ActionOutput default max\_len to zero
2564 * fix the commit 833328a mess-up
2565 * lib/packet: update docstrings to fix broken tables in latex/pdf
2566 * doc: fix overflow from the page in latex/pdf
2567 * of1.2, of1.3: update document for OFPMatch
2568 * packet lib: fix ipv6 parser
2569 * ofctl lib: Actions is a list
2570 * of13: test\_parser: update expected \*.json results
2571 * of13: test\_parser: regen \*.packet
2572 * of13: packet\_data\_generator: use set\_field action
2573 * of13: change OFPActionSetField api, following the recent OFPMatch api
2574 * of12: test\_parser: update expected \*.json results
2575 * of12: test\_parser: regen \*.packet
2576 * of12: packet\_data\_generator: use set\_field action
2577 * of12: change OFPActionSetField api, following the recent OFPMatch api
2578 * of13: update \*.json after OFPMatch changes
2579 * of13: change OFPMatch json representation to match with on-wire
2580 * of13: make OFPMatch use oxm\_fields routines
2581 * of12: update \*.json after OFPMatch changes
2582 * of12: change OFPMatch json representation to match with on-wire
2583 * of12: make OFPMatch use oxm\_fields routines
2584 * oxm\_fields: add some routines
2585 * doc: add reference for ofproto api document
2586 * packet\_base: update docstring
2587 * doc: fix some sphinx warnings and errors
2588 * doc: fix a typo
2589 * ofproto\_v1\_3\_parser: add docstring to OFPMatch
2590 * normalize json files using tools/normalize\_json.py
2591 * a script to normalize json
2592 * lib/packet: add Internet Group Management Protocol
2593 * test\_parser: stop testing unsupported operations
2594 * test\_parser: have a list of operations expected to work
2595 * unit test: test OFPMatch.append\_field
2596 * unit test for OFPMatch old/new api compatibility
2597 * app/rest\_firewall: add API for VLAN configuration
2598 * ofproto: \_baseattribute can be class attribute
2599 * ofproto: make binary code loadable
2600 * packet lib: make vrrp get\_payload robust
2601 * packet lib to string: unit tests
2602 * packet lib to string: add \_\_str\_\_ to base
2603 * packet lib to string: inherits StringifyMixin
2604 * unit tests for the new OFPMatch api
2605 * of13: fix old parser and serializer of PBB\_ID
2606 * of12: stop assuming OFPXMC\_OPENFLOW\_BASIC
2607 * dpset: support OF1.3
2608 * packet lib: provide bpdu.\_MIN\_LEN
2609 * packet lib: provide llc.\_MIN\_LEN
2610 * packet lib: implement lacp.\_\_len\_\_
2611 * packet lib: implement ryu.lib.packet.lldp.lldp.\_\_len\_\_
2612 * packet lib: provide a default impl of \_\_len\_\_
2613 * support setup.py install with git archive tarballs
2614 * use d2to1 and pbr for packaging
2615 * tests: stop comparing text addresses
2616 * correct file permission
2617 * note about network address representation
2618 * packet lib: pydoc update/improvements after api change
2619 * packet lib api: update documentation
2620 * rest\_router: update after packet lib api changes
2621 * topology.switches: update after packet lib api changes
2622 * packet lib: change the api to use text addresses
2623
2624 v2.2
2625 ----
2626
2627 * Ryu 2.2
2628 * sync README with the web site
2629 * add 2013 to copyright for documentations
2630 * test\_parser: update of13 expected results
2631 * of13 OFPMatch: remove now unused code
2632 * of13: more OFPMatch old api compat
2633 * of13: make OFPMatch.to\_jsondict work on instances composed with old api
2634 * of13 OFPMatchField: make this safe to serialize multiple times
2635 * of13: OFPMatch api compat
2636 * of13: OFPMatch from\_json/to\_json for new api
2637 * of13: add OFPMatch.get for convenience
2638 * of13: add OFPMatch.iteritems for convenience
2639 * of13: new OFPMatch field query api
2640 * of13: new match field parser
2641 * of13: new OFPMatch composer api
2642 * test\_parser: update of12 expected results
2643 * of12 OFPMatch: remove now unused code
2644 * of12: OFPMatch more old api compat
2645 * of12: make OFPMatch.to\_jsondict work on instances composed with old api
2646 * of12 OFPMatchField: make this safe to serialize multiple times
2647 * of12: OFPMatch api compat
2648 * of12: OFPMatch from\_json/to\_json for new api
2649 * of12: add OFPMatch.get for convenience
2650 * of12: add OFPMatch.iteritems for convenience
2651 * of12: new OFPMatch field query api
2652 * of12: new match field parser
2653 * of12: new OFPMatch composer api
2654 * oxm\_fields: accept [value, mask] as well as (value, mask)
2655 * oxm\_fields: generate OFPXMT\_OFB\_ and OXM\_OF\_ from a single source
2656 * add unit test for packet library llc
2657 * update library\_packet\_ref.rst
2658 * link to LLC sub layer
2659 * lib/packet/llc
2660 * lib/packet/bpdu
2661 * The trick for installing argparse is deleted
2662 * update packet generator code comment
2663 * test\_addrconv: fix a copy and paste mistake
2664 * Remove contrib/oslo directory
2665 * addrconv: remove embedded test code
2666 * add a test for ryu.lib.addrconv
2667 * regenerate packet\_data for meter\_mod
2668 * test\_parser: an expected result for meter\_mod
2669 * packet\_data\_generator: uncomment ofp\_meter\_mod
2670 * of13 OFPMeterMod: fix \_len vs len mismatch
2671 * of13 OFPMeterBandExperimenter: fix super
2672 * ryu/app/ofctl\_rest: add of1.3 support
2673 * add ofctl\_v1\_3 library
2674 * rest\_router: follow packet lib api change
2675 * addrconv: use bytes instead of int to represent ipv4 addresses
2676 * addrconv: replace bin<->text converters for ipv6
2677 * addrconv: replace bin<->text converters for mac addresses
2678 * addrconv: binary <-> text conversion of mac/ipv4/ipv6 addresses
2679 * lib/packet: add Link Aggregation Control Protocol
2680 * of-wire json test: a program to generate test data for unit tests
2681 * dist: pypi tar ball misses tools directory
2682 * stringify.StringifyMixin.\_\_str\_\_: simplify
2683 * rest\_router: stop catching Exception
2684 * of-wire json test: unit test
2685 * of-wire json test: generated \*.packet
2686 * of-wire json test: expected results
2687 * of-wire json: adapt OF13 OFPMeterBand
2688 * of-wire json: adapt OF13 OFPTableFeaturesStatsReply
2689 * of-wire json: adapt OF13 OFPPortDescStatsReply
2690 * of13: fix OFPTableFeaturesStats.parser
2691 * of13: fix OFP\_TABLE\_FEATURES\_PACK\_STR
2692 * of1.3: fix OFPort parser
2693 * appease pep8
2694 * add router Ryu application
2695 * app/quantum\_adapter: Lazily initialize neutron client
2696 * ofproto v1.3: implement MeterBand parsers
2697 * Send MeterMod messages
2698 * quantum\_adapter: race between ovs port deletion and plugin port deletion
2699 * simple\_vlan.py: race condition
2700 * gre\_tunnel.py: race condition
2701 * network: add a helper function to list ports that doesn't raise
2702 * gre\_tunnel: exception due to race condition
2703 * network.py: exception in Networks.remove\_port()
2704 * network: sort out order between event and actual deletion of network
2705 * network.py: sort out order between event and actual deletion of port
2706 * app/gre\_tunnel.py: typo has\_network -> has\_networks
2707 * app/quantum\_adapter: pylint
2708 * app/simple\_vlan: pylint
2709 * controller/network: pylint
2710 * add a test for ryu.lib.stringify
2711 * test\_parser\_v12: abuse this to test to\_jsondict and from\_jsondict
2712 * of1.3: omit mask attribute from str() when appropriate
2713 * of1.3: of-wire json adapt
2714 * of1.2: omit mask attribute from str() when appropriate
2715 * of1.2: of-wire json adapt
2716 * of1.0: of-wire json adapt
2717 * StringifyMixin: json support
2718 * ryu/flags: rename config paramerters related to openstack
2719 * app/quantum\_adapter: fix missing change to neutron
2720 * app/quantum\_adapter: project rename quantum -> neutron
2721 * app/client: update for quantum->neutron change
2722 * fix comment typos (ofprotp -> ofproto)
2723 * fix typos (mpls\_lable -> mpls\_label)
2724 * base/app\_manager: teach event dispatcher state
2725 * use ofproto.OFP\_NO\_BUFFER in some places
2726 * define OFP\_NO\_BUFFER
2727 * ryu/app/conf\_switch\_key: fix a comment
2728 * update the site url
2729 * man: remove man page of ryu client
2730 * packege: rpmlint warning
2731 * MANIFEST.in: fix up to address warning
2732 * openstack copyright notice
2733 * lib/packet: teach packet library to truncate padding octet
2734 * lib/packet: make packet\_base.parser abstract method
2735 * lib/packet: make protocol\_name property instead of attributes
2736
2737 v2.1
2738 ----
2739
2740 * Ryu 2.1
2741 * rename ryu-client under ryu/tests
2742 * of1.3: fix OFPSetConfig default arguments
2743 * of1.2: OFPGroupFeaturesStats: tuple -> list
2744 * of1.3: fix OFP\_GROUP\_DESC\_STATS\_PACK\_STR
2745 * of1.3: fix OFPMeterStats
2746 * topology/switches: exception during serialization
2747 * topology/switches: packet in handler
2748 * packet lib: stop tlv parsing when finding LLDP\_TLV\_END
2749 * packet lib: add ICMP sub encoder/decoder class
2750 * ofctl\_v1\_2.actions\_to\_str: ignore unknown instructions
2751 * of13: prefix private attributes of OFPMatch with \_
2752 * of12: prefix private attributes of OFPMatch with \_
2753 * nx\_match: some comments
2754 * datapath\_connection\_factory deal with None datapath.id
2755 * of13: Added InstructionMeter
2756 * packet lib: avoid exception for bogus protocol header parsing
2757 * quantum\_adapter: check if quantum\_controller\_addr is valid
2758 * of13 OFPBucket: fix a fatal typo
2759 * of13 OFPGroupDescStats: fix super call
2760 * of13 OFPExperimenter: fix parser and remove completely broken serializer
2761 * of13 fix OFPQueueProp parsing
2762 * of13 fix multipart reply parsing
2763 * of13 fix OFPGroupFeaturesStats parser
2764 * of13: add missing itertools import
2765 * of12 OFPGroupFeaturesStats: add missing self.length
2766 * of12: fix OFPExperimenter parser
2767 * of1.3: Fix parsing of OFP\_QUEUE\_GET\_CONFIG\_REPLY
2768 * packet lib: packet class supports get\_protocol method
2769 * packet lib: add Packet.\_\_contains\_\_
2770 * packet lib: packet class accepts protocols list argument
2771 * packet lib: arp default args
2772 * packet lib: vlan default args
2773 * packet lib: mpls default args
2774 * packet lib: ipv4 default args
2775 * packet lib: icmp support time exceeded type
2776 * of1.2: fix OFPSetConfig default arguments
2777 * fix travis config file
2778 * Add config file for Travis
2779 * packet lib: allow packet type to be specified when parsing packet
2780 * packet lib: For convenience, make packet into a sequence type
2781
2782 v2.0
2783 ----
2784
2785 * Ryu 2.0
2786 * of1.3: various fixes
2787 * fix 77effb29 regression
2788 * packet lib: make test\_packet work stand-alone
2789 * Add Packet library API Reference
2790 * lib/packet: DHCP packet parser/serializer
2791 * ofproto/ofproto\_parser: pylint
2792 * of1.0: use tun\_id instead of tun\_id\_
2793 * docs: fix ryu module import
2794 * tests/unit/packet/test\_vrrp: add tests for is\_valid()
2795 * lib/packet/vrrp: fix is\_valid()
2796 * test\_parser\_v10: remove tests for \_\_str\_\_
2797 * of13: Fix for OFPQueueGetConfigReply/Request
2798 * run\_tests: make python interpreter overridable
2799 * app/gre\_tunnel: pylint
2800 * app/quantum\_adapter: unbreak quantum change
2801 * of10: sprinkle StringifyMixin
2802 * of: StringifyMixin
2803 * use dpid\_to\_str in some places
2804 * tests/ofproto: add unit test for ofproto automatic detection
2805 * ofproto: exception during startup related ofp module detaction
2806 * tests/ofproto: add unit test for ofproto automatic detection
2807 * ofproto: exception during startup related ofp module detaction
2808 * of13: add missing UINTxx\_MAX
2809 * controller/ofp\_event: don't hardcode supported OFP parser module
2810 * ofproto: detect supported OFP versions automatically
2811 * ofproto\_parser: simplify msg\_str\_attr() a bit
2812 * update requirements
2813 * Support bind IPv6 addresses in StreamServer
2814 * Revert "add eventlet to test requirement"
2815 * ofproto: change the way \_\_str\_\_ is implemented for of-wire messages
2816 * controller: stop catching GreenletExit
2817 * hub: add some more tests
2818 * hub: handle GreenletExit internally
2819 * hub: comment
2820 * of1.0: simplify NXAction initialization
2821 * of1.0: simplify OFPActionVendor
2822 * of1.0: NXActionHeader should be subclass of OFPActionVendor
2823 * of1.3: fix OFPPortStatus parser
2824 * of1.3: fix parser of OFPGetAsyncReply
2825 * of1.3: fix serializer of OFPSetAsync
2826 * of1.3: fix wrong method name in OFPQueueGetConfigRequest
2827 * of1.3: fix pack string of OFPMeterStatsRequest
2828 * of1.3: fix wrong class name in OFPGroupFeaturesStatsRequest.\_\_init\_\_()
2829 * of1.3: fix attribute name of OFPGroupDescStats
2830 * of1.3: fix lacking argument in OFPAggregateStatsRequest.\_\_init\_\_()
2831 * add eventlet to test requirement
2832 * lib/hub: Event.wait should return its internal flag
2833 * of1.0: match accepts partial parameters
2834 * limit the size of ryu app's event queue
2835 * controller: fix send queue draining again
2836 * sweep the tree to change from gevent to ryu.lib.hub
2837 * add a threading hub module
2838
2839 v1.9
2840 ----
2841
2842 * Ryu 1.9
2843 * of1.0: add nx\_aggregate\_stats support
2844 * of1.0: OFPMatch support keyword-style parameters
2845 * ovs.poller: workaround a bug in eventlet
2846 * run\_tests.sh: support integrated tests
2847 * tests/integrated: auto testing script using Mininet and OVS
2848 * tests/integrated: Skip MPLS related test
2849 * Fix typo in comments in GRE tunnel class
2850 * ryu/app/simple\_vlan: fix typo
2851 * add a template for ryu.lib.packet class documentation
2852 * ryu.lib.packet: docstring tweaks for better rendering
2853 * nx\_match: support IPv4 mask
2854 * rest\_tunnel: fix comment typos
2855 * of1.3: parser should return msg, not implicit None
2856 * nx\_match: remove an unnecessary import
2857 * of1.3: remove port\_no argument
2858 * of1.3: fix typos in ofproto\_v1\_3.py
2859 * ryu/app/rest\_firewall.py: handling of no switch connection
2860 * ryu.lib.packet: docstring
2861 * ryu.lib.packet: docstring
2862 * of1.0: add nx\_match to NXFlowStatsRequest
2863 * lib: ip address presentation convert helper methods
2864 * g/c a stale reference to find\_protocol
2865 * packet lib: docstring
2866 * tests/unit, lib/packet/vrrp: unit test for vrrp packet parser/serializer
2867 * lib/packet: VRRP packet parser/serializer
2868 * lib/packet/ipv6: add constants for parse/serialize
2869 * lib/packet/ipv4: add constants for parse/serialize
2870 * ofproto/inet: add VRRP protocol number
2871 * lib/packet/arp.py: add convenience function to create arp for ip
2872 * ofproto/nx\_match: pep8
2873 * doc: fix the mailing list address
2874 * of1.3: Add special group identifier values defined on OpenFlow 1.3.1
2875 * lib/packet/lldp.py: pylint
2876 * ryu/lib/packet/lldp.py: remove \_\_str\_\_ method from class LLDPBasicTLV and class lldp
2877 * tests/integrated/test\_of\_config: comment on how to run
2878 * tests/integrated/test\_of\_config: disable known host check
2879 * setup.py: install xsd files
2880 * nx: match\_tuple() function now handles nw src/dst
2881 * nx: make pack string of IPv6 address consistent with OF1.2/1.3
2882 * topology/dumper: define contexts to receive events
2883 * ryu/topology/switches: simplify Switches with RyuApp.reply\_to\_request
2884 * ryu/base/app\_manager: introduce RyuApp:replay\_to\_request()
2885 * base/app\_manager.py: sort out registering bricks
2886 * ryu/base/app\_manager: pylint unused variables
2887 * topology/dumper: use handler.set\_ev\_cls instead of set\_ev\_handler
2888 * remove openstack related document
2889 * ryu/lib/packet/packet.py: should use isinstance instead of \_\_class\_\_.\_\_base\_\_
2890 * lib/packet/packet\_utils: optimize checksum
2891
2892 v1.8
2893 ----
2894
2895 * Ryu 1.8
2896 * rest\_firewall: fix comments
2897 * topology/dumper: fix RyuApp.\_\_init\_\_ signature
2898 * doc: fix a program name
2899 * of1.0: fix import error
2900 * of1.0: utils.round\_up cleanup
2901 * lib/packet/tcp: use checksum\_ip()
2902 * lib/packet/udp: use checksum\_ip()
2903 * lib/packet/icmpv6: use checksum\_ip()
2904 * lib/packet: checksum function with pseudo ipv4/ipv6 header
2905 * lib/packet/packet\_utils: improve checksum byteswap
2906 * lib/packet/packet\_utils: improve checksum padding
2907 * tests/unit/packet/test\_tcp.py: typo UDP -> TCP
2908 * test\_icmpv6: correct icmpv6 checksum
2909 * ryu-client: print http response
2910 * ryu-client: support Topology REST API
2911 * topology: Add REST API
2912 * topology: exported function returns Switch/Link list instead of event
2913 * lib/port\_no: handling port\_no as string
2914 * support parse OFPAction in NXFlowStats
2915 * test\_parser\_v10: fix unittest breakage
2916 * lib/packet/packet\_base: fix signature of PacketBase.{parser, serialize}
2917 * of1.0: fix NXActionHeader typo
2918 * lib ofctl\_v1\_2: add VLAN\_ID setting means
2919 * ofproto\_v1\_0\_parser: add nx\_flow\_stats\_{request, reply}
2920 * ofproto\_v1\_0: add nx\_stats constants
2921 * nx\_match: add MFField parser
2922 * lib ofctl\_v1\_2: fix file modes
2923 * add ofctl\_v1\_2 library
2924 * update ofctl\_v1\_0 library
2925 * add firewall Ryu application
2926 * app\_manager: fix close dict handling bug
2927 * ryu-manager: use try-finally statement
2928 * nx\_match: add vlan and vlan\_pop
2929 * topology: support link discovery
2930 * topology: switch discovering module
2931 * event: Add sync flag and event src for request/reply
2932 * TLS: use a full spelling of a cli option
2933 * TLS: test cli options consistently in the same line
2934 * TLS: update an example output
2935 * ofconfig: use ElementTree iterator instead of getchildren
2936 * ryu.controller.controller.Datapath: keep handler list regardless of state
2937 * vsctl: fix timeout
2938 * tunnel\_port\_updater: g/c \_LOCK
2939 * packet lib: fix icmpv6.nd parser
2940 * doc: of\_config library
2941 * of\_config: sample test code to use ofconfig capable\_switch
2942 * of\_config: OF capable switch class to issue OFConfig request
2943 * of\_config: constants for of-config
2944 * of\_config/schema: add missing import
2945 * of\_config: import XML schema files for OF config
2946 * netconf: add constants for netconf
2947 * netconf: improve schema for netconf
2948 * netconf: import XML schema for netconf
2949 * netconf: import xml schema
2950 * MANIFEST.in: include XML schema files
2951 * ofp: send events to others before calling own handlers
2952 * wsgi: remove unused logging code
2953 * doc: fix bug in tls.rst
2954 * log-cleanup: honor --default-log-level in case of --verbose
2955 * log-cleanup: per RyuApp logger
2956 * log-cleanup: remove an unused logger instance
2957 * log-cleanup: remove an unused logger instance
2958 * ryu-manager: stop modifying CONF.app\_list
2959 * of1.3: fix error in group\_mod
2960 * Add request/reply event support to support communication between apps
2961 * ryu.log: change type of --use\_syslog option to Boolean
2962 * contrib ncclient: missing comma
2963 * contrib: import ncclient library (NETCONF clients)
2964 * of1.3: fix a comment typo
2965 * revert s/\_/-/ changes for ryu.conf
2966 * fix missing parameter in calling 'msg\_pack\_info' of OFPActionPushMpls/PopMpls
2967 * add missing 'field' parameter to \_\_init\_\_ function of OFPActionSetField
2968 * fix incorrect naming '\_\_serialize\_body' in OFPRoleRequest
2969 * fix OFPMatch decode error in 'parser' function of OFPFlowRemoved
2970 * add missing 'length' field of OFPPort when decoding
2971 * add missing 'match' parameter to \_\_init\_\_ function of OFPAggregateStatsRequest
2972 * fix error in OFP\_DESC\_PACK\_STR (change 'c' to 's')
2973 * remove port\_no argument of OFPPortDescStatsRequest.\_\_init\_\_
2974 * fix OFPMultipartRequest.\_serialize\_stats\_body
2975 * test of1.2: fix typos from mid to min
2976 * g/c --monkey-patch option
2977 * test of1.2: add test code of OFPErrorExperimenterMsg
2978
2979 v1.7
2980 ----
2981
2982 * Ryu 1.7
2983 * RyuApp: allows observers to specify state
2984 * lib/mac: fix raise ValueError
2985 * app\_manager: allow separated modules of Event and RyuApp
2986 * of1.2: fix OFPErrorExperimenterMsg
2987 * try to sync documentation with the reality
2988 * mechanical documentation update after option name changes
2989 * update an example after option name changes
2990 * change --foo\_bar options to --foo-bar
2991 * appease pep8
2992 * test of1.2: add test code of max, min, and pattern. review of the test code
2993 * xflow: add sflow support
2994 * remove no longer used contrib/openstack
2995 * switch from openstack.common.cfg to oslo.config.cfg
2996 * import oslo-config
2997 * controller: fix that sender thread is never terminated
2998 * test: remove unnecessary variables
2999 * packet lib: fix icmpv6.nd\_s.parser() and support NDP option type
3000 * of1.3: fix error in port\_mod and get\_config\_reply logic
3001 * ryu/controller/dpset.py: duplicate import
3002 * of1.2: fix OFPGroupDescStats parser
3003 * doc: internal document on openstack cooperation
3004 * test: tuning integration test for OFPT\_FLOW\_REMOVED
3005 * of1.3: fix ACTION\_POP\_MPLS
3006 * stop requiring gflags
3007 * fix a typo in the help message of quantum\_controller\_addr
3008 * update a sample and documentation
3009 * adjust import order in ryu-manager and add a comment
3010 * use openstack.common.cfg instead of gflags
3011 * import cfg.py from oslo-incubator
3012 * controller: fix send\_q draining
3013 * of1.2: fix OFPQueueProp parser
3014 * fix breakage the commit 68f3259754fdbd7b5351c9739bf6f238c7ffb313
3015 * controller/ofp\_handler: improve version negotiation
3016 * quantum\_adapter: exception when VM deletion
3017 * LICENCE: change end-of-line code CRLF to LF
3018 * tests: make run\_tests.py, test\_lib.py executable as it includes #!
3019 * doc: man pages for ryu-manager and ryu-client
3020 * doc: eliminate sphinx warnings
3021 * fix typos in comments
3022 * fix a fatal typo in network.py
3023 * fix a fatal typo in GRETunnel \_CONTEXTS
3024 * gre\_tunnel: adapt to the new world order after dispatcher removal
3025 * tunnel\_port\_updater: adapt to the new world order after dispatcher removal
3026 * controller/handler: allow set\_ev\_handler without dispatchers
3027 * app\_manager: add some assertions and LOG.info
3028 * app\_manager: print event flow for --verbose
3029 * app\_manager: print some info about event flows for --verbose
3030 * app\_manager: add an function to register an app instance explicitly
3031 * Add support live-migration
3032 * ryu/controller/controller: add a helper method, is\_reserved\_port()
3033 * ovs/bridge: more helper methods
3034 * ovs/vsctl: more commands
3035 * lib/ovs/db\_client: library for low-level ovsdb manipulation
3036 * app/client: add mac support
3037 * app/rest: add requirements to path component
3038 * app/rest: add API to register/update mac address for a given port
3039 * app/tunnel\_port\_updater: application that creates/deletes tunnel ports
3040 * ryu/controller/network.py: add helper functions for tunnel updater
3041 * app/gre\_tunnel: implement GRETunnel app
3042 * packet lib: rename icmp6 to icmpv6
3043 * test: fix integration tests: reflects 978f3e5c
3044 * dpset: fix the new event mechnism breakage
3045 * dpset: improve debug message
3046 * packet lib: fix a bug in ipv6
3047 * test: update integration tests
3048 * ryu/app/simple\_vlan: simple VLAN app for OVS
3049 * app: Add quantum adapter
3050 * bin/ryu-client: teach quantum iface rest api
3051 * ryu/app/client: teach quantum iface api
3052 * rest/quantum: quantum iface REST API
3053 * ryu/lib/quantum\_ifaces.py: track the relation of quantum iface-id
3054 * bin/ryu-client: support switch\_conf
3055 * bin/ryu-client: support gre tunnel client
3056 * ryu/app/client: support conf\_switch
3057 * ryu/app: REST API to set per-switch configuration
3058 * controller/switch\_conf: introduce a class to manage per-switch configuration
3059 * app/client: add tunnel client
3060 * app/rest\_tunnel: REST API for tunnel
3061 * controller/tunnel: introduce new class for tunneling
3062 * dpset: add port event support
3063 * controller/network: add event supports
3064 * controller/handler: allow set\_ev\_cls not to specify dispatchers
3065 * packet lib: add ipv6 ICMP support
3066 * packet lib: add ipv6 support
3067 * packet lib: add LLDP support
3068 * xflow: add netflow support
3069 * remove event dumper application
3070 * remove old dispatcher and friends
3071 * bin/ryu-manager: import ryu.flags for common options
3072 * app/client: add helper function to ignore NOT\_FOUND, 404
3073 * ryu/app/client: factor out rest client code
3074 * app/rest\_nw\_id: add port type for reserved port and vport-gre
3075 * app/rest: add requirements to path component
3076 * replace dispatcher mechanism
3077 * lib/ovs/bridge: helper class to manipulate ovs bridge
3078 * lib/ovs/vsctl: python reimplementation of ovs-vsctl
3079 * lib/ovs: add constants for ovsdb Open\_vSwitch db
3080 * contrib: fix a comment typo
3081 * dpset: fix join race
3082 * packet lib: pep8 warning fix
3083 * test: remove some unnecessary bash dependencies
3084
3085 v1.6
3086 ----
3087
3088 * Ryu 1.6
3089 * test: add mininet-test suite
3090 * test: Add "Decrement IP TTL" integration test
3091 * ofctl\_v1\_0: fix stats timeout handling
3092 * fix lack of comma in flagfile list
3093 * of1.3: Fix a typo in OFPPacketOut
3094 * setup: update installation infos
3095 * test: change the branch of openvswitch to 'of12'
3096 * ofp\_handler: receiving side of OFPHelloElem version negotiation
3097 * of1.3: improve OFPHello and OFPHelloElemVerionsBitmap
3098 * ofctl\_{rest, v1\_0}: update and clean up
3099 * ryu-manager: fix keyError
3100 * don't abuse \_\_dict\_\_ attribute
3101 * ofp\_handler: Improve hello version negotiation
3102 * of1.3: fix OFPMultipartReply parser
3103 * of1.3: support OFPHET\_VERSIONBITMAP
3104 * doc: setup TLS connection
3105 * of1.3: fix OFPT\_PACKET\_IN parser
3106
3107 v1.5
3108 ----
3109
3110 * Ryu 1.5
3111 * set setup.py install\_requires properly
3112 * python/ovs/stream: Fix Stream.connect() retval for incomplete connection
3113 * Revert "contrib/ovs/stream.py: TypeError: bad operand type for unary -: 'NoneType'"
3114 * ryu/log: bugfix
3115 * ofctl\_v1\_0: update and clean up
3116 * enable OF1.3 support
3117 * of1.3: fix OFPMP\_FLOW
3118 * of1.3: support OFPMatch
3119 * Add workaround to switch\_features\_handler for OF1.3
3120 * of1.3: fix OFPPacketQueue
3121 * of1.3: fix OFPSetAsyn
3122 * of1.3: fix OFPQueueProp
3123 * of1.3: fix OFPMeterFeaturesStatsRequest
3124 * of1.3: fix OFPMeterConfigStatsReply
3125 * of1.3: fix OFPPortStatsReply
3126 * of1.3: fix OFPMP\_AGGREGATE
3127 * of1.3: fix OFP\_DESC\_PACK\_STR
3128 * of1.3: fix OFP\_METER\_BAND\_DSCP\_REMARK\_PACK\_STR assert
3129 * of1.3: fix OFP\_TABLE\_MOD\_PACK\_STR assert
3130 * of1.3: fix OFP\_OXM\_EXPERIMENTER\_HEADER\_SIZE assert
3131 * contrib/ovs: TypeError: bad operand type for unary -: 'NoneType'
3132 * of1.2: fix some error constant typos
3133 * packet lib: add arp constants
3134 * add TLS support
3135 * of1.2: Fix MTVlanVid() parser and serializer
3136 * don't use select.POLL\* constants
3137 * ofctl\_v1\_0: update get\_flow\_stats() to dump actions
3138 * wsgi/routes: add regex pattern for each REST component
3139 * contrib/ovs/dirs: replace @variables@ which is replaced by configure
3140 * import ovs python binding library
3141 * prepare contrib directory which holds third party library
3142 * of1.2: Fix OFPActionExperimenter parser
3143 * packet lib: remove unnecessary ICMP debug message
3144
3145 v1.4
3146 ----
3147
3148 * Ryu 1.4
3149 * ryu/app/ofctl\_rest: implements ofctl\_rest app
3150 * ryu/lib/ofctl\_v1\_0: introduce OF interface
3151 * test: add unittests for packet library
3152 * silence unhandled event message
3153 * test: add unittests for packet library
3154 * packet lib: fix udp header length
3155 * packet lib: fix ipv4 assertion of option field
3156 * tools/pip-requires: add routes which is used by wsgi.py module
3157 * packet lib: add unparsed data to Packet.protocols
3158 * doc: update packet library
3159 * packet lib: kill find\_protocol in Packet class
3160 * packet lib: set protocol\_name in each protocol
3161 * packet lib: make Packet class iterator
3162 * packet lib: fix icmp echo serialize
3163 * packet lib: add mpls
3164 * test: fix unittests for of parser
3165 * packet lib: add icmp.py
3166 * ofp\_handler: print msg.data in hex format, not raw string
3167 * utils: a helper function to convert byte array into hex string
3168 * of1.0: fix/add PortMod message
3169 * Removed leading '/' from data\_files
3170
3171 v1.3
3172 ----
3173
3174 * Ryu 1.3
3175 * Fix zero padding
3176 * packet lib: fix vlan pcp bitshift
3177 * packet lib: ipv4 option data support
3178 * test: add more of1.2 integration tests
3179 * packet lib: tcp option support
3180 * doc: fix typo in openstack.rst
3181 * doc: rearrange top page
3182 * doc: use README as getting\_started
3183 * doc: rename getting\_started.rst -> parameters.rst
3184 * doc: rearrange openstack docs
3185 * doc: packet library
3186 * app/simple\_isolation: update handler registration
3187 * packet lib: fix ipv4 flags bitshift
3188 * simplify handler registration core
3189 * register OFP handlers via register\_instance
3190 * doc: integrate HACKING.rst into SubmittingPatches.rst
3191 * doc: rename SubmittingPatches to SubmittingPatches.rst
3192 * doc: convert SubmittingPatches into reST style
3193 * doc: update README.rst about migration from osrg.net
3194 * doc: set PYTHONPATH for ryu version constant
3195 * doc: write Ryu application
3196 * doc: use ryu version constant
3197 * doc: change Sphinx style to haiku
3198 * doc: fix the link in README.rst
3199
3200 v1.2
3201 ----
3202
3203 * Ryu 1.2
3204 * remove OFPFlowRemoved and OFPPortStatus handlers in MAIN\_DISPATCHER
3205 * remove unnecessary OFPFlowRemoved and OFPBarrierReply handlers in CONFIG\_DISPATCHER
3206 * remove unnecessary OFPEchoReply handler in dispatchers
3207 * packet lib: fix ipv4 option field handling
3208 * packet lib: set \_MIN\_LEN class variable
3209 * packet lib: add tcp support
3210 * packet lib: convert ip to use the checksum helper function
3211 * packet lib: add udp data transmit and checksum support
3212 * packet lib: add packet\_utils.py
3213 * packet lib: add data serialize support to Packet class
3214 * packet lib: calculate the udp length
3215 * packet lib: calculate the ip total length
3216 * packet lib: serialize in reverse order
3217 * of1.2: fix OFPFlowRemoved parser
3218 * of1.2: fix ofp\_port\_stats pack format
3219 * test: fix pep8 1.3.3 warnings
3220 * fix pep8 1.3.3 warnings
3221 * test: use the latest version of pep8
3222 * add packet library
3223 * controller: print backtrace when exception in addition to stacktrace
3224 * test: add stats and config tests to integrated test suite
3225 * of: Fix OFPEchoRequest serialize
3226 * of1.2: pretty OFPGetConfigReply parser
3227 * clean up ETH\_TYPE\_ constants
3228 * add ethernet type constants
3229 * test: fix SET\_NW\_TOS action in test\_add\_flow\_v10
3230 * clean up IPPROTO\_ constants
3231 * add IPPROTO\_SCTP constant
3232 * rename ryu/ofproto/in.py to ryu/ofproto/inet.py
3233 * test: specify OF version in integrated test suite
3234 * Add SubmittingPatches doc
3235
3236 v1.1
3237 ----
3238
3239 * Ryu 1.1
3240 * of1.2: handle unknown match field properly
3241 * test: simplify integrated OVS test suite
3242 * test: add more of1.2 unittests
3243 * of1.2: fix IPv6 match parsers
3244 * of1.2: make set\_metadata implementation consistent with the rest
3245 * of1.2: fix OFPExperimenter parser
3246 * of1.2: fix Instruction parser
3247 * of1.2: add OXM\_OF\_METADATA support
3248 * fix 475ca44ef4f87b00945ccd5be8ee4ab196c4e86f regression
3249 * test: add integrated OVS test suite
3250 * of1.2: fix OFPPortStatsRequest typo
3251 * of1.2: OFPGroupMod and OFPGroupFeaturesStats
3252 * simple\_switch: remove outside module dependence
3253 * cbench: specify OF1.0
3254 * simple\_switch: specify OF1.0
3255 * stop import ofproto\_v1\_0 as ofproto
3256 * nxm: remove import ofproto
3257 * of1.2: OFPMatch serialiser: fix ARP\_SPA, ARP\_TPA and IPV6\_FLABEL masking
3258 * simple\_switch: fix port\_status\_handler
3259 * of1.2: add OFPSF\_REPLY\_MORE constant
3260 * of1.2: remove unused mask in MTEthType
3261 * enable applications to specify OF versions
3262 * of1.2: add OFPQueuePropMinRate and OFPQueuePropMaxRate
3263 * nxm: fix nxm to OFPMatch conversion
3264 * of1.2: fix OFPGroupMod serialize
3265 * of1.2: OFPSetField serializer pads too much
3266 * of1.2: fix OFPPacketIn parser
3267 * of1.2: fix MTIPv6NdTarget
3268 * of1.2: fix OFPActionPopVlan parser
3269 * of1.2: fix OFPActionSetField padding
3270 * of1.2: fix vlan\_vid match
3271 * app/rest: fix value error exception
3272 * of1.2: change IPv6 address representation
3273 * of1.2: fix OFPActionSetField
3274 * of1.2: Correct pad calculation for OFPMatch
3275 * of1.2: fix OFPBucket parser and serialize methods
3276 * of1.2: fix OFAActionCopyTtlOut and OFPActionCopyTtlIn's parsers
3277 * of1.2: fix OFPActionSetField
3278 * of1.2: remove match argument in MT\* class serialize method
3279 * of1.2: add the common serialize method for MT\* classes
3280 * of1.2: make MT\* class make method take value and mask
3281 * of1.2: set value and mask in MT\* instance
3282 * of1.2: remove unused parser method in MT\* classes
3283 * of1.2: add common field\_parser for MT\* classes
3284 * of1.2: make pack\_str class variable
3285 * test: add more of1.2 unittests
3286 * of1.2: add missing struct ofp\_bucket definition
3287 * of1.2: implement FlowStats instruction parser
3288
3289 v1.0
3290 ----
3291
3292 * Ryu 1.0
3293 * of1.2: add unittest workaround to OFPPortStatus parser
3294 * of1.2: fix bugs
3295 * add '--version' command line option
3296 * of1.2: add OFPG\_ constants
3297 * of1.3: Add OFPQ\_ALL
3298 * of1.2: Add OFPQ\_ALL
3299 * test: improve the framework
3300 * doc: add the supported OF versions to README.rst
3301 * of1.2: add OFPFlowStats support
3302 * of1.2: fix OFPPacketIn parser to set ethernet frame
3303 * of1.2: improve OFPMatch parser
3304 * nxm: fix NXM\_NX\_REG
3305 * of1.2: add OXM\_OF\_IPV6\_ND\_SLL and OXM\_OF\_IPV6\_ND\_TLL
3306 * of1.2: add OXM\_OF\_IPV6\_ND\_TARGET
3307 * of1.2: add OXM\_OF\_ICMPV6\_TYPE and OXM\_OF\_ICMPV6\_CODE
3308 * of1.2: add OXM\_OF\_IPV6\_FLABEL
3309 * of1.2: add OXM\_OF\_IPV6\_SRC and XM\_OF\_IPV6\_DST
3310 * don't call send\_delete\_all\_flows function in the core
3311 * add round\_up utility function
3312 * of1.2: Correct arguments to OFPMatch.parser() in OFPPacketIn
3313 * of1.2: support ofp\_instruction for OFPFlowMod
3314 * of1.2: add OXM\_OF\_ICMPV4\_TYPE and OXM\_OF\_ICMPV4\_CODE
3315 * of1.2: add OXM\_OF\_SCTP\_SRC and OXM\_OF\_SCTP\_DST
3316 * of1.2: add OXM\_OF\_UDP\_SRC and OXM\_OF\_UDP\_DST
3317 * of1.2: add OXM\_OF\_TCP\_SRC and OXM\_OF\_TCP\_DST
3318 * of1.2: add OXM\_OF\_IP\_SRC and OXM\_OF\_IP\_DST
3319 * of1.2: add OXM\_OF\_IP\_PROTO
3320 * of1.2: add OXM\_OF\_IP\_ECN
3321 * of1.2: add OXM\_OF\_IP\_DSCP
3322 * of1.2: remove FWW\_\* constants
3323 * of1.2: fix OFPFlowMod and OFPFlowRemoved
3324 * Add OFPBarrierRequest and OFPBarrierReply
3325 * Remove duplicated OFPMatch definition
3326 * of1.3: initial OF1.3 support
3327 * nxm: add NXM\_NX\_REG
3328 * fix test\_lib.py for SkipTest
3329 * nxm: add NXM\_NX\_IP\_FRAG
3330 * nxm: add NXM\_NX\_ND\_TARGET
3331 * nxm: add NXM\_NX\_IPV6\_SRC and NXM\_NX\_IPV6\_DST
3332 * nxm: add NXM\_NX\_IPV6\_LABEL
3333 * nxm: add NXM\_OF\_ARP\_SPA and NXM\_OF\_ARP\_TPA
3334 * nxm: fix MFField putw
3335 * of1.2: initial ofp\_match support
3336 * of1.2: reorder the arguments of OFPPacketOut
3337 * nxm: add NXM\_NX\_ICMPV6\_TYPE and NXM\_NX\_ICMPV6\_CODE support
3338 * add IPPROTO\_ constants
3339 * nxm: fix NXM\_OF\_ICMP\_TYPE and NXM\_OF\_ICMP\_CODE
3340 * nxm: fix nxm\_put()
3341 * Fix README.rst format
3342 * Move version string to ryu/\_\_init\_\_.py
3343 * Update setup.py
3344 * Update REAME.rst
3345 * of1.2: Add OXM\_OF\_ constants
3346 * of1.2: fix typo
3347 * of1.2: fix some typos
3348 * update the official site url
3349 * ofproto/nx\_match: various minor clean up
3350 * ofproto/nx\_match: simplify set\_dl\_{src, dst}\_mask()
3351 * of1.2: add MAX\_XID constant
3352 * update setup.py for PyPI
3353 * nxm: add NXM\_OF\_ICMP\_TYPE and NXM\_OF\_ICMP\_ICMP\_CODE support
3354 * nxm: add NXM\_OF\_IP\_SRC and NXM\_OF\_IP\_DST support
3355 * nxm: add NXM\_NX\_ARP\_\* support
3356 * nxm: add NXM\_OF\_TCP\_\* and NXM\_OF\_UDP\_\* support
3357 * nxm: add NXM\_OF\_ETH\_SRC\_W support
3358 * nxm: support arbitrary dl\_dst masks
3359 * nxm: add NXM\_OF\_IP\_PROTO support
3360 * nxm: add NXM\_NX\_IP\_TTL support
3361 * of1.2: cleanup and update
3362 * nxm: add NXM\_OF\_VLAN\_TCI support
3363 * kill unused function in utils.py
3364 * support commandline application initialization
3365 * Pass AppManager module name instead of class name
3366 * Make clear that ryu supports all the NX actions
3367 * Add Nicira Extension NXAST\_LEARN support
3368 * Add Nicira Extension NXT\_SET\_ASYNC\_CONFIG support
3369 * Add Nicira Extension NXT\_FLOW\_AGE support
3370 * Add Nicira Extension NXT\_PACKET\_IN support
3371 * Add Nicira Extension NXT\_SET\_PACKET\_IN\_FORMAT support
3372 * Add Nicira Extension NXT\_FLOW\_REMOVED support
3373 * rename NXMatch parse method to parser
3374 * update setup.py and setup.cfg for better packaging
3375 * doc: update the requirement in README
3376 * Replace wsapi
3377 * add Nicira Extension NXAST\_NOTE support
3378 * add Nicira Extension NXAST\_DEC\_TTL support
3379 * add Nicira Extension NXAST\_FIN\_TIMEOUT support
3380 * add Nicira Extension NXAST\_CONTROLLER support
3381 * Add Nicira Extension NXT\_SET\_CONTROLLER\_ID support
3382 * silence pep8 warning
3383 * fix NX\_ACTION\_HEADER pack string and size
3384 * don't close connection when getting OFPT\_ERROR\_MSG
3385 * rename OFPGetSwitchConfig to OFPGetConfigReply class
3386 * discard sample/test\_simple\_switch because of unittest fail
3387 * test: add NTT copyright to unittest files
3388 * app/simple\_switch: fix commit e5e4b844250d36788f9b1bf71cfd36a6e14d5315 regression
3389 * ryu/app: convert existing application to new style ryu application
3390 * base/app\_manager: introduce application context
3391 * add NXT\_ROLE\_REPLY support
3392 * Add Switch to Controller Nicira extension message support
3393 * Add Switch to Controller Vendor message support
3394 * test: add more unittests
3395 * Fix NXActionAutopath parser
3396 * test: add unittests for of1.2 parser
3397 * test: add more unittests for of1.0 parser
3398 * test: add more unittests for of parser
3399 * Fix OFPFlowRemoved \_\_str\_\_ method typo
3400 * Fix OFPVendorStats parser method
3401 * Fix OFPSwitchFeatures parser (of 1.2)
3402 * Fix the commit 458042d4032ad52dff93deb0f78d94cadb4f2d37 messup
3403 * Fix the commit eea434b8e45bc8ee91aa02096903a66af898ae35 messup
3404 * Fix OFPFlowStats parser
3405 * Add Nicira Extension NXAST\_POP\_QUEUE support
3406 * Add Nicira Extension NXAST\_SET\_QUEUE support
3407 * add Nicira Extension NXAST\_AUTOPATH support
3408 * add Nicira Extension NXAST\_EXIT support
3409 * Fix NXActionSetTunnel64 parser
3410 * Fix NXAactionOutputReg parser
3411 * rename NXTRequest to NiciraHeader
3412 * add NXT\_ROLE\_REQUEST support
3413 * Add NXT\_ROLE\_REQUEST/REPLY constants
3414 * ryu/controller/dpset.py: code simplification
3415 * lib/dpid: dpid formatter/parser
3416 * Kill parser\_stats\_body\_array method in OFPFlowStats class
3417 * fix OFPQueueGetConfigReply parser
3418 * fix OFPVendor parser
3419 * fix typo in ofproto\_v1\_0\_parser comment
3420 * fix StatsReply parser
3421 * Fix OFPQueuePropMinRate class
3422 * fix OFPPacketQueue class parser
3423 * ryu/app/wsapi: make json\_parse\_message\_body work
3424 * Pretty NXAcationBundleBase parser up
3425 * fix NXActionRegLoad parser
3426 * fix NXActionRegMove parser
3427 * fix NXActionMultipath parser
3428 * add Nicira Extension NXAST\_OUTPUT\_REG support
3429 * add Nicira Extension NXAST\_BUNDLE and NXAST\_BUNDLE\_LOAD support
3430 * add Nicira Extension NXAST\_REG\_LOAD support
3431 * add Nicira Extension NXAST\_REG\_MOVE support
3432 * Fix OFPStatsReply parser
3433 * Add NXAction parser support
3434 * Add OFPActionStripVlan class
3435 * lib/mac: improve helper functions
3436 * ofproto/ofproto\_v1\_0\_parser: PacketIn parser
3437 * ofproto\_v1\_0\_parser: fix OFPPacketOut serializer
3438 * remote COPYRIGHT file from MANIFEST.in
3439 * README: added the pointer to Gmane ML archive
3440 * add Nicira Extension NXAST\_MULTIPATH action
3441 * Added test framework, ported from Quantum
3442 * doc/source/step\_by\_step.rst: add item to setup quantum db
3443 * Fix OFP\_ACTION\_DL\_ADDR\_PACK\_STR
3444 * Fix OFPActionHeader class 'serialize' method
3445 * controller/controller: make send\_flow\_mod() allow default value for priority
3446 * app: use symbol instead of 32678 for default priority
3447 * ofproto/ofproto\_v1\_0\_parser: flowmod default parameter
3448 * ofproto/ofproto\_v1\_0\_parser: make FlowMod allow meaningful default parameter
3449 * controller, ofproto\_v1\_0: avoid format for argument
3450 * ofproto/ofproto\_v1\_0\_parser: serializer for NXActionResbumit
3451 * ofproto/ofproto\_v1\_0\_parser: serializer for nxt\_flow\_mod\_table\_id
3452 * ofproto/ofproto\_v1\_0\_parser: improve NXTRequest initializer
3453 * ofproto/ofproto\_v1\_0: more constants for nx
3454 * app/wsapi: make WSPathComponent inherit object
3455 * app/wsapi/WSPathArbitraryString: wrong indent
3456 * add missing super().\_\_init\_\_()
3457 * app/simple\_isolation: unbreak nx patch
3458 * fix find\_flagfile path handling bug
3459 * update docs on the license switch
3460 * Switch to Apache 2.0 license
3461 * Use the original file license
3462
3463 v0.2
3464 ----
3465
3466 * ryu 0.2
3467 * ignore GreenletExit exception
3468 * Add NXActionSetTunnel and NXActionSetTunnel64
3469 * Allow send\_flow\_mod() to send NXTFlowMod messages
3470 * Add match\_tuple() and flow\_format() methods to ClsRule
3471 * Add NXTFlowMod
3472 * NXM: Add MFIPDSCP and MFIPECN classes
3473 * NXM: Add MFEthType class
3474 * NXM: Add MFEthSrc class
3475 * NXM: Add MFEthDst class
3476 * NXM: Add MFTunId class
3477 * NXM: Add MFInPort class
3478 * Add base for serialising NXM matches
3479 * Add support for NXT\_SET\_FLOW\_FORMAT
3480 * Add Nicira vendor extensions
3481 * ryu/handler: class decorator should return class object
3482 * controller: print stack trace when datapath main loop goes wrong and log it
3483 * controller/network: fix key error
3484 * Avoid loop in OFPAction.parser()
3485 * Increment offset in OFPFlowStats.parser()
3486 * Use struct.unpack\_from() in OFPFlowStats.parser()
3487 * doc: update README.rst (OpenStack mainline inclusion status)
3488 * Correct typos in OFPFlowStatsRequestBase class
3489 * yield the CPU to other greenlets
3490 * avoid reading too much data from socket
3491 * limit the queue size (send\_q)
3492 * kill recv\_q
3493 * dispatcher: eliminate weakref.WeakValueDictionary
3494 * dispatcher: eliminate use of weakref for EventQueue event queue
3495 * controller: eliminate weakref of datapath.ev\_q.aux
3496 * dispatcher: use TrackInstances and kill some WeakValueDictionary
3497 * lib: mixin class to track all instances of a given class
3498 * controller: make Controller::serve more robust
3499 * ryu/controller/ofp\_event: use utils.load\_module
3500 * ryu/utils: make import\_module() reliable
3501 * controller/dispatcher: eliminate unregistering handlers
3502 * enable OF1.2 support
3503 * add initial OF1.2 support
3504 * doc: update using\_with\_openstack.rst to catch up openstack
3505 * add HACKING.rst: style guide
3506 * doc: update osrg/nova, quantum repository
3507 * setup.py: typo autor -> author
3508 * dpset: pep8
3509 * ryu/controller/handler: pep8
3510 * ofproto\_parser: pep8
3511 * ofproto\_v1\_0\_parser: typo
3512 * ofproto/ofproto\_v1\_0\_parser: unbreak 0bff34ca87af74b7eb13d9c996fd869172a7f0a4
3513 * doc: sample configuration files
3514 * doc: step-by-step example
3515 * app/simple\_isolation: various improvement
3516 * controller/{mac\_to\_port, network}: add more methods to track port status change
3517 * controller/datapath: add a helper function to delete flow entries
3518 * controller/dispatcher: eliminate the use of WeakSet
3519 * fix ofp\_event conversion messup
3520 * add cbench application
3521 * move to the main mode right after sending BARRIER
3522 * fix datapath disconnection cleanup
3523 * rest: add '/network' prefix to its path
3524 * remove unused members in Datapath class
3525 * client: pass http responce when an error occurs
3526 * controller: factor out ofp message event from event.py
3527 * pylint: various fixes for pylint
3528 * doc: how to invoke ryu-manager, its options and example
3529 * app: event dumper application
3530 * controller/dpset: Introduce datapath enter/leave event
3531 * dispatcher, handler: constantiate dispatcher name
3532 * controller: pass datapath to EventQueue for EventQueueCreate event
3533 * dispacher: introduce inheritable handler
3534 * controller/dispatcher: introduce events on event queue itself
3535 * dispatcher: pass name to EventQueue and track all instances
3536 * controller/dispatcher: allow handler that accepts any event type
3537 * controller/dispatcher: pylint
3538 * use 0 dl\_{src, dst} for OFPMatch
3539 * move \_pack\_into and \_str\_attr to ofproto\_parser.py
3540 * xid: improve xid handling
3541 * ofproto\_v1\_0: add a constant, MAX\_XID
3542 * ofproto/ofproto\_v1\_0\_parser: more parsers/serializers
3543 * ofproto\_v1\_0\_parser: allows 0 as dl\_{src, dst} for OFPMatch
3544 * lib/mac: add helper function/values
3545 * ofproto/ofproto\_v1\_0: typo, missing consts
3546 * move MsgBase class to ofproto\_parser.py from ofproto\_parser\_v1\_0.py
3547 * remove OF version dependence from MsgBase class
3548 * pylint: add a script to run pylint and pylintrc
3549 * pep8: utils.py
3550 * pep8: ryu/ofproto/ofproto\_v1\_0.py
3551 * ryu.conf: eliminate obsolete config
3552 * Use from gevent.queue import Queue
3553 * Fix to send OFPT\_HELLO with the highest OpenFlow protocol version
3554 * doc: how-l2-segregation-works: update images a bit
3555 * doc: fix typos
3556 * doc: use Network Operating System instead of Network OS for consistency
3557 * doc: fix typo
3558 * doc: clarify our goal for OpenStack
3559
3560 v0.1
3561 ----
3562
3563 * initial commit