4 repositorios
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 es un gestor de alta disponibilidad y herramienta de failover de IP virtual que garantiza la disponibilidad continua del servicio. Coordina la migración de direcciones IP flotantes entre nodos maestros y de respaldo utilizando el protocolo de redundancia de enrutador virtual (VRRP) para gestionar la redundancia de enrutadores y el failover sin interrupciones. El proyecto se distingue por integrarse con el módulo IPVS del kernel de Linux para funcionar como un balanceador de carga de capa de transporte. Distribuye el tráfico de red entre servidores backend utilizando varios algoritmos de programación y métodos de reenvío como NAT, enrutamiento directo o tunelización. El sistema incluye capacidades de monitoreo de salud de red utilizando TCP, HTTP y el protocolo de detección de reenvío bidireccional (BFD) para identificar fallas en milisegundos. Además, admite la orquestación de failover automatizada a través de la ejecución de scripts personalizados, alertas administrativas SMTP y la sincronización de rutas de enrutamiento entre múltiples instancias. El software proporciona una superficie de configuración que admite la creación de plantillas, el aislamiento de espacios de nombres de red y la exportación de métricas del sistema a través de SNMP.
Translates user-space configuration into Linux kernel IP Virtual Server rules for high-performance transport-layer load balancing.
FRRouting es una suite de enrutamiento de internet que comprende una colección de daemons que implementan protocolos de enrutamiento IPv4 e IPv6 estándar. Proporciona un motor de protocolo para BGP, un virtualizador de red EVPN y un gestor de etiquetas MPLS, junto con una interfaz de enrutamiento gRPC para la configuración programática y la recuperación de datos utilizando modelos YANG. La suite se distingue por su extensibilidad a través de un framework de scripting Lua que ejecuta scripts personalizados en hooks internos para modificar el comportamiento de enrutamiento. También cuenta con un modelo de configuración transaccional que utiliza bases de datos candidatas y en ejecución separadas para garantizar commits atómicos y reversiones de la configuración del sistema. El proyecto cubre una amplia gama de protocolos de puerta de enlace interior y exterior, incluyendo OSPF, IS-IS, EIGRP y RIP. Admite ingeniería de tráfico avanzada a través de Segment Routing y SRv6, virtualización de red a través de aislamiento VRF y L3VPNs, y monitoreo integral a través de SNMP y BGP Monitoring Protocol. El software se puede desplegar mediante compilación de fuente, cadenas de herramientas de arquitectura cruzada o imágenes de contenedor Docker preconstruidas.
Synchronizes routing tables and network state between the protocol suite and the underlying system kernel.