Skip to content

Releases: rstade/NetBricks

v1.0.10

17 Nov 12:48
Compare
Choose a tag to compare

adaption to a more recent rustc (nightly 1.76.0) by replacing deprecated code

v1.0.8

14 Feb 13:53
Compare
Choose a tag to compare

Some minor changes and cleanups. Version 1.0.8 is required by TcpEngine 0.3.1.

v1.0.7

01 May 20:48
Compare
Choose a tag to compare

This release is adapted to rustc 1.62.0-nightly and bindgen 0.59.2. No functional enhancements

Update for DPDK 20.11

26 Nov 12:19
Compare
Choose a tag to compare

using DPDK rte_flow API, tested with TrafficEngine based on DPDK 20.11.0-RC4, Centos 7.8.2003 rt-kernel, 10G 82599 NIC

v1.0.4

06 May 22:17
Compare
Choose a tag to compare

updated for Rust version: rustc 1.45.0-nightly (2454a68cf 2020-05-04)

v1.0.2

30 Apr 21:19
Compare
Choose a tag to compare
  • support of Virtio pmd-ports
  • KNI kernel module now optional, as a Virtio interface can replace a native Kni interface
  • network specification (mac, ip, namespace) moved to Kni and Virtio port definition as part of NetBricks configuration
  • physical pmd ports can be associated with a native Kni or Virtio port (kni=)

v1.0.1

12 Apr 22:18
Compare
Choose a tag to compare
impl some From traits for ErrorKind

v1.0.0

02 Apr 12:39
Compare
Choose a tag to compare

This release in the new branch e2d2-rs-v1 is a major change to the original NetBricks code. The code of packet.rs was replaced by pdu.rs. Pdu stands for "protocol data unit". Objective was to allow for a more arbitrary protocol stacking and header parsing. In the original code the protocol stacks must follow a tree topology, which is fixed at compile time through type parameters (e.g. PreviousHeader). The Pdu struct has no longer type parameters but includes a stack of Rust enumeration values (enum Header) which can abstract any arbitrary sequence of protocol encapsulations. The protocol sequence is determined at run time by the pdu parser and not limited at compile time, except through the capabilities of the parser.

As a positive side effect the code gets shorter as a lot of type parameters can be removed. This makes also the code easier to understand. Also we found no negative impact on the performance.

After parsing we specialize the parsed generic Header type to a specific Rust struct type, e.g. a struct IpHeader. Therefore we still utilize the full type checking capabilities of Rust at compile time and we lose nothing compared to the original code.

v0.5.1-alpha

03 Mar 16:29
Compare
Choose a tag to compare
v0.5.1-alpha Pre-release
Pre-release

This release is based on DPDK 18.11.

  • with DPDK 18.11 we observe some performance improvements: see measurements in TrafficEngine performance
  • number of mbuf in mbuf pool is now configurable in toml-file via parameter "mbuf_cnt" (should be 2**n-1)
  • adapted many integer rust types to that used in the DPDK API if possible (e.g. port and queue ids are now u16)
  • many other minor and editorial changes

v0.4.0-alpha

02 Jan 17:09
Compare
Choose a tag to compare
v0.4.0-alpha Pre-release
Pre-release
added cycles to port statistics