4 repository-uri
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 este un manager de înaltă disponibilitate și un instrument de failover pentru IP-uri virtuale care asigură disponibilitatea continuă a serviciilor. Acesta coordonează migrarea adreselor IP flotante între nodurile master și backup folosind Virtual Router Redundancy Protocol pentru a gestiona redundanța routerelor și failover-ul fără întreruperi. Proiectul se distinge prin integrarea cu modulul IPVS al kernel-ului Linux pentru a funcționa ca un load balancer la nivel de transport. Acesta distribuie traficul de rețea între serverele backend folosind diverse algoritmi de programare și metode de forwardare, cum ar fi NAT, rutare directă sau tunelare. Sistemul include capabilități de monitorizare a sănătății rețelei folosind TCP, HTTP și protocolul Bidirectional Forwarding Detection pentru a identifica defecțiunile în milisecunde. De asemenea, suportă orchestrarea automată a failover-ului prin execuția de scripturi personalizate, alerte administrative SMTP și sincronizarea căilor de rutare între mai multe instanțe. Software-ul oferă o suprafață de configurare care suportă templatizarea, izolarea namespace-urilor de rețea și exportul metricilor de sistem prin SNMP.
Translates user-space configuration into Linux kernel IP Virtual Server rules for high-performance transport-layer load balancing.
FRRouting este o suită de rutare internet care cuprinde o colecție de daemoni ce implementează protocoale de rutare standard IPv4 și IPv6. Oferă un motor de protocol pentru BGP, un virtualizator de rețea EVPN și un manager de etichete MPLS, alături de o interfață de rutare gRPC pentru configurare programatică și preluarea datelor folosind modele YANG. Suita se distinge prin extensibilitatea sa printr-un framework de scripting Lua care execută scripturi personalizate la hook-uri interne pentru a modifica comportamentul de rutare. De asemenea, dispune de un model de configurare tranzacțional care utilizează baze de date separate pentru „candidate” și „running” pentru a asigura commit-uri atomice și rollback-uri ale setărilor de sistem. Proiectul acoperă o gamă largă de protocoale gateway interioare și exterioare, inclusiv OSPF, IS-IS, EIGRP și RIP. Suportă ingineria avansată a traficului prin Segment Routing și SRv6, virtualizarea rețelei prin izolarea VRF și L3VPN-uri, și monitorizarea cuprinzătoare prin SNMP și BGP Monitoring Protocol. Software-ul poate fi implementat prin compilare din sursă, toolchain-uri cross-architecture sau imagini de container Docker pre-construite.
Synchronizes routing tables and network state between the protocol suite and the underlying system kernel.