xeome / XSKNet

A custom networking stack using XDP and XSK

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

XSKNet

Introduction

This project implements Kernel bypass using AF_XDP (XSK) to implement a custom networking stack. It bypasses the traditional kernel stack and achieving superior throughput and low-latency communication. Currently only ICMP responses are implemented

Note that this project is designed for educational purposes and is not intended to be a general purpose networking stack.

Project architecture

XSKNet

Build

Ensure libxdp and libbpf are installed.

make

Progress

  • Redirect packets from PHY to veth
  • Receive packets from veth in user space using AF_XDP
  • Transmit packets from user space to veth using AF_XDP

Usage

Daemon

To run the daemon, you need to specify physical interface and the path to the XDP object file.

sudo bin/daemon --dev wlan0

User client

sudo bin/client -d test

About

A custom networking stack using XDP and XSK


Languages

Language:C 97.1%Language:CMake 1.5%Language:Makefile 1.0%Language:Shell 0.4%