luqiuwen / dpdk-odp

Open data plane on dpdk, TCP/IP stack for dpdk.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

####TCP/IP stack for dpdk

Netdp is porting from FreeBSD TCP/IP stack, and provide a userspace TCP/IP stack for use with the Intel dpdk.

  • librte_netdp: TCP/IP stack static library. netdp use dpdk mbuf, ring, memzone, mempool, timer, spinlock. so zero copy mbuf between dpdk and netdp.

  • librte_netdpsock: Netdp socket lib for application, zero copy between netdp and application.

  • netdp_cmd: Command for configure netdp tcp/ip stack.

  • netdp_test: Example application with netdp for testing netdp tcp/ip stack

Support environment

  • EAL is based on dpdk-1.7.1
  • Development enviroment is based on x86_64-native-linuxapp-gcc
  • TCP/IP stack is based on FreeBSD 10.0-RELEASE

Support feature:

  • Netdp initialize
  • Ether, zero copy between NIC and netdp TCP/IP stack.
  • ARP, ARP timeout
  • IP layer, IP fragmentation and reassemble
  • Routing
  • ICMP
  • Commands for adding, deleting, showing IP address
  • Commands for adding, deleting, showing static route
  • Commands for showing ARP table
  • UDP
  • Socket layer
  • No lock in UDP stack and socket layer.
  • Running on multiple cores.

Next Planning

  • Porting TCP from FreeBSD to netdp
  • Porting socket from FreeBSD to netdp
  • Open data plane.
  • VxVLAN.
  • Performance testing.
  • IPFW

You can get more information and instructions from wiki page.

####Support

BSD LICENSE, you may use netdp freely.

For free support, please use netdp team mail list at zimeiw@163.com. or QQ Group:86883521

About

Open data plane on dpdk, TCP/IP stack for dpdk.


Languages

Language:C 91.7%Language:Makefile 6.8%Language:C++ 1.5%