eBPF for Deep Packet Visibility: Incoming Packet Insights
The digital arteries of modern enterprise pulse with an unprecedented volume of data, traversing intricate networks at dizzying speeds. In this complex, distributed landscape, the ability to peer into the very flow of information—down to individual packets—is no longer a luxury but an existential necessity. Deep packet visibility is the foundational bedrock upon which robust security, optimal performance, and agile troubleshooting are built. Yet, traditional methods often falter, struggling to keep pace with the ephemeral nature of cloud-native architectures, the sheer volume of traffic, and the ever-increasing demands for real-time insights. Enterprises grapple with performance bottlenecks that elude conventional diagnostics, insidious security threats that camouflage within legitimate traffic, and compliance mandates that demand an unblinking eye on every data exchange. The quest for profound understanding of incoming packets, those initial whispers and shouts that define network interactions, has driven engineers to seek more sophisticated, less intrusive, and profoundly more powerful solutions.
This extensive exploration delves into a revolutionary technology that is fundamentally transforming the realm of network observability: eBPF (extended Berkeley Packet Filter). At its core, eBPF is a powerful, highly flexible, and incredibly efficient framework within the Linux kernel, allowing custom programs to run in a safe, sandboxed environment without altering kernel source code or loading traditional kernel modules. It provides an unprecedented vantage point into the operating system's inner workings, particularly its networking stack. For deep packet visibility, eBPF offers an unparalleled capability to intercept, inspect, filter, and process incoming packets at various critical junctures within the kernel, providing granular insights that were previously unattainable without significant performance overhead or system instability. This article will meticulously unpack how eBPF empowers network professionals to unlock profound understanding of incoming packet dynamics, transforming network management, security, and performance optimization from reactive guesswork into proactive, data-driven mastery. We will explore its mechanisms, applications, and the ecosystem of tools that make this transformative technology accessible, ensuring that every incoming packet no longer arrives as a mystery, but as a legible narrative of network activity.
The Labyrinth of Network Visibility Challenges in the Modern Era
The evolution of computing infrastructure has ushered in an era of unprecedented complexity, fundamentally redefining the challenges associated with network visibility. Gone are the days of monolithic applications running on a handful of servers behind a single firewall. Today's ecosystems are characterized by dynamic microservices, ephemeral containers, serverless functions, multi-cloud deployments, and an explosion of IoT devices, all communicating across vast, interconnected networks. This architectural shift, while offering immense benefits in terms of scalability and agility, has inadvertently created a veritable labyrinth for network administrators and security professionals attempting to gain comprehensive visibility.
One of the most significant hurdles stems from the sheer volume and velocity of network traffic. Modern data centers and cloud environments routinely handle petabytes of data per day, with individual servers processing millions of packets per second. Traditional packet capture tools, such as tcpdump, while invaluable for focused debugging, quickly become overwhelmed in such high-volume scenarios. Capturing and storing full packet data across an entire network fabric is not only prohibitively expensive but also computationally intensive, often introducing its own performance degradation. Furthermore, analyzing such vast datasets manually is a Sisyphean task, making it incredibly difficult to distill actionable insights from the noise.
Another critical limitation lies in the "black box" nature of kernel-level operations and hypervisor environments. Conventional monitoring tools typically operate from user space, relying on system calls or exposed metrics to infer network behavior. However, a significant portion of packet processing, filtering, and routing occurs deep within the operating system kernel or within the hypervisor layer of virtualized environments. This kernel space has historically been opaque, accessible only through intrusive kernel modules that carry inherent risks of system instability or security vulnerabilities, or through coarse-grained statistics that lack the necessary granularity for deep analysis. Consequently, critical events like packet drops due to buffer overflows, specific TCP/IP stack misconfigurations, or subtle race conditions often remain invisible, frustrating attempts to diagnose elusive performance issues.
The rise of encryption further complicates matters. With TLS/SSL becoming ubiquitous across nearly all internet traffic and even within internal networks (e.g., mTLS in service meshes), the payload of packets is often encrypted from end-to-end. While essential for security and privacy, this encryption significantly hampers deep packet inspection capabilities for security tools that rely on analyzing application-layer data. While eBPF doesn't decrypt traffic itself, its ability to analyze metadata and unencrypted headers at various layers, and correlate network events with process information, still provides critical insights into encrypted flows without compromising their confidentiality.
Moreover, the shift towards distributed microservices architectures means that network communication often occurs within the same host (e.g., between containers via localhost or Unix domain sockets) or across virtual networks that are abstracted away from physical infrastructure. Tracing these "east-west" traffic flows, understanding their latency, and identifying communication patterns between specific services becomes incredibly challenging when traditional tools focus primarily on "north-south" (internet-facing) traffic or rely on physical network taps.
The impact of these visibility challenges reverberates across multiple facets of IT operations. For security teams, the inability to discern malicious activity from legitimate traffic in real-time opens vast windows for exploits, insider threats, and data exfiltration. Without deep insights, zero-day attacks can propagate undetected, and forensic investigations become protracted and incomplete. For operations and DevOps teams, persistent performance issues, often manifesting as intermittent service degradation or application timeouts, can consume countless hours of debugging, leading to frustration, service level agreement (SLA) breaches, and ultimately, user dissatisfaction. The elusive nature of these problems, often rooted in subtle network interactions or kernel-level inefficiencies, demands a diagnostic capability that transcends the limitations of conventional tools.
Finally, the increasing complexity also complicates API management. Many modern applications rely heavily on API calls, and while an API gateway might provide high-level metrics on these interactions, it typically lacks the low-level network insight into why a particular API call is slow from a packet perspective, or if the network path to the gateway itself is experiencing issues. The lack of deep visibility into the underlying network prevents a holistic understanding of end-to-end service performance and security for API-driven systems. The imperative, therefore, is to find a mechanism that can safely, efficiently, and comprehensively peer into these intricate network interactions, irrespective of their origin or destination, and to do so without becoming a bottleneck itself.
Introducing eBPF: A Paradigm Shift in Kernel Observability
Against the backdrop of these formidable network visibility challenges, eBPF emerges as a truly transformative technology, offering a fundamental paradigm shift in how we observe, analyze, and interact with the Linux kernel. Extended Berkeley Packet Filter is not merely an incremental improvement; it represents a revolutionary capability that fundamentally redefines the boundaries of what is possible in system and network introspection.
At its core, eBPF can be understood as a highly efficient, in-kernel virtual machine that allows users to run custom programs safely within the operating system kernel. These programs are not arbitrary executables; rather, they are small, sandboxed code snippets that respond to specific kernel events. This "event-driven programming" model, operating entirely within the kernel's privileged space, grants eBPF programs unparalleled access to system-level information and control, without requiring modifications to the kernel source code or the potentially destabilizing act of loading traditional kernel modules.
The genesis of eBPF can be traced back to the original Berkeley Packet Filter (BPF), which was designed in the early 1990s to efficiently filter packets in user space for tools like tcpdump. Over time, its capabilities were significantly extended, leading to the "extended BPF" we know today. Modern eBPF can attach programs to a vast array of kernel "hooks" – specific points where code execution can be intercepted. These hooks include system calls, function entries and exits (kprobes/uprobes), tracepoints, network device drivers, traffic control ingress/egress, and socket operations, among many others.
The mechanism by which eBPF achieves its power and safety is ingenious. When an eBPF program is loaded into the kernel, it first undergoes a rigorous verification process by the kernel's eBPF verifier. This verifier ensures that the program is safe to execute, meaning it won't crash the kernel, loop indefinitely, or access unauthorized memory. It checks for memory safety, termination guarantees, and privilege escalation issues. Once verified, the eBPF bytecode is then Just-In-Time (JIT) compiled into native machine code specific to the CPU architecture. This JIT compilation is critical for performance, allowing eBPF programs to run with near-native speed, significantly outperforming traditional interpreted approaches.
This unique combination of safety, efficiency, and flexibility confers several key advantages over traditional kernel modules or user-space monitoring tools:
- Safety: The kernel verifier is a robust guardian, preventing malicious or buggy eBPF programs from compromising system stability or security. This assurance is paramount in production environments where kernel panics are catastrophic.
- Efficiency: JIT compilation allows eBPF programs to execute with minimal overhead, often making decisions and performing actions in nanoseconds. This enables high-fidelity data collection even under extreme network load, where other methods would buckle.
- Flexibility: The ability to write custom programs means eBPF can be tailored to an almost limitless array of specific monitoring, security, and performance optimization tasks. It's not limited to a predefined set of metrics or actions.
- Rich Context: eBPF programs can access a wealth of kernel context at the point of execution – network packet data, process information (PID, UID), CPU details, timestamps, and more. This contextual richness is vital for deep analysis.
- Non-Intrusiveness: eBPF programs run in a sandboxed environment and are dynamically loaded and unloaded. They do not require kernel recompilation, system reboots, or modifications to running applications, making them ideal for live production systems.
- Extensibility: eBPF programs can communicate with user-space applications via shared data structures called eBPF maps. These maps facilitate efficient data aggregation, filtering, and configuration from user space, creating a powerful feedback loop.
Compared to traditional kernel modules, which require precise kernel version matching, careful debugging to avoid system crashes, and the daunting process of distribution and updating, eBPF is a breath of fresh air. It democratizes kernel-level insights, making it accessible to a broader range of developers and operations teams. This paradigm shift means that complex, low-level network challenges, previously shrouded in obscurity, can now be illuminated with precision and agility. From observing the exact path an incoming packet takes through the kernel's network stack to understanding why an API call experiences latency at the transport layer, eBPF provides the magnifying glass required for modern digital forensics and proactive system management, effectively transforming the Linux kernel into an Open Platform for dynamic, programmable observability.
eBPF for Deep Packet Visibility: The Core Mechanism
The true power of eBPF for deep packet visibility lies in its ability to intercept and process network packets at various critical junctures within the Linux kernel's network stack. This granular control allows for unprecedented insight into the lifecycle of an incoming packet, from its arrival at the network interface card (NIC) to its ultimate delivery to an application or its subsequent egress. Understanding these attachment points and the data extraction capabilities they offer is fundamental to leveraging eBPF effectively.
Packet Processing Stages and eBPF Hooks
eBPF programs can be strategically attached to several key points in the network data path, each offering a unique perspective and set of capabilities:
- XDP (eXpress Data Path): This is arguably the earliest and most performant point of attachment. An XDP program runs directly on the network driver's receive queue, before the packet has been fully processed by the kernel's networking stack and memory allocated for it. This "pre-stack" execution makes XDP ideal for extremely high-performance packet processing, such as:
- Early Drop: Instantly dropping malicious or unwanted packets (e.g., DDoS mitigation, invalid packets) at line rate, preventing them from consuming further kernel resources.
- Load Balancing: High-speed packet redirection for custom load balancing solutions, even before the TCP/IP stack processes the connection.
- Custom Forwarding: Implementing specialized routing or forwarding logic.
- Sampling: Collecting statistics or samples of incoming packets with minimal overhead. XDP programs operate with minimal context, primarily dealing with raw packet data, making them perfect for extremely low-latency, high-throughput operations.
- TC (Traffic Control) Hooks: eBPF programs can be attached to the Linux traffic control ingress and egress points. These hooks occur later in the packet's journey than XDP, allowing for more sophisticated filtering, manipulation, and classification. At the TC ingress hook, the packet has already been received by the NIC driver and has some basic kernel context. This position allows for:
- Advanced Filtering: Complex filtering rules based on multiple header fields (e.g., source/destination IP, port, protocol, flags), enabling fine-grained control over which packets are allowed to proceed or are subject to further processing.
- Traffic Shaping and Prioritization: Implementing custom quality of service (QoS) policies.
- Packet Redirection: Directing packets to different network namespaces or interfaces.
- Mirroring/Monitoring: Copying packets for out-of-band analysis. TC hooks provide a balance between performance and the richness of available kernel context, making them suitable for a broader range of network management tasks compared to the raw power of XDP.
- Socket Filters: eBPF programs can be attached to sockets, allowing them to filter packets before they are delivered to a user-space application associated with that socket. This provides application-specific visibility and control. For instance:
- Application-Specific Filtering: Dropping packets for a specific application based on its internal state or protocol interpretation.
- Monitoring Socket Activity: Observing which packets are actually being consumed by an application process, providing a crucial link between network and application performance.
- Connection Tracking: Building custom connection trackers that go beyond the kernel's default conntrack module, potentially with application-level awareness.
sock_opsandsock_map: These eBPF types allow for sophisticated manipulation of TCP connections and redirection of sockets.sock_opscan modify TCP connection parameters (e.g., congestion control algorithms) or perform actions based on connection state, whilesock_mapcan redirect connections to different sockets, enabling highly efficient, in-kernel load balancing or proxying for things like transparentgatewayfunctionalities for certain protocols.
Data Extraction Capabilities
Regardless of the attachment point, eBPF programs are incredibly adept at extracting detailed information from packets. They can access:
- Layer 2 Headers: MAC addresses (source and destination), VLAN tags.
- Layer 3 Headers: IP addresses (source and destination), IP protocol, TTL (Time-To-Live), IP flags, fragmentation information.
- Layer 4 Headers: TCP/UDP source and destination ports, TCP flags (SYN, ACK, FIN, RST), sequence and acknowledgment numbers, window sizes, UDP checksums.
- Payload Inspection: While generally avoided for performance reasons on full packets, eBPF can perform limited payload inspection for specific patterns or magic numbers, especially after checking header fields. This might be used to identify specific application protocols (e.g., first few bytes of an
APIrequest). - Metadata: Beyond the packet itself, eBPF programs can access rich kernel context, including:
- Timestamps: High-precision timestamps of when the packet arrived or was processed.
- CPU Information: The CPU core that processed the packet.
- Interface Index: The network interface on which the packet arrived.
- Process Context: For some hooks, information about the user-space process associated with the network activity (PID, UID), allowing for direct correlation of network events with application behavior.
Programmability with eBPF Maps and Helpers
The true power of eBPF stems from its programmability. Instead of rigid, predefined filters, eBPF allows developers to write custom C-like programs that implement arbitrary logic. These programs can:
- Count Packets/Bytes: Track network statistics with extreme precision for specific flows, protocols, or applications. For example, counting
apirequests to a particular service by inspecting destination port and perhaps initial payload bytes. - Filter Based on Complex Rules: Combine multiple header fields, port ranges, and even simple pattern matching to accept, drop, or redirect packets.
- Modify Packet Headers (Limited): Though less common for incoming visibility, eBPF can modify certain header fields (e.g., TTL, checksums) for specific use cases like transparent proxies or network address translation at the kernel level.
- Generate Events/Metrics: Push aggregated data or specific event notifications to user space via eBPF maps or perf events.
eBPF maps are critical shared data structures that allow eBPF programs to store state and communicate with user-space applications. They come in various types (hash maps, array maps, LIFO/FIFO maps, LPM Trie maps for longest prefix match routing lookups) and are essential for:
- Aggregating Statistics: Counting connections, bytes per flow, or specific event occurrences (e.g., number of incoming
apirequests per minute). - Configuration: User-space applications can update map entries to dynamically change the behavior of running eBPF programs (e.g., blacklisting an IP address in real-time).
- Stateful Processing: Storing connection state or other contextual information across multiple packet events.
eBPF helper functions are a set of well-defined, stable kernel functions that eBPF programs can call to perform common operations, such as accessing map data, sending network packets, getting current time, or manipulating packet buffers. These helpers provide a safe and controlled interface for eBPF programs to interact with the kernel's functionalities.
By strategically deploying eBPF programs at these diverse attachment points, coupled with their robust data extraction and programmable logic, network engineers can construct a comprehensive, real-time tapestry of incoming packet insights. This deep understanding moves beyond simple traffic counters, enabling the diagnosis of intricate network issues, the proactive identification of security threats, and the optimization of service delivery that powers modern Open Platform applications and API-driven architectures.
Incoming Packet Insights: What eBPF Reveals
The capabilities of eBPF unlock a new frontier of insights into incoming packets, providing a level of detail and context that was previously difficult or impossible to achieve. These insights are critical across all facets of network management, from day-to-day operations and performance tuning to advanced security postures and regulatory compliance.
Real-time Traffic Analysis and Performance Monitoring
With eBPF, network administrators can move beyond historical data and gain unparalleled real-time understanding of traffic patterns and network performance.
- Granular Bandwidth and Throughput Metrics: eBPF programs can meticulously track incoming bytes and packets per specific criteria: per IP address, per port, per application, per container, or even per service mesh
APIendpoint. This allows for immediate identification of bandwidth hogs, unexpected traffic surges, or underutilized resources. For example, an XDP program could count incoming traffic destined for specificgatewayports, providing immediate visibility into the aggregate load before it even hits the main network stack. - Latency Analysis at the Kernel Level: By timestamping packets at different eBPF hooks (e.g., XDP ingress, TC ingress, socket receive), it becomes possible to precisely measure the time packets spend within different kernel stages. This allows for pinpointing sources of latency, whether it's an overloaded NIC driver, a congested kernel buffer, or a slow path through the network stack before an
apirequest even reaches the application layer. This granular timing can reveal issues that are invisible to application-level profilers. - Identifying Traffic Bursts and Anomalies: Real-time stream processing of eBPF-derived metrics enables immediate detection of unusual traffic patterns. A sudden spike in incoming connection attempts, an abnormal increase in traffic to a specific port, or a change in the average packet size can all be flagged instantly. This is crucial for detecting nascent performance issues or potential attack vectors.
- Packet Drop Analysis: One of the most frustrating aspects of network troubleshooting is invisible packet loss. eBPF can attach to various points in the kernel to precisely count where and why packets are being dropped. Was it due to full receive queues, invalid checksums, memory allocation failures, or firewall rules? Knowing the exact reason and location of drops provides invaluable diagnostic information, preventing hours of speculative debugging.
Security Monitoring and Threat Detection
eBPF's ability to operate at the kernel level with high fidelity makes it an incredibly potent tool for enhancing network security, particularly in detecting and mitigating threats from incoming traffic.
- DDoS and Flood Attack Detection: XDP programs can act as ultra-fast, in-kernel firewalls. By inspecting incoming packets at the earliest possible stage, they can quickly identify and drop packets associated with SYN floods, UDP amplification attacks, or ICMP floods based on source IP, rate limits, or packet patterns. This proactive mitigation prevents malicious traffic from consuming valuable CPU cycles and memory further up the stack. Observing connection attempts to a public
gatewayforAPIs and quickly identifying source IPs with unusually high rates can trigger immediate blocking. - Malware and Intrusion Detection: While full deep packet inspection of encrypted traffic is limited, eBPF can still monitor for indicators of compromise (IoCs) in unencrypted headers or metadata. This includes identifying unusual source/destination IP pairs, non-standard port usage, or patterns indicative of C2 (command and control) traffic. By correlating network flows with process information, eBPF can identify which specific process might be generating or receiving suspicious network activity.
- Unauthorized Access Attempts: Monitoring for incoming connection attempts to sensitive ports or services from unauthorized IP ranges can be precisely implemented with eBPF. This allows for real-time alerts and automatic blocking, augmenting traditional firewall rules with dynamic, programmable logic.
- Identifying Stealthy Communication Channels: Attackers often try to hide their communication. eBPF can monitor for unusual protocols, tunnel attempts, or packets with abnormal flag combinations that might indicate covert channels, even within seemingly legitimate traffic flows.
Performance Optimization and Troubleshooting
Beyond basic monitoring, eBPF provides the deep insights necessary for proactive performance optimization and rapid troubleshooting of complex network and application issues.
- Pinpointing Network Bottlenecks: By analyzing various metrics – latency, packet drops, queue lengths, CPU utilization per network operation – eBPF helps identify the exact point of contention within the network stack or hardware. This could be an overloaded NIC, a saturated network buffer, or even inefficient kernel processing paths.
- Application-Level Latency via Network Context: While application performance monitoring (APM) tools focus on application code execution, eBPF bridges the gap by providing the network context. When an
APIcall is reported as slow, eBPF can reveal if the network round-trip time was excessive, if packets were dropped en route, or if the server's network stack was overwhelmed before theAPIendpoint even saw the request. This provides a holistic view of theAPI's performance journey. - Understanding Kernel Bypass Techniques: Technologies like DPDK or SR-IOV aim to bypass the kernel's network stack for ultra-low latency. eBPF can still play a role in monitoring these flows, providing visibility into the "bypass" path or verifying that traffic is indeed being handled as expected by specialized hardware.
- TCP Congestion Control Analysis: eBPF can intercept and analyze TCP connection parameters, including congestion window sizes, retransmission rates, and round-trip times, allowing for precise tuning of congestion control algorithms or identification of network paths that are causing excessive retransmissions.
Compliance and Auditing
The detailed, auditable records that eBPF can generate are invaluable for meeting regulatory compliance requirements and performing comprehensive security audits.
- Detailed Network Activity Logs: eBPF can log specific metadata about every incoming packet, providing an immutable record of network interactions. This includes source/destination IPs and ports, timestamps, packet sizes, and potentially associated process IDs. Such logs are crucial for forensic investigations and proving compliance with data handling policies.
- Policy Enforcement Verification: Organizations often have strict policies regarding network access and data flow. eBPF can continuously monitor incoming traffic to verify that these policies are being adhered to, alerting immediately if a violation occurs (e.g., traffic from a restricted IP range attempting to access a sensitive internal resource).
- Security
GatewayMonitoring: For organizations using networkgatewaydevices, eBPF can provide an independent, kernel-level verification of the traffic processed by thegateway, ensuring its filters and policies are effectively applied and identifying any anomalies that might slip through.
By providing these deep, real-time insights, eBPF empowers organizations to not only react to network issues faster but also to proactively optimize their infrastructure, fortify their security posture, and maintain strict compliance. It transforms the often-opaque world of network packets into a transparent, observable domain, ensuring that every incoming bit of data contributes to a clearer understanding of the overall system health and security.
APIPark is a high-performance AI gateway that allows you to securely access the most comprehensive LLM APIs globally on the APIPark platform, including OpenAI, Anthropic, Mistral, Llama2, Google Gemini, and more.Try APIPark now! 👇👇👇
Advanced eBPF Techniques for Packet Inspection
While the basic principles of eBPF for deep packet visibility are themselves powerful, the true sophistication and adaptability of the technology become apparent when exploring more advanced techniques. These methods leverage eBPF's inherent flexibility to build highly contextualized, stateful, and performant packet inspection solutions.
Context and Metadata Enrichment
One of eBPF's standout features is its ability to seamlessly bridge the gap between low-level network events and high-level application or system context. This correlation is crucial for transforming raw packet data into actionable intelligence.
- Correlating Network Events with Process IDs (PIDs) and Container IDs: When an eBPF program attaches to a socket or a system call related to network activity, it can access the
task_struct(kernel's representation of a process) for the current process. This allows it to identify the PID, UID, command name, and potentially even the cgroup/namespace ID (for containers) associated with a specific incoming packet or connection. This means that instead of merely seeing traffic to port 80, an eBPF program can identify that "Container X, running Nginx, received this HTTP request." This correlation is indispensable for microservices observability, allowing operators to attribute network issues directly to specific applications or services. - Adding Geographic or Organizational Context: While eBPF operates at the kernel level, the data it collects can be enriched in user space. For instance, an eBPF program might extract a source IP address for an incoming connection. A user-space daemon can then perform a GeoIP lookup, a DNS reverse lookup, or query an internal asset management database to add context like "this packet originated from Europe," or "this packet is from a known partner network." This fusion of kernel-derived network data with external metadata creates a richer, more meaningful picture for security and operational analysis.
- Tracing Across Network Namespaces: In containerized environments, applications often reside in separate network namespaces. eBPF can trace packet flows across these namespace boundaries, providing end-to-end visibility for inter-container communication or traffic flowing from a containerized application through the host network stack and out to the external network. This demystifies the complex networking behavior of cloud-native applications.
Program Chaining and Complex Logic
eBPF programs are not isolated entities; they can be designed to work in concert, forming a chain of processing that enables highly sophisticated and stateful packet inspection.
- Multiple eBPF Programs Working Together: It's possible to attach multiple eBPF programs to the same hook point, or to different hook points that are part of the same packet's journey. For example, an XDP program might perform initial high-speed filtering and load balancing, then pass a "clean" packet up to the kernel where a TC eBPF program performs more in-depth analysis or applies QoS policies. This chaining allows for modular and layered packet processing.
- Stateful Packet Inspection with eBPF Maps: Traditional eBPF programs are typically stateless, processing each packet independently. However, by leveraging eBPF maps, programs can achieve statefulness. For instance, an eBPF program can use a map to store connection state (e.g., source/destination IP/port, TCP sequence numbers, connection flags). Subsequent incoming packets for the same connection can then look up this state in the map, allowing for:
- Connection Tracking Beyond
conntrack: Building custom, highly optimized connection trackers that can implement specialized logic or handle specific protocols more efficiently. - Rate Limiting per Connection: Enforcing rate limits not just per source IP, but per active connection, preventing individual connections from monopolizing resources.
- Protocol Fuzzing Detection: Identifying malformed protocol sequences over time within a connection. This ability to maintain state within the kernel, without expensive context switches to user space, is a game-changer for sophisticated network firewalls, intrusion prevention systems, and application-aware load balancers.
- Connection Tracking Beyond
Offloading and Hardware Acceleration
eBPF is increasingly moving beyond just software-based kernel processing, extending its reach into network hardware for even greater performance.
- eBPF in SmartNICs and Programmable Network Devices: The trend towards "SmartNICs" or "programmable NICs" allows network processing to be offloaded from the host CPU directly onto specialized hardware on the network card itself. Many of these SmartNICs are designed to execute eBPF programs. This means that high-speed packet filtering, load balancing, or even initial security checks can be performed directly on the NIC at line rate, without even touching the host CPU. This pushes the performance envelope for deep packet visibility to its absolute limit, essential for hyperscale data centers and demanding network functions.
- Pushing Processing to the Edge: By enabling eBPF execution directly on network devices, processing moves closer to the "edge" of the network. This reduces latency, minimizes the load on central CPUs, and allows for more immediate responses to network events. For incoming packets, this means an initial security check or routing decision can be made microseconds after the packet arrives on the wire, drastically improving efficiency and reducing the attack surface.
- Hardware Acceleration Integration: As eBPF capabilities mature, there's increasing integration with other hardware acceleration technologies. This synergy allows for even more robust and efficient solutions, whether it's for cryptographic offload, dedicated packet processing units, or specialized routing engines that can be programmed dynamically via eBPF.
These advanced techniques demonstrate that eBPF is far more than a simple packet filter. It is a robust, extensible, and high-performance framework that empowers network engineers to build highly intelligent, context-aware, and hardware-accelerated solutions for deep packet visibility. This continuous evolution makes eBPF an indispensable tool for managing the complexity, performance, and security of modern network infrastructures, from containerized Open Platform applications to global API gateway deployments.
Deploying eBPF for Packet Visibility: Tools and Ecosystem
While the underlying eBPF technology resides deep within the Linux kernel, a vibrant and rapidly expanding ecosystem of tools, libraries, and frameworks makes it accessible and manageable for developers and network operators. Understanding these components is key to successfully deploying eBPF for deep packet visibility.
Key eBPF Frameworks and Libraries
Developing eBPF programs directly in low-level C and managing their lifecycle can be challenging. Fortunately, several projects abstract away much of this complexity:
- BCC (BPF Compiler Collection): BCC is a powerful toolkit for creating efficient kernel tracing and manipulation programs. It provides a Python front-end that simplifies writing eBPF programs. Developers can embed C code for the eBPF programs directly within Python scripts, and BCC handles the compilation (using LLVM), loading, and interaction with eBPF maps. This makes BCC incredibly user-friendly for rapid prototyping, debugging, and for writing "one-off" eBPF scripts to diagnose specific issues. It's an excellent entry point for many looking to explore eBPF's capabilities, especially for tracing and performance analysis.
- libbpf: For more robust, production-grade eBPF applications,
libbpfis the go-to C/C++ library. It offers a more direct and efficient way to interact with eBPF, minimizing overhead.libbpfuses "BPF CO-RE" (Compile Once – Run Everywhere) technology, which allows eBPF programs to be compiled once and then run on different kernel versions, automatically adapting to kernel struct layout changes. This significantly improves portability and maintainability for complex eBPF applications. Most modern eBPF projects, especially those designed for long-running services, leveragelibbpf. bpftool: This is the official Linux kernel utility for inspecting and managing eBPF programs and maps. It's a command-line interface that allows users to list loaded eBPF programs, examine their bytecode, view map contents, attach/detach programs, and perform various other administrative tasks.bpftoolis an essential tool for debugging and operational management of eBPF deployments.- Aya (Rust): For developers preferring Rust, Aya provides a modern framework for writing eBPF programs and their user-space counterparts. It leverages Rust's safety and performance characteristics, offering an increasingly popular alternative to C/C++ for complex eBPF development.
Observability Platforms Leveraging eBPF
The raw power of eBPF is often harnessed by sophisticated observability platforms that provide comprehensive, integrated solutions for monitoring, security, and networking in cloud-native environments.
- Cilium: This is perhaps the most prominent project leveraging eBPF for networking, security, and observability in Kubernetes and other container orchestration systems. Cilium replaces traditional
kube-proxyandiptableswith eBPF programs, offering vastly superior performance, advanced networking capabilities (e.g., transparent encryption), and fine-grained network policy enforcement at the Layer 3/4 and even Layer 7 levels. For deep packet visibility, Cilium's Hubble component provides rich, real-time observability into service-to-service communication, including network flows, DNS lookups, and HTTP/gRPCAPIcalls, all powered by eBPF. It transforms network packet information into easily digestible service graph data. - Falco: While primarily known as a cloud-native runtime security tool, Falco can utilize eBPF to monitor system calls and other kernel events, including network interactions. It allows defining rules to detect anomalous behavior, such as a process attempting to establish an outbound connection to a suspicious IP after receiving an incoming packet, or unauthorized file access triggered by an incoming
apirequest. Its eBPF integration enhances its ability to detect security threats directly within the kernel. - Pixie: A cloud-native observability platform for Kubernetes, Pixie uses eBPF to automatically collect telemetry data from applications and services, including full-body
APItraces, network flow data, resource metrics, and application profiles. It achieves this without requiring any code changes or manual instrumentation, by deploying eBPF programs across the cluster to capture data directly from the kernel. This provides deep, "zero-instrumentation" visibility into incoming and outgoing traffic and application behavior. - Tetragon: Another security-focused project from Cilium's creators, Tetragon uses eBPF to provide real-time, deep visibility into the runtime behavior of applications, including file access, process execution, and network connections. It focuses on security observability and enforcement at the kernel level, allowing for detection of complex attack chains that might start with an incoming malicious packet and propagate through process execution and file system modifications.
These platforms often integrate eBPF-derived data with popular visualization tools like Prometheus and Grafana, providing dashboards and alerts that translate low-level kernel events into high-level operational insights.
The Power of an "Open Platform"
eBPF itself, as an integral part of the Linux kernel and developed collaboratively by a global community, embodies the spirit of an Open Platform. Its open-source nature fosters innovation, encourages widespread adoption, and ensures transparency and security through community vetting. This open ecosystem has several profound benefits for deep packet visibility:
- Community-Driven Innovation: Developers from various companies and organizations contribute to eBPF's development, leading to rapid advancements and the creation of new features and use cases. This collective intelligence ensures that eBPF remains at the forefront of kernel observability.
- Vendor Neutrality: As a core Linux technology, eBPF is not tied to any single vendor. This allows organizations to build solutions using components from various providers or to develop their own, free from vendor lock-in.
- Interoperability: The common eBPF runtime ensures that different tools and applications can leverage the same underlying mechanism for kernel interaction, promoting interoperability and reducing complexity.
- Transparency and Security: The open-source model allows for rigorous peer review, enhancing the security and reliability of eBPF and its related tools. This transparency is crucial for critical infrastructure components that operate at the kernel level.
The rich ecosystem around eBPF, from development frameworks to integrated observability platforms, democratizes access to kernel-level insights. It empowers organizations to deploy highly efficient, secure, and customizable solutions for deep packet visibility, transforming the Linux kernel into a truly programmable and observable network gateway and application runtime, all built upon an Open Platform philosophy. This makes it easier for enterprises to gain control over their network traffic, whether it's for internal microservices communication or for external API interactions that flow through various network components.
| Feature / Tool | Traditional tcpdump/netstat |
Kernel Modules (e.g., old firewalls) | eBPF-based Tools (e.g., Cilium, Falco) |
|---|---|---|---|
| Deployment | User-space tool, readily available | Requires kernel recompilation or specific kernel version | Dynamically loaded/unloaded, CO-RE for portability |
| Performance | High overhead for full capture, resource-intensive for analysis | Can be performant but risky, complex development | Near native speed, low overhead, JIT compiled |
| Safety/Stability | Safe, user-space | High risk of kernel panic, difficult to debug | Kernel-verified, sandboxed, high stability |
| Flexibility | Fixed functionalities, limited programmability | Highly flexible but complex to develop, maintain, and update | Highly programmable, custom logic with C/Rust, dynamic |
| Visibility Depth | User-space perspective, limited kernel context | Full kernel access, but intrusive | Full kernel access, granular context, non-intrusive |
| Use Cases | Basic troubleshooting, limited packet capture | Specialized hardware drivers, low-level system changes | Deep packet visibility, security, network policies, tracing |
| Context | Network-centric (IPs, ports) | System-level, but hard to correlate with applications | Network + Process + Container context, high correlation |
| Scalability | Poor for high traffic | Can be good but rigid | Excellent, designed for high throughput, offload potential |
Integrating eBPF with Existing Network Infrastructure
The adoption of a groundbreaking technology like eBPF, while immensely beneficial, requires careful consideration for its integration into existing network infrastructures. Modern enterprise networks are intricate tapestries of legacy systems, cloud-native deployments, commercial appliances, and bespoke solutions. Seamless integration ensures that eBPF's deep packet insights enhance, rather than disrupt, current operational paradigms.
One of the primary challenges lies in the sheer diversity of existing network monitoring and management tools. Organizations have invested heavily in traditional network performance monitoring (NPM) systems, security information and event management (SIEM) solutions, and application performance monitoring (APM) platforms. The goal is not for eBPF to replace all these tools wholesale, but rather to complement them, filling critical visibility gaps and providing a richer data source. This often involves developing connectors or data pipelines that can ingest eBPF-derived metrics and events and forward them to existing centralized logging and analysis platforms. For instance, aggregated flow data from eBPF programs can be exported in formats like NetFlow/IPFIX, making it compatible with existing flow analyzers, or security events can be sent as Syslog messages or JSON payloads to a SIEM.
Operational overhead is another significant consideration. While eBPF programs themselves are lightweight and efficient, managing their lifecycle—deployment, updates, configuration, and debugging—across a large fleet of servers or container clusters can be complex. This is where orchestrators and specialized eBPF platforms become invaluable. Tools like Cilium, for example, automate the deployment and management of eBPF programs in Kubernetes, abstracting away much of the underlying complexity for network policy enforcement and observability. Organizations need to evaluate how eBPF deployments can be integrated into their existing CI/CD pipelines and configuration management systems to ensure consistent and reliable operation.
For hybrid cloud environments, integration presents unique complexities. Traffic flows seamlessly between on-premises data centers and various cloud providers, each with its own networking constructs and monitoring capabilities. eBPF provides a consistent layer of visibility across diverse Linux-based environments, whether they are bare metal, virtual machines, or containers in public clouds. This consistency is a major advantage, allowing for a unified approach to deep packet visibility irrespective of the underlying infrastructure. However, correlating eBPF data from on-premises servers with cloud-provider-specific network logs or metrics (e.g., AWS VPC Flow Logs, Azure Network Watcher) requires robust data aggregation and correlation engines.
Best practices for deploying eBPF in production environments emphasize a phased approach. Starting with non-intrusive monitoring use cases (e.g., collecting statistics, tracing) on non-critical systems allows teams to gain familiarity and confidence. Gradually moving to more impactful applications like security enforcement or performance optimization, with careful testing and fallback mechanisms, is crucial. Moreover, setting up robust alerting based on eBPF-derived anomalies and integrating these alerts into existing incident response workflows ensures that the deep insights translate into timely actions.
Furthermore, eBPF data often complements traditional monitoring tools by providing the "why" behind the "what." An APM tool might report high latency for an API endpoint. Traditional network monitoring might show high bandwidth usage on a specific server. eBPF can then dive deeper, revealing that the high latency is due to an excessive number of dropped TCP packets at the kernel level for that specific API's inbound connections, or that the bandwidth usage is from a misconfigured application generating a flood of unwanted traffic, making the network gateway bottlenecked. This granular detail empowers engineers to move beyond symptom observation to root cause identification with unprecedented speed.
Effectively managing APIs, especially in a distributed environment, often requires sophisticated gateway solutions that can handle authentication, routing, and traffic management. While eBPF dives deep into the underlying network packets, platforms like ApiPark provide an Open Platform for consolidating and orchestrating a wide array of API services, offering a holistic view of the service layer interactions that ultimately ride on those network packets. APIPark streamlines the management of hundreds of AI and REST services, providing a unified API format and end-to-end lifecycle management. It helps regulate API management processes, manage traffic forwarding, load balancing, and versioning of published APIs. This means that while eBPF is dissecting the network journey of individual packets, APIPark is ensuring the secure and efficient delivery of the API calls they carry, acting as a crucial interface between the network layer and the application services. Integrating eBPF insights with API management platforms like APIPark can create a comprehensive observability stack, where network-level anomalies detected by eBPF can be correlated with API performance metrics from the gateway, providing an unparalleled view from the wire to the service layer.
The integration of eBPF with existing network infrastructure is an ongoing journey, but one that promises significant returns. By carefully planning, leveraging appropriate tools, and adopting best practices, organizations can seamlessly weave eBPF's transformative deep packet visibility into their operational fabric, creating more resilient, performant, and secure networks.
Case Studies and Real-World Applications
The theoretical prowess of eBPF for deep packet visibility is powerfully underscored by its widespread adoption and proven efficacy in real-world scenarios across various industries. From cloud giants to security startups, eBPF is becoming an indispensable tool for tackling the most challenging network and system problems.
Cloud Providers Enhancing Network and Security Infrastructure
Hyperscale cloud providers are at the forefront of eBPF adoption, leveraging its capabilities to build highly efficient, secure, and observable network infrastructures that underpin their vast services. For instance, Google has famously integrated eBPF into its internal network fabric (e.g., in its Andromeda virtual network stack) to achieve highly performant packet filtering, load balancing, and network policy enforcement for its cloud services and internal workloads. This allows them to process billions of packets per second with minimal latency and maximal security. By replacing traditional iptables and other kernel components with eBPF, they gain a programmable data plane that can adapt dynamically to changing network conditions and security threats, providing deep visibility into every incoming packet that traverses their global network gateway infrastructure.
Meta (formerly Facebook) is another prominent user, employing eBPF extensively across its data centers. They use it for everything from advanced load balancing (XDP-based Layer 4 load balancers), DDoS mitigation (dropping malicious traffic at line rate), network monitoring, and even custom network protocols. For deep packet visibility, eBPF enables them to troubleshoot network performance issues in their massive infrastructure with unprecedented detail, identifying bottlenecks and anomalies that would be invisible to other tools. For example, they can use eBPF to trace the exact path and latency of incoming user requests through their complex internal networks, identifying where an API request might be delayed at the packet level.
Security Companies Fortifying Endpoint and Cloud Protection
eBPF's ability to operate safely and efficiently at the kernel level makes it a natural fit for advanced security solutions, offering a new dimension of threat detection and prevention.
Cilium's Tetragon, as mentioned earlier, is a powerful example. It leverages eBPF to provide deep, real-time security observability and enforcement at the kernel level. For incoming packets, Tetragon can monitor for suspicious connection attempts, unauthorized port access, or unusual network activity that might precede a full-blown attack. By correlating network events with process execution, it can identify if a newly downloaded file (triggered by an incoming HTTP request) then attempts to establish an outbound C2 connection, providing a holistic view of the attack chain. This granular visibility helps security teams understand not just that something happened, but how it happened and what process was involved.
Cloud-native security platforms also use eBPF to monitor container network activity without sidecars, which introduce performance overhead. They can detect container escape attempts, unauthorized network policies, and unusual inter-container communication patterns resulting from unexpected incoming packets. This provides a robust security posture for dynamic, containerized environments where traditional host-based firewalls struggle.
Financial Institutions Optimizing Low-Latency Trading
In the world of high-frequency trading, every microsecond counts. Network latency can mean the difference between profit and loss. Financial institutions are turning to eBPF for ultra-low-latency network monitoring and optimization.
- Precise Latency Measurement: By attaching eBPF programs at various points in the network stack, trading firms can measure packet latency with nanosecond precision, identifying bottlenecks in their network
gatewayconnections or internal routing paths. This allows them to fine-tune their network hardware and software configurations for optimal speed. - Packet Drop Identification: In high-volume trading, even a handful of dropped packets can impact trading strategies. eBPF provides the exact location and reason for any packet drops, enabling immediate remediation and ensuring the integrity of trading data.
- Custom Network Packet Filters: For compliance and security, specific types of financial
APItraffic might need to be prioritized or restricted. eBPF allows for highly custom, in-kernel packet filtering rules that can be deployed and updated dynamically without disrupting critical trading operations.
SaaS Platforms Ensuring Service Reliability
SaaS providers, with their distributed microservices architectures, rely heavily on network performance for service reliability and user experience. eBPF helps them gain critical insights into their complex environments.
- Microservices Communication Visibility: Understanding the network health between hundreds or thousands of microservices is a huge challenge. eBPF, especially when integrated into service meshes like Istio (which often uses Cilium as a CNI), provides granular visibility into inter-service
APIcalls, including latency, errors, and throughput at the network layer. This helps identify the root cause of service degradation, whether it's a slowAPIendpoint or an underlying network issue. - Zero-Instrumentation Observability: For SaaS platforms with rapidly evolving codebases, the ability to gain deep visibility without modifying application code or restarting services is invaluable. Tools like Pixie, leveraging eBPF, provide exactly this, automatically collecting rich telemetry (including
APIcall traces and network flow data) from incoming requests, reducing operational overhead and accelerating troubleshooting. - Resource Optimization: By accurately measuring network bandwidth and connection usage per service, eBPF helps SaaS providers right-size their infrastructure, optimizing cloud spend and ensuring that resources are allocated efficiently to handle incoming traffic loads.
These diverse case studies illustrate that eBPF is not just a niche technology but a broadly applicable, transformative force. Its ability to provide deep packet visibility safely, efficiently, and with rich context is empowering organizations across every sector to build more resilient, performant, and secure digital infrastructures, making it an essential component for any modern Open Platform strategy that relies on robust API interaction and reliable network gateway operations.
The Future of Deep Packet Visibility with eBPF
The trajectory of eBPF’s development and adoption paints a clear picture: it is not merely a transient technology but a foundational layer for the next generation of system and network observability, security, and performance. Its future in deep packet visibility promises even more sophisticated capabilities and pervasive integration across the computing landscape.
One of the most immediate and impactful trends is the continued kernel development and the introduction of new eBPF hooks. The Linux kernel community is actively exploring and implementing more points where eBPF programs can attach, offering even finer-grained control and visibility. This might include hooks at different stages of file system operations, memory management events, or more intricate network stack events, allowing for a truly holistic understanding of incoming data’s journey from the wire through the kernel to the application. As the kernel evolves, eBPF will evolve with it, ensuring that deep packet visibility remains aligned with the most cutting-edge operating system capabilities.
Increased adoption in cloud-native environments is an undeniable future. As Kubernetes and containerization become the default deployment model for applications, the need for kernel-level insights that transcend the abstractions of virtual networks and orchestrators will only grow. eBPF provides the "ground truth" underneath these abstractions. We can expect to see more platforms like Cilium and Pixie deepen their eBPF integrations, providing even more sophisticated service mesh observability, automated network policy enforcement, and proactive security measures tailored for dynamic microservices that communicate via APIs. The ability to monitor incoming traffic for specific API calls and instantly correlate them with application performance will become a standard feature.
A particularly exciting frontier lies in the closer integration of eBPF with Artificial Intelligence and Machine Learning (AI/ML) for automated anomaly detection. eBPF generates an incredibly rich stream of real-time, low-level data. This data is perfectly suited as input for AI/ML models. Instead of relying on human-defined thresholds, AI algorithms can learn "normal" network behavior from eBPF data – typical traffic patterns, latency distributions, and connection characteristics. Any deviation from this learned normal, even subtle ones that a human might miss, can then be flagged as a potential anomaly. This will revolutionize security by enabling proactive detection of zero-day exploits and stealthy attacks that manifest as minute changes in incoming packet flows. Similarly, performance issues can be predicted before they impact users, based on early warning signs identified by ML models trained on eBPF telemetry.
Furthermore, eBPF is poised to become the universal foundation for next-gen network security. Beyond traditional firewalls, eBPF enables programmable, context-aware security policies that operate with kernel-level efficiency. This means dynamic network segmentation, real-time threat intelligence acting at line rate, and behavioral analysis that can detect advanced persistent threats by observing their network footprints. The ability to inspect incoming packets at XDP, apply intelligent filtering rules, and then correlate those events with process-level activity makes eBPF an unparalleled tool for defending against sophisticated cyber threats. The concept of a secure, intelligent network gateway powered entirely by eBPF, capable of adapting to threats in real-time, is no longer futuristic.
Finally, the continuous expansion of the eBPF ecosystem – with more development tools, higher-level abstractions, and increased language support (like Rust and Go) – will make the technology even more accessible to a broader range of developers. This democratization of kernel programming will accelerate innovation, leading to a proliferation of new eBPF-powered solutions for deep packet visibility and beyond. The collaborative, Open Platform nature of eBPF ensures that this growth will be robust, secure, and aligned with the evolving needs of the industry.
In conclusion, eBPF has already profoundly transformed deep packet visibility by empowering unprecedented insight into incoming packets. Its future promises to build upon this foundation, integrating more deeply with AI/ML, becoming even more central to cloud-native security, and continuously expanding its reach within the kernel and across the networking stack. For any organization striving for optimal network performance, an impregnable security posture, and agile troubleshooting in the face of ever-growing complexity, eBPF is not just a useful tool—it is rapidly becoming an indispensable cornerstone of their digital infrastructure.
Frequently Asked Questions (FAQ)
1. What is eBPF, and how does it provide deep packet visibility? eBPF (extended Berkeley Packet Filter) is a powerful, in-kernel virtual machine in the Linux kernel that allows custom programs to run safely without modifying kernel source code. For deep packet visibility, eBPF programs attach to various "hooks" within the kernel's network stack (like XDP, TC, or socket filters). This enables them to intercept, inspect, filter, and modify network packets at extremely high speeds, gathering granular details about incoming packets, their headers, metadata, and even correlating them with application processes, offering unparalleled real-time insights into network behavior.
2. How does eBPF compare to traditional network monitoring tools like tcpdump or netstat? While tcpdump and netstat are valuable user-space tools for basic network troubleshooting, eBPF offers significantly deeper and more efficient visibility. Traditional tools often incur high overhead for full packet capture in high-volume environments and lack kernel-level context. eBPF operates directly within the kernel, making it highly performant (JIT compiled to native code), safe (kernel verifier), and capable of extracting rich context (e.g., associating packets with specific processes or containers). It can also proactively filter or drop packets at line rate (with XDP), something traditional tools cannot do.
3. Can eBPF help with security, especially for incoming packets? Absolutely. eBPF is a potent tool for network security. For incoming packets, eBPF can be used for: * DDoS Mitigation: XDP programs can drop malicious traffic (e.g., SYN floods, UDP amplification attacks) at the earliest possible stage, before it consumes kernel resources. * Intrusion Detection: Monitoring for suspicious connection attempts, unauthorized port access, or unusual traffic patterns that might indicate an attack. * Network Policy Enforcement: Implementing dynamic, context-aware firewall rules directly in the kernel. * Security Observability: Correlating network events with process activity to identify attack chains, like a downloaded malicious file initiating an outbound C2 connection.
4. What are some real-world use cases for eBPF in deep packet visibility? eBPF is widely used across various sectors: * Cloud Providers (Google, Meta): For high-performance load balancing, DDoS mitigation, and comprehensive network monitoring in hyperscale data centers. * Financial Institutions: For ultra-low-latency network monitoring, precise latency measurement, and packet drop identification in high-frequency trading environments. * SaaS and Cloud-Native Platforms: For granular observability into microservices communication, real-time application performance monitoring, and zero-instrumentation telemetry collection in Kubernetes clusters. * Security Companies: For advanced runtime security, threat detection, and network policy enforcement at the kernel level.
5. How does eBPF relate to API management and gateway technologies like APIPark? eBPF provides deep insights into the underlying network traffic that carries API calls. It can reveal network-level latency, packet drops, or abnormal traffic patterns that might affect the performance or security of API-driven applications. While eBPF operates at the packet level, platforms like ApiPark (an Open Source AI Gateway & API Management Platform) operate at the service layer, managing the lifecycle, authentication, routing, and traffic for various APIs. Integrating insights from eBPF (e.g., network health of the gateway) with high-level API performance metrics from APIPark creates a comprehensive observability stack, allowing teams to understand the entire journey of an API request, from the wire to the service logic.
🚀You can securely and efficiently call the OpenAI API on APIPark in just two steps:
Step 1: Deploy the APIPark AI gateway in 5 minutes.
APIPark is developed based on Golang, offering strong product performance and low development and maintenance costs. You can deploy APIPark with a single command line.
curl -sSO https://download.apipark.com/install/quick-start.sh; bash quick-start.sh

In my experience, you can see the successful deployment interface within 5 to 10 minutes. Then, you can log in to APIPark using your account.

Step 2: Call the OpenAI API.

