Skip to content

Release 1.15.0 of bmv2

Latest
Compare
Choose a tag to compare
@antoninbas antoninbas released this 10 Feb 19:52
f745e1d

bmv2 core:

  • remove all dependencies on libJudy: libJudy is not very portable, is no actively longer maintained, and is not cross-compilation friendly; it was complicating the build and causing runtime issues for some users
  • change return type of bm_get_config_md5() (Thrift RPC Service) to binary to fix issue occurring with recent Thrift versions
  • use correct pcap files to dump ingress and egress traffic in BMI (files were previously swapped)
  • print error code in logs for invalid runtime operations to facilitate troubleshooting
  • move dataplane_interface.proto to common services/ folder so that it can be used by all targets
  • fix IPv6 address parse error in runtime_CLI
  • add the xor16 hash function to bm_sim

simple_switch / simple_switch_grpc:

  • fix standard_metadata.packet_length for copies and update simple_switch documentation appropriately
  • document idle timeout implementation for match tables
  • [simple_switch_grpc] switch default P4Runtime gRPC port to 9559 (IANA assigned port)
  • [simple_switch_grpc] support SSL/TLS options for P4Runtime server, including mutual authentication
  • [simple_switch_grpc] do not return an error in PI implementation if meter rates not set
  • [simple_switch_grpc] reset meter rates when getting default meter spec from PI API
  • [simple_switch_grpc] log an error in case of mismatch between device ids
  • [simple_switch_grpc] do not ignore drop port value provided through the command-line

psa_switch:

  • support for e2e cloning
  • extern implementations: Random, InternetChecksum, Hash

tools:

  • all Python scripts now require Python 3
  • update to dependencies:
    • Thrift >= v0.11.0 and <= v0.13.0 supported
  • CI updates:
    • OS used for CI: Ubuntu 20.04
    • C/C++ compilers used for CI: gcc9, clang-8, clang-10
  • use Github workflows instead of Dockerhub to build and push container image (p4lang/behavioral-model) to Docker; workflow runs for every main branch update as well as periodically
  • drop unused Dockerfile.grpc
  • document dependencies for Ubuntu 20.04 and Fedora