# emmericp/ixy

A simple yet fast user space network driver for Intel 10 Gbit/s NICs written from scratch

Repository: https://github.com/emmericp/ixy
Canonical: https://ross.abutalabs.com/products/ixy
Language: C
License: BSD-3-Clause
License Family: permissive
Last push: 2022-02-19T19:32:45+00:00

## Health v2 (maintenance only)
Score: 32/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 3244, "days_push": 1656, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1310, forks 139 (observed 2026-08-28T04:04:19.869576+00:00)

## What it is
ixy is a userspace packet processing framework and network driver for Intel 10 Gbit/s NICs (82599/ixgbe family) and virtio, written from scratch in ~1000 lines of C. It is designed for educational purposes, letting users read the entire driver from startup to DMA descriptor handling without kernel modules or external libraries.

## Use cases
- learn how a network card driver works at the lowest level
- forward packets at line rate in userspace without kernel modules
- build a custom packet generator for 10 Gbit/s NICs
- experiment with high-performance packet processing without DPDK's complexity
- study DMA descriptor handling with a readable codebase
- teach networking systems courses with a minimal driver implementation

## When to choose
- you want to understand or teach how NIC drivers work end-to-end
- you need a simple, dependency-free userspace driver for Intel 82599/X520 or virtio NICs
- you need very high packet forwarding rates (>25 Mpps per core) with minimal code
- you prefer a small readable codebase over DPDK's large feature set

## When to avoid
- you need production-grade support for many NIC families, features, and protocols
- you require a mature, actively maintained driver for deployment
- your NIC is not in the Intel ixgbe/82599 family or virtio
- you need kernel-integrated features like XDP/eBPF or broad ecosystem tooling

## Facets
- artifact type: library
- maturity: maintenance
- function: networking, developer-tools
- domain: networking, developer-tools, operating-systems, performance
- platform: c, cli
- tags: userspace-network-driver, dpdk-alternative, packet-processing, ixgbe, educational, high-performance-networking, virtio, linux

## Member repositories
- emmericp/ixy (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:19.869576+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:49:54.790181+00:00, confidence not recorded.
  - readme: https://github.com/emmericp/ixy (fetched 2026-08-28T04:04:19.869576+00:00, sha 274e77de14c7)
- Data as of 2026-08-30T08:39:29.467469+00:00.
