Skip to main content

Components

📄️ Boringssl Encrypt

Provide enterprise-grade encryption using Google's BoringSSL cryptographic library. Supports multiple cipher suites including AES-128/256-GCM and ChaCha20-Poly1305, each offering different performance and security characteristics. BoringSSL is a security-focused fork of OpenSSL used in Google's production systems. Provides authenticated encryption with associated data (AEAD) ensuring both confidentiality and integrity. Ideal for high-security applications requiring proven cryptographic implementations.

📄️ Kodok Decoder

Recovers original data from Kodok's advanced Random Linear Network Coded packets. Features intelligent decoding algorithms that adapt to the sophisticated repair scheduling used by the Kodok encoder. Handles multi-stage repair configurations and variable generation sizes automatically. Provides optimal decoding performance by efficiently utilizing all received coded and repair packets. Essential for high-performance error recovery in demanding network environments where maximum throughput and minimal latency are critical requirements.

📄️ Kodok Encoder

Provide adaptive forward error correction using Kodok's advanced Random Linear Network Coding (RLNC) implementation. Features sophisticated repair scheduling with configurable phases that determine when and how many repair packets are generated. Supports multi-stage repair configurations allowing fine-tuned trade-offs between latency and error correction capability. Includes adaptive timeout mechanisms to handle varying network conditions and traffic patterns. Essential for high-performance applications requiring optimal bandwidth efficiency and robust error recovery in challenging network environments.

📄️ Loss Tracker Receiver

Provide comprehensive packet loss detection and measurement by analyzing sequence numbers and timing information from tagged packets received from LossTrackerSender components. This component calculates loss rates, identifies missing packets, and generates loss statistics with configurable sampling intervals. Essential for SLA compliance monitoring, network troubleshooting, quality assurance testing, and establishing performance baselines for network optimization and capacity planning decisions.

📄️ Peer Writer

Stamps outgoing packets with specified remote endpoint addresses for routing and destination control. This networking component provides centralized endpoint management by applying consistent destination addressing to packet flows, enabling traffic steering, load balancing, and service routing. Essential for implementing traffic distribution, service discovery integration, dynamic endpoint switching, and centralized routing policies in distributed systems and load balancing scenarios.

📄️ Relay Network Lookup

Provide intelligent network address to client pipeline mapping services for relay infrastructure with bidirectional traffic routing capabilities. This essential relay component manages the mapping between incoming network addresses and their corresponding client pipeline identifiers, enabling dynamic client discovery and traffic steering in multi-tenant relay environments. Essential for implementing relay servers, multi-tenant network services, dynamic client onboarding, and scalable traffic distribution in distributed systems requiring centralized traffic management and client isolation.

📄️ Relay Routing Fabric

Provide intelligent routing fabric services for relay networks with client-to-address mapping and dynamic route resolution capabilities. This networking component maintains routing tables that map client identifiers to network addresses, enabling efficient packet forwarding in multi-tenant and distributed relay environments. Essential for implementing relay servers, multi-tenant network services, dynamic address resolution, and scalable routing in distributed systems requiring centralized traffic management and client isolation.

📄️ Rely Decoder

Provide advanced Random Linear Network Coding (RLNC) decoding using Steinwurf's sliding window implementation with adaptive packet release strategies. This decoder reconstructs original data from received source and repair packets, featuring configurable timeout mechanisms for missing packet handling and optional in-order packet release for maintaining data sequence integrity. Essential for high-performance network coding applications requiring optimal decoding efficiency, real-time streaming with loss recovery, and flexible delivery guarantees in challenging network conditions.

📄️ Rely Encoder

Provide advanced Random Linear Network Coding (RLNC) encoding using Steinwurf's sliding window implementation with adaptive repair scheduling. This forward error correction encoder maintains a sliding window of source packets and generates repair packets on-demand based on configurable target rates and timing windows. Essential for high-performance network coding applications requiring optimal throughput-reliability trade-offs, real-time streaming with loss protection, and efficient bandwidth utilization in lossy network environments.

📄️ Session Reader

Monitor session identification metadata and triggers pipeline reconfigurations when session changes are detected. Reads session IDs from packet headers and maintains session state awareness, automatically initiating pipeline restarts when transitions to new sessions occur. Essential for session-based architectures where different sessions require distinct pipeline configurations, processing parameters, or routing behaviors. Enables dynamic adaptation to changing communication contexts and requirements.

📄️ Simulated Network

Create a virtual network simulation environments within pipeline configurations for controlled network testing and emulation scenarios. This emulation component establishes isolated virtual networks with configurable MTU settings, named network endpoints, and programmable connectivity patterns between multiple simulation participants. Essential for creating controlled test environments, simulating complex network topologies, testing distributed applications, and conducting reproducible network experiments.

📄️ Tag Demux

Separates a single tagged input stream into multiple output streams based on packet tag information. Reads tag metadata from incoming packets and routes them to the appropriate output based on tag-to-output mappings. Serves as the counterpart to TagMux, enabling flow separation and distribution after aggregation. Essential for implementing flow-specific processing pipelines, load balancing based on source identity, and creating parallel processing architectures with tagged data streams.

📄️ Tag Mux

Combines multiple tagged input streams into a single output by adding identification tags to packets from each input source. Each input is assigned a unique tag value that gets embedded into packet metadata, enabling downstream components to identify the original source. Essential for aggregating multiple data flows while preserving source identity, enabling complex routing decisions and flow-specific processing. Supports arbitrary tag assignments for flexible flow identification schemes.

📄️ Tap

Creates and configures a TAP (network TAP) interface on the host system. A TAP interface operates at the data link layer (Layer 2) of the OSI model and emulates an Ethernet device. It is commonly used in applications where we want to capture and transmit directly with raw Ethernet frames, making it suitable for scenarios such as packet capture, tunneling, or network simulation. The TAP interface allows reading and writing of Ethernet frames into the pipeline, enabling seamless integration into virtualized networking environments or network routing/bridging logic. Note, see also the TUN component for Layer 3 IP packet handling.

📄️ Timed Burst Loss

Simulates time-based burst packet loss with precise temporal control and flexible loss pattern configuration for realistic network impairment modeling. This loss component creates burst loss events with configurable duration-based or packet-count-based loss patterns, featuring grace periods between loss events and optional cancellation timers for complex scenarios. Supports both packet-count and time-duration burst modes with millisecond-precision timing control. Essential for simulating realistic network congestion patterns.

📄️ Trace Traffic Source

Generates realistic network traffic by replaying patterns from pre-recorded trace files. Reads traffic characteristics from structured trace files containing timing, size, and other packet metadata. Enables accurate reproduction of real-world traffic patterns for testing and simulation purposes. Supports loop playback with configurable delays between iterations, allowing long-duration testing scenarios. Essential for validating protocol behavior under authentic traffic conditions and performance benchmarking with representative workloads.

📄️ Tun

Creates and configures a TUN (network TUNnel) interface on the host system. A TUN interface operates at the network layer (Layer 3) of the OSI model and emulates a point-to-point network device. It provides a virtual IP interface that allows the pipeline to send and receive raw IP packets as if they were arriving from or destined to a physical network interface. TUN interfaces are commonly used for implementing virtual private networks (VPNs), IP tunneling, and other Layer 3 routing or forwarding mechanisms, where packet-level manipulation is required. Note, see also the TAP component for Layer 2 Ethernet frame handling.

📄️ Uniform Loss Sequencer

Provide programmable uniform packet loss with sequential transitions between different loss probability states over time. This advanced impairment component enables dynamic loss modeling by cycling through predefined loss probability sequences with configurable transition intervals, supporting realistic simulation of varying network conditions and time-dependent loss patterns. Essential for testing adaptive protocols under varying loss conditions, evaluating application resilience to dynamic network degradation, and simulating realistic loss patterns observed in mobile and wireless networks.

📄️ Uniform Traffic Source

Generates synthetic uniform traffic patterns with consistent inter-packet timing for network testing and performance evaluation. This fundamental traffic generator produces packets at regular intervals with configurable packet counts, timing parameters, and randomizable packet sizes within specified bounds. Essential for network capacity planning, protocol performance evaluation, steady-state testing, and establishing performance baselines in controlled environments.

📄️ Video Traffic Source

Generates realistic video streaming traffic patterns with frame-based timing and variable packet sizes mimicking video encoding characteristics. This specialized traffic generator simulates video codec behavior including I-frames, P-frames, and GOP (Group of Pictures) structures with configurable frame rates and encoding parameters. Essential for testing adaptive streaming protocols, evaluating video quality under network constraints, bandwidth adaptation algorithms, and quality of experience (QoE) measurements in video delivery systems.