All notable changes to the python-openflow project are documented in this file.
- Updated python environment installation from 3.9 to 3.11
No major changes since the last release.
- Made a shallow copy of
__dict__
when iterating over class attributes to fix potentialRuntimeError
No major changes since the last release.
No major changes since the last pre-release.
- Removed deprecating
tests_require
andsetup_requires
, bootstrapped tests dependencies directly on requirements/dev.txt withtox
andpytest
- Update README to refer to Kytos NG project
- Added support for vendor
ActionExperimenter
that can be implemented using a NApp.
No major changes since the last pre-release.
- Added a string representation method to
GroupMod
,Header
,Bucket
,ActionSetField
andActionOutput
.
- Changed
setup.py
to runpytest-runner
only during the unit tests. - Let Scrutinizer CI choose which Python 3.6 it'll use for tests.
- Fixed
PackException
error when running Kytos with OpenFlow 1.0 (#631). - Fixed docstrings in
UBIntBase
andTableFeatures
classes.
No changes since rc1.
- Added support to native method int() in UBInt() class
- Added unit tests for UBInt8, UBInt64 and UBInt128 class
- Standardize
isenum
tois_enum
- Fixed "Recursion error" when building documentation with Sphinx >= 2.1
- Added Python 3.[789] classifiers to
setup.py
- Removed Python 3.6 references from
README.rst
andMakefile
- Added minimum_size tests to FlowMod and VendorHeader
- Fail test instead of skipping if no minimum_size is defined
- Changed setup.py to alert when a test fails on Travis.
- Updated broken links and unpack example on README.rst.
- [v0x04] Added support for IPv6 packets and addresses (source and destination match fields).
- Added the
@tags
decorator for small/medium/large tests.
No changes since last release.
- Enabled Travis CI.
- Fixed some linter issues.
- Upgraded requirements for dev install mode
- Fixed installation with setuptools 40.6+
- Added long description field for display in pypi.org.
- Fixed Scrutinizer coverage error.
- This is the stable version of the last beta pre-releases. No changes since the last rc1.
No major changes since the last pre-release.
- Improved code quality fixing tox information code issues.
- [v0x04] Created ListOfBucketCounter class to represent a list of BucketCounter instances.
- [v0x04] Improved unit tests for: Hello, PacketOut, FlowMod, SetConfig, FlowStats, AggregateStats, PortDesc, GroupStats, Error, MeterMultipartRequest and PacketIn messages.
- [v0x04] Fixed MultipartReply error when multipart_type is an integer.
- [v0x04] Fixed Unpack method for the Bucket class to support variable length.
- [v0x04] Added support for ActionExperimenter's body (thanks, @dgarc330!)
- [v0x01 | v0x04] Added some raw test files to OpenFlow 1.0 and 1.3
- [v0x04] Added unit tests to OpenFlow 1.3: FlowRemoved, PacketIn, PortStatus, FeaturesRequest and FeaturesReply.
- [v0x04] Improved OpenFlow 1.3 raw dump instructions in README
- Set pytest as the default unit test framework
- Removed dependency from online Kytos docs when running tests
- [v0x04] Fixed OpenFlow 1.3 PacketOut validation before pack()
- Fixed dependencies for developer-mode install
- This is the stable version of the last beta pre-releases. No changes since the last rc1.
- No changes since last pre-release
- Updated Openflow default port documentation to 6653.
- Updated dependencies versions in order to fix security bugs.
- Updated dependencies versions on requirements.
- New install instructions on README.
- No changes since last pre-release
- This is the stable version of the last beta pre-releases. No changes since the last rc1.
- No changes since last pre-release
- [v0x04] Added support for OFP_ERROR codes with the get_class method
- Better debugging: added repr's for GenericMessage, Header and SwitchConfig
- [v0x01] Fixed OFPT_GET_CONFIG_REPLY message type
- [v0x04] Fixed bug when unpacking MultiPart messages (#529). Thanks @jondef95
- [v0x04] Added support for for OpenFlow 1.3 OFP_ERROR codes with the get_class method
- [v0x01 | v0x04] Added GenericFailedCode error PR #533
No changes since the last release.
- Improve documentation to use kytos sphinx theme
No changes since the last release.
- [v0x01] added optional elements in Hello class
- [v0x04] added pack/unpack methods for Hello Elements
- Improve Ethernet class to accept a list of VLANs
- Some class names to singular: MultipartTypes, ConfigFlags, StatusTypes
- Better debugging: attribute name in PackException message.
- EtherType Enum.
- [v0x04] get_field method on Match class.
- [v0x04] in_port property on PacketIn class.
- [v0x04] instructions field in FlowStats.
- Attribute name to PackException
- Every message sent by the controller now has its own XID.
- Using EtherType enum items instead of hardcoded values.
- Default values for many v0x04 classes.
- Default values for many v0x01 classes.
- IPAddress class: Added netmask optional attribute on init.
- Some unused test files.
- Performance issues related to deepcopy operations.
- Unpacking performance issues.
- [v0x04] Multipart message name.
- [v0x04] ErrorMessage unpack.
- [v0x04] ActionSetField.
- [v0x04] MultipartReply unpack.
- [v0x04] FlowStats unpack.
- [v0x04] get_size method of Actions.
- Several bug fixes.
- OpenFlow Extensible Match structures.
- ARP packet pack/unpack support.
- 802.1q VLAN packet pack/unpack support.
- Improved packet validation and unpacking.
- Yala substitutes Pylama as the main linter checker.
- Requirements files updated and restructured.
- Unused and duplicated files.
- Some missing classes and elements were included.
- Some test fixes.
- Several bug fixes.
- Documentation updated and improved.
- Some bug fixes.
- IPv4 packet pack/unpack support.
- Raise ValueError if not using bytes (e.g. string) in BinaryData.
- Changed docs to show a dropdown button with all python-openflow releases.
- [v0x01] Fixed method to unpack error messages.
- documentation: fixed links and build warnings.
- A few bug fixes.
- Continuous integration, with Code Quality Score and test coverage.
- Attributes with Python reserved names were renamed:
len
was renamed tolength
type
andproperty
received a prefix with the Class name.
- Enums of the OpenFlow structures changed to IntEnums, to make easier comparisons with integer values.
- Updated requirements.txt
- 'data' fields included for symmetric messages, like echo requests/replies.
- Documentation updated.
- [v0x02] references, as it is not implemented yet.
- Pypi package is fixed and working.
- Several bug fixes.
- OF v0x04 - 1.3.5 - version support
- v0x04
- Finished implementation
- Test improvements
- v0x01 - Numerous Fixes
- New and updated tests for 0x04
- OF v0x04 1.3.0 - Compliance fixes
- Test improvements
- Refactoring:
- Use of Python 3.6 class attribute order preservation
- New inheritance model, MetaStruct refactored
- Support for Python 3.6 and later
- Improved docs organization
- Added support to AggregationStats and FlowStats
- StatsRequest/Reply packing/unpacking
- Updated docs: install instructions
- Test improvements: fixes, refactoring.
- Refactoring: basic_types.py
- [v0x04] Adding multipart reply and request messages with tests
- Numerous 0x04 implementations
- Improved continuous integration
- v0x01 fixes
- Adding constant files to manage constants in NApps
- Moving foundation module to pyof root folder (same with tests)
- Enum fixes
- More detailed unpack error messages
- Refactoring: import classes instead of modules
- lint fixes and docs generation
- Pip support
- many doc and docstrings fixes and enhancements
- from markdown to restructuredtext
- doctests
- pypi
- code optimizations.
- many unittests added
- Pack, Unpack and GenericType refactor.
- added GenericBitMask class
- BitMask classes can behave like enums
- python3 compliance on MetaStruct inheritance declaration
- revision of bitmasks and enums
- fixes on enums and GenericStruct inheritance
- object equality comparison on Generic Types and Structs
- Refactor to accept Python basic types as messages attributes.
- Messages type conversion during the pack operation.
- Better documentation
- Several fixes, including GenericMessage pack method.
- Added ConstantTypeList and ListOf* classes
- Added BinaryData into packet in and out
- Added new basic types and new exceptions
- Changed message types from GenericStruct to GenericMessage
- Added FeaturesReply Class
- Validation on pack
- Fix Package setup
- Docs: added support for Sphinx
- new workflow for the project
- Added explanation and figures to illustrate the workflow.
- Added a special workflow to hotfix and security fix.
- better readme on contribute and hacking
- added a test badge to readme
- update LICENSE
- Numerous test improvements
- Enable test on setup with setuptools
- Added some files with OpenFlow binary data for testing
- added Port Status messages class and enums definitions
- added vendor message file and class implementation
- Recode to transform the project into a Python Project
- multiple stats messages implementations
- added requirements file.
- improvements to project structure
- added Project Structure section on README
- pack / unpack refactoring for compliance with OF v0x01
- added unit tests
- docstrings documentation improvements
- Test restructure
- Added MIT License
- several compilation fixes.
- package and imports structure refactoring.
- Added classes for flow statistics.
- Classes to improve Exception Handling
- refactoring to use python3 Enum class
- Added thread implementation for socket handle.
- Use of metaclasses for messages and structs implementation.
- Fixes on HELLO Packet implementation
- initial skeleton to implement introspection
- MessageGeneric class
- better readme and hacking instructions
- better organization on problem description
- added messages, todo and instructions
- initial implementation
- support for OF v0x01 messages building and parsing