June 28, 2025
RPCL is a minimalistic configuration and control language, initially designed to act as a CLI for daemon-like background processes. RPCL is an acronym for Reverse Polish Configuration (and Control) Language.
June 12, 2025
RHPool
implements a Rendezvous Hash Pool, which holds multiple possible destinations (or servers) at a given time. For DSR load balancing (the intended purpose), a MAC address is mapped to the first 6 bytes in memory order, the remaining 2 bytes allow to insert the same MAC address multiple times. A combination of Linux/POSIX rwlocks and atomic uint64_t
access allows a maximum of concurrency during regular operation.
June 4, 2025
CHRing is an experimental consistent hash ring implementation based on a skiplist and f448()
, a tabulation hashing function for this purpose. This post provides an overview of the CHRing testing API and the related RPCL control words.
June 1, 2025
f2568()
is a variable length tabulation hashing function which returns a 64 bit hash result of input data up to a size of 256 bytes. It’s fast (requiring as many XOR operations as the data length in bytes), easy to understand and very strong at the same time. f2568()
is publicly available under the BSD-3-Clause License.
May 30, 2025
This post explains the basic usage of xdptap: How to start, stop and control it when running as a daemon in background.
May 26, 2025
This is about the third fault type that can be injected with xdptap in bridging mode: Packet duplication. It works similar to the other two fault types: Fault injection needs to be enabled on the RX interface and the probability is controlled by setting fault.dup.probability
to the desired value.
May 25, 2025
This post explains how to collect packets and record traffic with xdptap and collect.
May 25, 2025
This post is about corrupting packets with xdptap. This is done by flipping a single bit at a random position in the packet payload data. The area where one single bit is flipped starts at byte 15 thus always leaving the destination MAC address, the source MAC address and the first Ethertype untouched.
May 25, 2025
Nobody working at network and data center operations usually likes packet loss, even just a small percentage of packet loss can have serious effects on overall quality, bandwidth and end user experience. xdptap allows to inject different networking faults when acting as a transparent bridge. This post explains how to configure packet loss generally and also selectively.
May 25, 2025
We changed the project name from EtherTAP to xdptap with a few implications.