Skip to content

Releases: p4lang/behavioral-model

Release 1.9.3 of bmv2

04 Jan 18:25
Compare
Choose a tag to compare

Notable bug fixes since 1.9.2:

  • call export_bytes in Data::two_comp_mod operator

Release 1.9.2 of bmv2

28 Dec 23:39
Compare
Choose a tag to compare

Notable bug fixes since 1.9.1:

  • copy internal PHV state for header stacks when creating packet copies
  • add missing includes
  • do not crash in CLI if match field format is bad
  • do not use Werror by default when building, can be enabled when running configure with --enable-Werror

Release 1.9.1 of bmv2

03 Nov 20:08
Compare
Choose a tag to compare

Notable bug fixes since 1.9.0:

  • fix pcap file corruption when using --pcap-dump
  • fix compilation warnings with gcc7

Release 1.9.0 of bmv2

15 Sep 00:08
Compare
Choose a tag to compare
  • ability to init the Switch with an OptionsParser object (instead of argv)
  • implemented _pi_update_device functions for bmv2
  • ability to send / receive dataplane packets in simple_switch_grpc with a gRPC service (new DevMgrIface implementation)
  • move simple_switch_grpc unit tests to GoogleTest
  • enable JSON swap by default for simple_switch_grpc
  • ability to pass "extras" KV map when adding port; this is useful for custom DevMgrIface implementations
  • add bm_register_read_all to Thrift interface
  • register logger with P4Runtime library in simple_switch_grpc
  • dissociate checksum verification and update in JSON (some checksums can be verify-only, others update-only)
  • support 64-bit device ids; this required updating the nanomsg notification headers

Release 1.8.1 of bmv2

14 Sep 23:57
Compare
Choose a tag to compare

Notable bug fixes since 1.8.0:

  • don't crash in runtime APIs if invalid resource name
  • give error for duplicate ports or LAGs in simple_switch_CLI

Release 1.8.0 of bmv2

03 Jul 19:15
Compare
Choose a tag to compare
  • ability to chose gRPC server address for simple_switch_grpc
  • extra logging (with source info) when evaluating conditions and calling action primitives
  • support for calling actions directly from control
  • now using gcc6 in regressions instead of gcc5 (in addition to gcc4.8); we want to support gcc4.8 -> gcc6; we no longer run regressions with clang3.6 but we still do with clang3.8
  • thrift RPC to clear all entries in a table: bm_mt_clear_entries
  • verify checksums at the end of parsing and log an error message if checksum is not correct
  • add ability to print supported bmv2 JSON version with --json-version command line option
  • check that JSON version is supported in P4Objects when loading the JSON input
  • gRPC requirement to use simple_switch_grpc is now 1.3.0
  • removed the OverwritingHeader parser error, which is no longer part of the P4_16 spec
  • add support for conditional jumps in actions, which enables us to support conditions in action bodies (P4_16) directly
  • more advanced support for CRCs, with a list of predefined algos and the ability to specify your own polynomials in the JSON input
  • support for P4_14 saturating fields
  • thrift RPC to query the (JSON) id of an object by name: bm_get_id_from_name
  • stub implementation of gNMI handler in simple_switch_grpc
  • packet IO support in simple_switch_grpc

Release 1.7.2 of bmv2

03 Jul 18:57
Compare
Choose a tag to compare

Bug fixes since 1.7.1:

  • fix major bug in ternary table implementations (lookup results were wrong after deleting an entry because of invalid handle computation)
  • fix typo in P4Objects code which sets arith for union fields
  • remove statements with side-effects from asserts, in case code is compiled with NDEBUG
  • fix ByteContainer::to_hex to not use operator [] to get an "iterator" to the end of the vector; in debug mode, clang perform bound checking even for operator []

Release 1.7.1 of bmv2

19 May 02:42
Compare
Choose a tag to compare

Bug fixes since 1.7.0:

  • fix issue with VL fields handling in JSON parser
  • more robust JSON parsing: replaced asserts with error messages, header & field name validation
  • setting arith property for checksum target fields when parsing JSON
  • fix g++6 compilation warning
  • fix crash in PRE

Release 1.7.0 of bmv2

27 Apr 17:45
Compare
Choose a tag to compare
  • more comprehensive header stack support in expression engine
  • tentative support for method calls in parse state body
  • support for static table initializers
  • support for shift in parser
  • exact match cache for ternary / range tables to avoid linear search
  • tentative implementation of the PI C API (bypassing Thrift RPC server)
  • conditional dependency on Thrift and nanomsg, controlled by configure script
  • new simple_switch_grpc target, which does not use Thrift for dataplane configuration
  • tentative support for P4_16 header unions

Release 1.6.1 of bmv2

27 Apr 17:37
Compare
Choose a tag to compare

minor bug fixes since 1.6.0