Difference between revisions of "Project Proposals/TLDK"

From fd.io
Jump to: navigation, search
m (Initial Committers)
m (Description: Added text to show we plan to contribute code.)
Line 13: Line 13:
 
== Description ==
 
== Description ==
 
The TLDK (Transport Layer Development Kit) project will implement a set of libraries for L4 protocol processing (UDP, TCP etc.), which will enable a user to implement a host network stack. The goal is to have the application drive the packet through the protocols in a just in time like model instead of the traditional network stack model of pushing the packet up from the I/O into the network protocols and then to the application layer. The application will have full control of the protocol processing of the packets.
 
The TLDK (Transport Layer Development Kit) project will implement a set of libraries for L4 protocol processing (UDP, TCP etc.), which will enable a user to implement a host network stack. The goal is to have the application drive the packet through the protocols in a just in time like model instead of the traditional network stack model of pushing the packet up from the I/O into the network protocols and then to the application layer. The application will have full control of the protocol processing of the packets.
 +
 +
We are planing to contribute a good starting point for the code base, but will need more work to be completed.
  
 
== Scope ==
 
== Scope ==

Revision as of 19:07, 21 March 2016


Name

Transport Layer Development Kit (TLDK)

Project Contact Name and Email

Tim O'Driscoll (email: tim.odriscoll@intel.com LF ID: timodriscoll)

Repository Name

tldk

Description

The TLDK (Transport Layer Development Kit) project will implement a set of libraries for L4 protocol processing (UDP, TCP etc.), which will enable a user to implement a host network stack. The goal is to have the application drive the packet through the protocols in a just in time like model instead of the traditional network stack model of pushing the packet up from the I/O into the network protocols and then to the application layer. The application will have full control of the protocol processing of the packets.

We are planing to contribute a good starting point for the code base, but will need more work to be completed.

Scope

The FD.io TLDK project scope is:

  • The project will implement a set of libraries for L4 protocol processing (UDP, TCP etc.) for both IPv4 and IPv6. It will not provide a full network stack, but can be used to build a network stack.
  • This will be a lightweight, high performance implementation.
  • In order to achieve maximum performance, legacy interfaces such as sockets will not be supported.
  • The initial implementation will support UDP. TCP support will be added next. Other protocols can be added in later phases.
  • The project will initially be developed using DPDK as the Network I/O later. It can be extended in future to support other Network I/O layers.
  • The project will be implemented so that it can be used with other FD.io projects such as VPP, but will not rely on those, and it will be possible to use it without any other FD.io projects.


Initial Committers

  • Konstantin Ananyev (email: konstantin.ananyev@intel.com, LF ID konstantin_ananyev)
  • Keith Wiles (email: keith.wiles@intel.com, LF ID: keithwiles)

Vendor Neutral

No current or expected issues with vendor neutrality. The project will initially be developed using DPDK as the Network I/O layer. DPDK is a vendor-neutral, multi-architecture project. The project can be extended in future to support other Network I/O layers.

Meets Board Policy (including IPR, being within Board defined Scope etc)

Meets board policy as expressed in Technical Community Charter and IP Policy

Administrata

  • Request for Project proposal consideration
    • Email: (place link to email to TSC proposing project, this can be obtained from TSC Archives
    • Date: (date proposed, makes it simpler to calculate the pre-requisite 2 week time period of gestation before being permitted to be voted on)