4 dépôts
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 est un gestionnaire de haute disponibilité et un outil de basculement d'IP virtuelle qui assure une disponibilité continue du service. Il coordonne la migration des adresses IP flottantes entre les nœuds maître et de sauvegarde en utilisant le protocole VRRP (Virtual Router Redundancy Protocol) pour gérer la redondance des routeurs et le basculement transparent. Le projet se distingue en s'intégrant au module IPVS du noyau Linux pour fonctionner comme un équilibreur de charge de couche transport. Il distribue le trafic réseau à travers les serveurs backend en utilisant divers algorithmes de planification et méthodes de transfert tels que NAT, routage direct ou tunneling. Le système inclut des capacités de surveillance de la santé du réseau utilisant TCP, HTTP et le protocole BFD (Bidirectional Forwarding Detection) pour identifier les défaillances en quelques millisecondes. Il prend en charge l'orchestration automatisée du basculement via l'exécution de scripts personnalisés, des alertes administratives SMTP et la synchronisation des chemins de routage à travers plusieurs instances. Le logiciel fournit une surface de configuration qui prend en charge la templétisation, l'isolation des espaces de noms réseau et l'exportation des métriques système via SNMP.
Translates user-space configuration into Linux kernel IP Virtual Server rules for high-performance transport-layer load balancing.
FRRouting est une suite de routage internet comprenant une collection de démons qui implémentent les protocoles de routage IPv4 et IPv6 standard. Elle fournit un moteur de protocole pour BGP, un virtualiseur de réseau EVPN et un gestionnaire d'étiquettes MPLS, aux côtés d'une interface de routage gRPC pour la configuration programmatique et la récupération de données en utilisant des modèles YANG. La suite se distingue par son extensibilité via un framework de script Lua qui exécute des scripts personnalisés au niveau de hooks internes pour modifier le comportement de routage. Elle dispose également d'un modèle de configuration transactionnel qui utilise des bases de données candidates et actives séparées pour assurer des commits atomiques et des rollbacks des paramètres système. Le projet couvre un large éventail de protocoles de passerelle intérieurs et extérieurs, incluant OSPF, IS-IS, EIGRP et RIP. Il prend en charge l'ingénierie de trafic avancée via Segment Routing et SRv6, la virtualisation réseau via l'isolation VRF et les L3VPN, ainsi qu'une surveillance complète via SNMP et le protocole de surveillance BGP (BMP). Le logiciel peut être déployé via la compilation à partir de la source, des chaînes d'outils multi-architectures ou des images de conteneur Docker pré-construites.
Synchronizes routing tables and network state between the protocol suite and the underlying system kernel.