# f-stack/f-stack

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/f-stack-f-stack).**

4,230 stars · 951 forks · C · NOASSERTION

## Links

- GitHub: https://github.com/F-Stack/f-stack
- Homepage: http://www.f-stack.org
- awesome-repositories: https://awesome-repositories.com/repository/f-stack-f-stack.md

## Description

f-stack is a kernel-bypass framework and user-space TCP/IP stack designed to increase packet processing speeds and overall throughput. It utilizes DPDK to route network traffic directly to user space and integrates a transplanted FreeBSD network stack to handle transport and network layer protocols outside of the host operating system.

The project provides a socket API compatibility layer that allows standard network applications to run on a high-performance backend without requiring code changes. It also features a coroutine-based network API and micro-threading interface to manage asynchronous network IO and stateful tasks without the use of complex callback logic.

The framework covers high-throughput TCP/IP implementation, concurrent connection scaling, and event-driven IO multiplexing. It includes routing configuration capabilities to determine whether incoming traffic is handled by the user-space stack or the standard kernel network stack.

## Tags

### Networking & Communication

- [Packet Processing Frameworks](https://awesome-repositories.com/f/networking-communication/packet-engines/packet-processing-frameworks.md) — Provides a high-performance framework that routes network traffic to user space via DPDK to eliminate kernel overhead.
- [User-Space Packet Processing](https://awesome-repositories.com/f/networking-communication/packet-engines/packet-processing-frameworks/packet-processing-speed-benchmarks/user-space-packet-processing.md) — Directs network traffic to user space via DPDK to eliminate kernel overhead and minimize latency.
- [IO Multiplexing](https://awesome-repositories.com/f/networking-communication/connection-multiplexing/io-multiplexing.md) — Utilizes high-efficiency notification interfaces to monitor multiple network descriptors on a single thread.
- [DPDK-Based User-Space Network Stacks](https://awesome-repositories.com/f/networking-communication/dpdk-based-user-space-network-stacks.md) — Provides a high-performance network stack that bypasses the OS kernel using DPDK and a FreeBSD TCP/IP implementation.
- [High-Throughput TCP/IP Implementations](https://awesome-repositories.com/f/networking-communication/high-throughput-tcp-ip-implementations.md) — Implements a FreeBSD network stack in user space to handle massive data throughput and millions of concurrent connections.
- [Network Stack Bypasses](https://awesome-repositories.com/f/networking-communication/network-stack-bypasses.md) — Bypasses the standard kernel network stack to process packets directly in user space for reduced latency. ([source](https://cdn.jsdelivr.net/gh/f-stack/f-stack@dev/README.md))
- [DPDK Integrations](https://awesome-repositories.com/f/networking-communication/network-stacks/dpdk-integrations.md) — Utilizes the DPDK framework to bypass the kernel networking stack for high-performance networking tools.
- [Socket API Abstractions](https://awesome-repositories.com/f/networking-communication/socket-api-abstractions.md) — Provides a compatibility layer with standard BSD socket interfaces to support existing network applications. ([source](http://www.f-stack.org/development.html))
- [Coroutine-Based Sockets](https://awesome-repositories.com/f/networking-communication/socket-networking/coroutine-based-sockets.md) — Provides network sockets integrated with a coroutine scheduler for non-blocking asynchronous communication.
- [High-Performance Backend Integrations](https://awesome-repositories.com/f/networking-communication/external-service-connectivity/network-service-integrations/high-performance-backend-integrations.md) — Enables standard software services to benefit from a high-performance network backend without requiring code modifications. ([source](http://www.f-stack.org/))
- [High-Concurrency Networking](https://awesome-repositories.com/f/networking-communication/high-concurrency-networking.md) — Enables the processing of millions of simultaneous requests per second through a high-performance user-space stack. ([source](http://www.f-stack.org))
- [High-Throughput Network Engineering](https://awesome-repositories.com/f/networking-communication/high-throughput-network-engineering.md) — Maximizes data transfer rates and concurrency by routing network traffic directly to user space. ([source](http://www.f-stack.org))
- [Network Application Compatibility Layers](https://awesome-repositories.com/f/networking-communication/network-application-compatibility-layers.md) — Provides compatible interfaces allowing seamless deployment of standard software services in high-performance network environments. ([source](http://www.f-stack.org))
- [User-Space Stack Routing](https://awesome-repositories.com/f/networking-communication/network-stacks/kernel-stack-integration/user-space-stack-routing.md) — Implements routing logic to toggle between the standard kernel network stack and the high-performance user-space stack.
- [Embedded Network Stacks](https://awesome-repositories.com/f/networking-communication/virtual-private-networks/embedded-network-stacks.md) — Embeds a full TCP/IP stack directly within the application to remove dependencies on the host operating system. ([source](https://cdn.jsdelivr.net/gh/f-stack/f-stack@dev/README.md))

### Operating Systems & Systems Programming

- [API Compatibility Layers](https://awesome-repositories.com/f/operating-systems-systems-programming/api-compatibility-layers.md) — Implements a compatibility layer allowing standard socket applications to run on a high-performance user-space backend without code changes.
- [Coroutine-Based Asynchronous I/O](https://awesome-repositories.com/f/operating-systems-systems-programming/asynchronous-i-o-libraries/coroutine-based-asynchronous-i-o.md) — Provides a coroutine-based model to manage high-concurrency network I/O without blocking system threads.
- [TCP/IP Stacks](https://awesome-repositories.com/f/operating-systems-systems-programming/systems-programming/bare-metal-development/tcp-ip-stacks.md) — Implements a full TCP/IP stack based on FreeBSD to manage complex protocol logic and data transmission. ([source](http://www.f-stack.org/))
- [User-Space Implementations](https://awesome-repositories.com/f/operating-systems-systems-programming/systems-programming/bare-metal-development/tcp-ip-stacks/user-space-implementations.md) — Integrates a transplanted FreeBSD network stack to handle transport and network layer protocols in user space.
- [Kernel Bypass Datapaths](https://awesome-repositories.com/f/operating-systems-systems-programming/datapath-splits/kernel-bypass-datapaths.md) — Connects software services to a high-performance network backend via kernel-bypass datapaths.
- [Network Event Monitoring Schedulers](https://awesome-repositories.com/f/operating-systems-systems-programming/network-event-monitoring-schedulers.md) — Employs low-level schedulers to monitor and trigger network read, write, and close events on connections. ([source](http://www.f-stack.org/))

### Programming Languages & Runtimes

- [Micro-Threaded Execution](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/concurrency-models/concurrency/execution-models/multi-threaded-execution/micro-threaded-execution.md) — Executes stateful high-latency operations using a micro-threading model to maintain performance without complex callback logic. ([source](http://www.f-stack.org/development.html))

### Software Engineering & Architecture

- [Micro-Threaded Flow Simplification](https://awesome-repositories.com/f/software-engineering-architecture/concurrent-execution-managers/asynchronous-concurrency-managers/micro-threaded-flow-simplification.md) — Simplifies complex asynchronous network flows using a micro-threading interface to maintain high performance in stateful applications. ([source](http://www.f-stack.org))
- [Concurrent State Coordination](https://awesome-repositories.com/f/software-engineering-architecture/concurrent-state-coordination.md) — Provides a micro-threading interface for managing shared state and coordinating tasks in asynchronous network applications. ([source](http://www.f-stack.org/))

### System Administration & Monitoring

- [Event-Driven I/O](https://awesome-repositories.com/f/system-administration-monitoring/administrative-operations/linux-system-administration/networking/connection-lifecycle-management/parallel-network-i-o/event-driven-i-o.md) — Uses event notification loops to handle high-concurrency network connections in real-time. ([source](http://www.f-stack.org))
- [Asynchronous Network Programming](https://awesome-repositories.com/f/system-administration-monitoring/administrative-operations/linux-system-administration/networking/connection-lifecycle-management/parallel-network-i-o/event-driven-i-o/asynchronous-network-programming.md) — Implements an asynchronous programming model for managing stateful network operations and concurrent tasks.

### Part of an Awesome List

- [Protocol Stacks](https://awesome-repositories.com/f/awesome-lists/devtools/protocol-stacks.md) — High-performance user-space protocol stack based on DPDK.
