Glossary
This page defines the terms and acronyms used across the documentation. It is grouped in categories to simplify fast consulting
eBPF & kernel
| Term |
Definition |
| eBPF |
Extended Berkeley Packet Filter. A virtual machine inside the Linux kernel that runs sandboxed programs in response to events (network packets, system calls, kprobes). CortexBrain uses eBPF to observe the cluster at kernel level without modifying the kernel source. |
| BPF verifier |
The kernel component that statically analyzes a BPF program before execution, ensuring it terminates safely, does not access out-of-bounds memory, and meets security constraints. |
| JIT |
Just-In-Time compiler. Translates verified BPF bytecode into native CPU instructions for maximum performance. |
| kprobe |
Kernel probe. An eBPF attach point on a kernel function entry. CortexBrain uses kprobes on tcp_v4_connect, tcp_rcv_state_process, register_netdevice, tcp_identify_packet_loss, etc. |
| uprobe |
User-space probe. An eBPF attach point on a userspace binary symbol. |
| uretprobe |
an alternative to breakpoint instructions for triggering return uprobe consumers. Calls to uretprobe() are only made from the user-space trampoline provided by the kernel |
| TC |
Traffic Control. The Linux kernel packet scheduler. CortexBrain attaches the identity_classifier eBPF program as a TC classifier on veth interfaces ingress. |
| Trampolines |
In the context of Linux this refers to locations in memory containing addresses of logic to jump to. Trampolines are also referred to as indirect jump vectors. It is a mechanism that has a number of use cases such as interrupt service routines or I/O routines. In these classic use cases the hardware hard-codes memory locations to which execution will jump when certain events such as interrupt happen. A trampoline typically jumps immediately to some other function where the actual handler lives, hence the term trampoline. reference |
| XDP |
eXpress Data Path. An eBPF attach point on the network driver, before the skb is allocated. Mentioned in the architecture diagram as a future hook. |
| PerfEventArray |
A BPF map type that pushes events from kernel to user space via a perf ring buffer. CortexBrain uses it to stream PacketLog, NetworkMetrics, TimeStampEvent to the userspace loaders and consumers. |
| BPF map |
A kernel data structure shared between eBPF programs and userspace. |
| bpffs |
The BPF filesystem, mounted at /sys/fs/bpf. Pinned BPF maps live here as files. |
| Pinning |
Persisting a BPF map to bpffs so it survives the loading process and can be opened by another process. The Identity and Metrics services pin maps; the agent opens them. |
| Aya |
The Rust eBPF framework CortexBrain uses to load, attach, and read BPF maps. See aya-rs.dev. |
CortexBrain components
| Term |
Definition |
| conntracker |
The eBPF kernel crate (core/src/components/conntracker/) that produces connection events via a TC classifier and TCP kprobes. |
| identity |
The userspace service (core/src/components/identity/) that loads the conntracker eBPF object, pins events_map and blocklist_map, seeds the blocklist from the cortexbrain-client-config ConfigMap (Kubernetes Only), and attaches the TC classifier to veths. |
| metrics_tracer |
The eBPF kernel crate (core/src/components/metrics_tracer/) that produces socket-level metrics and TCP latency via kprobes. |
| metrics |
The userspace service (core/src/components/metrics/) that loads the metrics_tracer eBPF object |
| agent |
The gRPC server crate (core/api/, binary agent-api) that opens the pinned maps, drains the perf buffers into mpsc channels, and serves the agent.Agent RPCs on :9090. |
| cfcli |
The Rust CLI client (cli/, binary cfcli) that calls the agent gRPC and manages the install/uninstall lifecycle via kubectl. |
| MCP server |
The Model Context Protocol server (mcp/, binary mcp) that exposes tools querying Prometheus, so AI assistants (opencode, Claude) can read CortexBrain metrics. See MCP Server. |
Kubernetes
| Term |
Definition |
| ClusterIP |
A Kubernetes Service type reachable only from inside the cluster. The cortexflow-agent Service is ClusterIP on port 9090. |
| port-forward |
kubectl port-forward opens a tunnel from the local host to a Kubernetes Service |
| hostPath |
A volume type that mounts a path from the host node. CortexBrain mounts /sys/fs/bpf, /proc, /lib/modules this way. |
| hostPID / hostNetwork |
Pod options that share the host PID and network namespaces. CortexBrain pods use both for eBPF visibility. |
| privileged |
A security context flag that gives a container nearly all host capabilities. CortexBrain pods require it for BPF map and kprobe access. |
| ConfigMap |
A Kubernetes object holding non-secret key-value data. cortexbrain-client-config stores the blocklist. |
| ServiceAccount |
A Kubernetes identity for pods. CortexBrain deployments currently use the default ServiceAccount. |
| RBAC |
Role-Based Access Control. The configmap-reader Roles grant the deployments read access to ConfigMaps. |
Networking
| Term |
Definition |
| veth |
Virtual Ethernet pair. The per-pod network interface created by Container Networking Interfaces (CNI) |
| TC classifier |
A Traffic Control program that classifies packets. |
| ingress / egress |
Incoming / outgoing traffic directions. The TC classifier is attached on ingress. |
| TCP handshake |
The SYN -> SYN-ACK -> ACK exchange that establishes a TCP connection. The tcp_connect and tcp_rcv_state_process kprobes measure the time spent in TCP_SYN_SENT as the connection latency. |
struct sock |
The kernel structure representing a socket. The metrics_tracer kprobe reads its fields (sk_drops, sk_err, sk_backlog_len, ...) at hardcoded offsets. |
Observability
| Term |
Definition |
| OpenTelemetry (OTel) |
The CNCF standard for observability data. |
| OTLP |
OpenTelemetry Protocol. The gRPC/HTTP transport for OTel data. The exporter is at localhost:4317 (gRPC) or localhost:4318 (HTTP) by default. |
| Prometheus |
A metrics database that scrapes and stores time-series. The MCP server queries it at localhost:9090. |
| Counter |
An OTel instrument that only increases (e.g. events_total). |
| Gauge |
An OTel instrument that can go up or down. |
| Histogram |
An OTel instrument that records a distribution (e.g. latency_us). |
| mpsc channel |
Multi-producer, single-consumer channel from the Rust tokio library. The agent uses mpsc channels to move events from the reader tasks to the gRPC handlers. |
Model Context Protocol (MCP)
| Term |
Definition |
| Model Context Protocol |
The Anthropic standard for exposing tools, resources, and prompts to LLM-based assistants. |
| stdio transport |
The MCP transport that uses the process stdin/stdout for JSON-RPC. The CortexBrain MCP server uses this. |
| tool |
An MCP capability that lets the assistant call a function. The CortexBrain MCP server exposes tools querying Prometheus. |
| resource |
An MCP capability that lets the assistant read data. CortexBrain does not currently expose resources. |
| prompt |
An MCP capability that lets the assistant use a templated prompt. CortexBrain does not currently expose prompts. |
| ServerInfo |
The MCP initialize response containing the server name, version, and capabilities. |
| ToolRouter |
The rmcp component that dispatches tools/call requests to the matching handler method. |
| rmcp |
The Rust MCP SDK crate used by the CortexBrain MCP server. |