April 19, 2025
IXDP is a layer above libxdp/AF_XDP which is responsible for XDP ring management operating with a set of interfaces in promiscuous mode. IXDP registers its specific set of RPCL functions (words) which allow to control and configure the IXDP packet processing layer. This posts explains the IXDP packet processing flow in general and outlines the related RPCL functions (words) for the different stages.
April 12, 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.
April 2, 2025
f82()
is hash function which hashes a unt64_t
8 byte unsigned integer key to a uint16_t
2 byte hash value. It belongs to the class of tabulation hashing functions and is perfect for implementing lock-less hash tables and other data structures that require an uniform and perfect distribution.
March 29, 2025
Skip lists are a probabilistic data structure that seem likely to supplant balanced trees as the implementation method of choice for many applications. Skip list algorithms have the same asymptotic expected time bounds as balanced trees and are simpler, faster and use less space.
March 8, 2025
This post collects helpful links and resources concerning OUI/Mac Address Vendor lookups and registration.
March 6, 2025
When uniform random numbers are needed in C, just applying modulo is not enough. With using random() for portability and a few calculations this can be easily fixed.
March 5, 2025
C23, formally ISO/IEC 9899:2024, is the current open standard for the C programming language, which supersedes C17 (standard ISO/IEC 9899:2018).
March 4, 2025
This shares some comments and provides important key resources for implementing high speed libxdp packet forwarding.
January 29, 2025
This explains our wrapper API on top of libxdp which faciliates the implementation of multi-threaded zero-copy packet processing applications substantially.