Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
/ ctp Public

300Mbps+ realtime Ethernet frame processing for Linux

Notifications You must be signed in to change notification settings

pavius/ctp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

1 Commit

Repository files navigation

CTP is a Linux user space application which lets you pass hundreds of megabits of ethernet traffic through an off the shelf PC. Frames can be manipulated, filtered and generated with a flexible and configurable processing pipeline. CTP was tested in 2012 to process 350 Mbp/s with 0% drop and ms-level jitter. The drops occured at the capture level, so with off the shelf capture NICs one could probably achieve full wirespeed.

It achieves this through the following:

  • It uses PF_RING rather than PF_PACKET
  • The processing pipeline is explicitly spread out across cores, where each core runs a single RT priority thread processing thread which busy waits on a queue
  • Inter-thread (effectively, inter-core) communication is done through bespoke queues based on spin locks so no kernel interaction is required when processing a frame

This project is for reference only, and has examples of modules which simulate a 3G access network.

About

300Mbps+ realtime Ethernet frame processing for Linux

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /