4 Repos
Abstractions for interacting with kernel-level data structures from user space.
Distinct from eBPF Tooling: Focuses on the API abstractions for maps and ring buffers, not just the underlying tooling.
Explore 4 awesome GitHub repositories matching operating systems & systems programming · Kernel Interfaces. Refine with filters or upvote what's useful.
This project is a Go library and runtime for loading and managing eBPF programs and maps. It provides a bytecode loader and kernel interface to inject instructions into kernel hooks for system-level execution and observability across both Linux and Windows operating systems. The library features a relocation engine and tooling to ensure program compatibility across different kernel versions and distributions. It supports portable deployment by embedding compiled objects for multiple CPU architectures into a single binary and provides the ability to load signed system drivers on Windows. The
Offers abstractions for interacting with kernel maps, ring buffers, and global variables from user space.
CppGuide is a curated collection of educational resources and practical guides focused on C++ server development, Linux kernel internals, concurrent programming, network protocols, and security exploitation. It provides structured learning paths for backend developers, covering everything from interview preparation to building high-performance network servers and understanding operating system fundamentals. The guide distinguishes itself by offering in-depth, hands-on tutorials that walk through real-world implementations, including building a Redis-like server from scratch, designing custom
Describes syscalls, virtual filesystems, ioctl, mmap, ptrace, Netlink, and eBPF for user-kernel interaction.
Keepalived ist ein Hochverfügbarkeitsmanager und ein Tool für virtuelles IP-Failover, das eine kontinuierliche Dienstverfügbarkeit sicherstellt. Es koordiniert die Migration von Floating-IP-Adressen zwischen Master- und Backup-Knoten unter Verwendung des Virtual Router Redundancy Protocol, um Router-Redundanz und nahtloses Failover zu verwalten. Das Projekt zeichnet sich durch die Integration mit dem Linux-Kernel-IPVS-Modul aus, um als Load Balancer auf Transportebene zu fungieren. Es verteilt Netzwerkverkehr über Backend-Server unter Verwendung verschiedener Scheduling-Algorithmen und Weiterleitungsmethoden wie NAT, Direct Routing oder Tunneling. Das System umfasst Funktionen zur Netzwerk-Gesundheitsüberwachung unter Verwendung von TCP, HTTP und dem Bidirectional Forwarding Detection Protocol, um Ausfälle in Millisekunden zu identifizieren. Es unterstützt zudem die automatisierte Failover-Orchestrierung durch die Ausführung benutzerdefinierter Skripte, SMTP-Administrationsbenachrichtigungen und die Synchronisation von Routing-Pfaden über mehrere Instanzen hinweg. Die Software bietet eine Konfigurationsoberfläche, die Templatization, Netzwerk-Namespace-Isolierung und den Export von Systemmetriken via SNMP unterstützt.
Translates user-space configuration into Linux kernel IP Virtual Server rules for high-performance transport-layer load balancing.
FRRouting ist eine Internet-Routing-Suite, die eine Sammlung von Daemons umfasst, welche Standard-IPv4- und IPv6-Routing-Protokolle implementieren. Sie bietet eine Protokoll-Engine für BGP, einen EVPN-Netzwerkvirtualisierer und einen MPLS-Label-Manager sowie eine gRPC-Routing-Schnittstelle für die programmatische Konfiguration und Datenabfrage unter Verwendung von YANG-Modellen. Die Suite zeichnet sich durch ihre Erweiterbarkeit mittels eines Lua-Skript-Frameworks aus, das benutzerdefinierte Skripte an internen Hooks ausführt, um das Routing-Verhalten zu modifizieren. Sie verfügt zudem über ein transaktionales Konfigurationsmodell, das separate Kandidaten- und Laufzeitdatenbanken verwendet, um atomare Commits und Rollbacks von Systemeinstellungen sicherzustellen. Das Projekt deckt ein breites Spektrum an Interior- und Exterior-Gateway-Protokollen ab, einschließlich OSPF, IS-IS, EIGRP und RIP. Es unterstützt fortgeschrittenes Traffic-Engineering mittels Segment Routing und SRv6, Netzwerkvirtualisierung durch VRF-Isolierung und L3VPNs sowie umfassende Überwachung mittels SNMP und BGP Monitoring Protocol. Die Software kann durch Quellcode-Kompilierung, Cross-Architecture-Toolchains oder vorgefertigte Docker-Container-Images bereitgestellt werden.
Synchronizes routing tables and network state between the protocol suite and the underlying system kernel.