Skip to content

Releases: byllyfish/finsy

Release 0.17.0

08 Jul 00:46
89caa55
Compare
Choose a tag to compare
  • The Switch.delete_all method no longer takes any arguments; use the new Switch.delete_many method for wildcard deletes instead.
  • The Switch.delete_all method now deletes all action profiles.
  • Add support for signed/varbit values.
  • Add a P4TypeFactory class for use in testing.
  • Update example docs to say that both docker and podman are supported.
  • Update project dependencies.

Release 0.16.0

25 May 17:57
036400b
Compare
Choose a tag to compare
  • Add GRPCCredentialsTLS class for improved TLS support.
  • Add support for structured annotations in P4Schema.
  • Add support for caching and reusing P4Defs as part of P4Schema.
  • Add a py.typed file and improve type annotations.
  • Add a devcontainer.json file for Github Codespace.
  • Fix P4TableAction to allow an action that expects some arguments to be encoded with 0 arguments. Used for wildcard reads. (#193)
  • The Demonet sub-module now automatically tries docker if podman is not available.
  • Replace flake8 with ruff, fix lint issues, and improve testing.

Release 0.15.0

12 Apr 03:51
3b0b9bd
Compare
Choose a tag to compare
  • Rename current_controller() function to Controller.current().
  • Fix P4Member API used by P4ActionProfileGroup class.
  • Add a version of the ngsdn example that uses action profiles instead of "one-shots".
  • Many pyright and pylint fixes.

Release 0.14.0

22 Mar 03:07
d1d7176
Compare
Choose a tag to compare
  • Add the fail_fast option to SwitchOptions.
  • Add the finsy.run helper function to replace common boilerplate.
  • Fix a bug during P4Runtime handshake where a non-arbitration response from the switch caused an exception.
  • Fix a bug during PacketIn messages when there is no expected metadata in the P4Info schema.
  • Changed delete_all so it skips over entries in const tables.
  • Initial work on the inband network telemetry example.
  • The demonet test module now supports drawing an image of the network.
  • Update dependency versions.

Release 0.13.0

27 Feb 18:12
fb68e1b
Compare
Choose a tag to compare
  • Initial work on demonet test module which runs Mininet in a podman container (replacing bash script).
  • Update p4runtime protobuf definition to latest Replica.{egress_port => port} changes.
  • Update gNMI protobuf definitions from 0.8.0 to 0.9.0.

Release 0.12.0

24 Jan 03:17
f2d1d79
Compare
Choose a tag to compare
  • Add convenience accessors to P4CounterEntry and P4DirectCounterEntry.
  • Add the tunnel example.
  • Make podman scripts compatible with podman 3.4 on ubuntu.
  • Update protobuf support for p4testgen.
  • Update dependency versions.

Release 0.11.0

29 Dec 18:04
f5dcb03
Compare
Choose a tag to compare
  • Added some typing overloads for Switch.read() to improve IDE experience.
  • Annotate the details in a P4ClientError exception from a failed WriteRequest.
  • Improve support for displaying match/action information as plain text.
  • Added read_tables support to example tests.
  • Added P4Entity marker superclass for P4Entity subclasses.
  • Add protobuf support for p4testgen.
  • Update dependency versions.

Release 0.10.0

30 Nov 23:36
4e48b8f
Compare
Choose a tag to compare
  • The Switch.read_digests method now requires the name of the digest as an argument.
  • Fix issues related to parsing GNMI path strings and to_str escaping. (#117)
  • Fix differences in cancellation behavior in Controller.run. (#101)
  • Added documentation comments and pylint fixes.

Release 0.9.0

10 Nov 20:04
d07f505
Compare
Choose a tag to compare
  • Rename gNMI classes to start with "GNMI" instead of "gNMI".
  • Rename is_no_pipeline_configured property to is_pipeline_missing.
  • Rename P4Status to P4RpcStatus.
  • Rename P4SubError to P4Error.
  • Rename Port to SwitchPort and PortList to SwitchPortList.
  • GNMIClient.set(): argument is now a sequence of 2-tuples.
  • Add GNMI example programs.
  • Minor test changes to improve code coverage.
  • Minor pyright fixes.
  • Update dependency versions.
  • Build API docs.

Release 0.8.0

01 Nov 03:45
1f8a1ec
Compare
Choose a tag to compare
  • Update gnmi.proto, p4info.proto protobuf files. Re-compile using latest mypy-protobuf compiler.
  • Rename SwitchOptions.config to configuration.
  • Rename Switch.attachment to manager.
  • Add support for P4Runtime roles using p4_role_config.proto from Stratum project.
  • Add support for @format address annotations in P4 source code.
  • Remove TRACE decorator scaffolding.
  • Add support for Python 3.11 in tests.
  • Add tests for example programs.