Skip to content

eagles125/dpdk-rumptcpip

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TCP/IP stack for DPDK Build Status

The hypercall driver in this repository attaches a userspace rump kernel TCP/IP stack to a network interface card accessed via the Intel Data Plane Development Kit DPDK.

in rough diagram form:

------------------------------
|    application process     |
||--------------------------||
|| rump kernel (TCP/IP etc.)||
||--------------------------||
|| dpdk-rumptcpip (dpdkif)  ||
||--------------------------||
|| DPDK                     ||
|----------------------------|
-----------------------------|

Status

The driver has been tested to work on various Linux distributions (e.g. Ubuntu and Void) and is able to exchange TCP traffic with an Internet peer. Future plans include benchmarking, performance optimization, and improved configurability. A wiki page documents some ideas for potential performance optimizations.

Instructions

The procedure is follows:

  • git submodule update --init
  • ./buildrump.sh/buildrump.sh -s rumpsrc -T rumptools
  • in src/libdpdkif of this repo, edit the parameters at the top of rumpcomp_user.c, e.g. the interface port to be used.
  • still in src/libdpdkif, run: ../../rumptools/rumpmake dependall && ../../rumptools/rumpmake install. Note that you need RTE_SDK and RTE_TARGET set in the normal DPDK manner (consult DPDK docs).

You can now link and use the DPDK interface driver (librumpnet_dpdkif) into applications.

DPDK is provided as a git submodule mostly for autobuild purposes. You can also use DPDK from other sources/installations (via RTE_SDK). It is advisable -- even if not always strictly necessary -- to use a DPDK revision at least as recent as the submodule. The DPDK submodule revision can be obtained by going to the dpdk subdirectory and running git describe.

For more information on how to use the resulting userspace TCP/IP stack, see e.g. the buildrump.sh repo or http://rumpkernel.org/. To portably configure the TCP/IP stack, using rumprun is recommended.

Support

For free support, use the rump kernel mailing list at rumpkernel-users@lists.sourceforge.net (you can subscribe here). You can also ask simple questions on irc: #rumpkernel on irc.freenode.net. Please do not send private email.

If you need commercial support e.g. for development or integration, or want to pay for private email support, contact Fixup Software Ltd..

About

TCP/IP stack for DPDK; uses rump kernels

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published