SlideShare a Scribd company logo
TLDK
Transport Layer Development Kit
Keith Wiles
Principal Engineer @ Intel
2
Legal Disclaimer
• General Disclaimer:
• © Copyright 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Intel Inside, the Intel Inside logo, Intel. Experience
What’s Inside are trademarks of Intel. Corporation in the U.S. and/or other countries. *Other names and brands may be claimed
as the property of others.
Technology Disclaimer:
Intel technologies’ features and benefits depend on system configuration and may require enabled hardware, software or service
activation. Performance varies depending on system configuration. No computer system can be absolutely secure. Check with your
system manufacturer or retailer or learn more at [intel.com].
Performance Disclaimers:
Cost reduction scenarios described are intended as examples of how a given Intel- based product, in the specified circumstances and
configurations, may affect future costs and provide cost savings. Circumstances will vary. Intel does not guarantee any costs or cost
reduction.
Results have been estimated or simulated using internal Intel analysis or architecture simulation or modeling, and provided to you
for informational purposes. Any differences in your system hardware, software or configuration may affect your actual performance.
TLDK (Transport Layer Development Kit)
• TLDK is to provide a clean set of ‘C’ libraries to enable network protocol
handling at the application layer
• TLDK will provide IPv4/v6 and TCP/UDP protocols along with others as
required for normal network operation
• Goal is to provide a very high performance network stack with termination
support for applications using VPP and DPDK
• TLDK will provide a set of libraries to allow for applications to build a
complete network stack support
• Including a high performance non-socket type application interface
• Including a socket layer for applications linked with the application
• Including a LD_PRELOAD socket layer to run native Linux
applications
TLDK (Transport Layer Development Kit)
• TLDK is not a normal network designed stack!
• TLDK has turned the network stack upside down for better performance
• Network protocols stack is driven by the application needs
• Normal network stack designs drive packet into the protocols, then to the
application
• In TLDK the packets are per-filtered to a given DPDK core/thread
• The application then drives the packets into the stack when it needs the data not before
• The design attempts to keep the CPU cache warm and only consume processor cycles
when needed
• The goal is to move multiple packets thru the stack at a time similar to DPDK
and VPP vector like processing of packets to utilize the cache correctly
• Normal stacks drive data from the bottom up and TLDK drives the data from
the top down
• Vector packet processing method reduces cycle overhead per packet
VPP
TLDK Uses case with VPP
DPDK
Physical Layer
Application Layer
TLDK:
• Handles packet I/O and protocol processing of packets
• Application sets up the UDP/TCP protocol contexts and
then calls I/O routines in TLDK to start processing packets
VPP Fastpath
• Using VPP as the first layer for packet processing before
packets are sent to the application layer
Physical Layer:
• Ports and other devices like crypto, compression, …
DPDK:
• DPDK provides the I/O abstraction to the physical layer for
the network devices. The DPDK could be optional here
only if some other I/O layer is used.
TLDK
Control or
non-TLDK pktsTLDK pkts
ControlPlane
VPP
optional
TLDK Application Layer break down
DPDK
Physical Layer
Socket Application
Application Layer:
• The application layer utilizes the TLDK library to process packets
for UDP and TCP
Purpose Built Application:
• A purpose built application is one that uses TLDK APIs directly
and is built to use these APIs
• Highest performance is expected with this design
BSD Socket Layer:
• A standard BSD socket layer for applications using sockets in its
design
• A lower performance is expected, but allows for current socket
type applications to be ported to the system
LD_PRELOAD Socket Layer:
• LD_PRELOAD is used to allow a ‘native binary Linux’ application
to use the accelerated path of VPP/DPDK
• The performance should be a bit better, but does allow these
native binary applications to work without any change
TLDK
Control or
non-TLDK pktsTLDK pkts
BSD Socket layer
LD_PRELOAD
Socketlayer
NativeLinux
Application
Purpose
built TLDK
Application
Current Status of TLDK
• The project is under the FD.io a Linux Foundation project
• FD.io Wiki Page (https://wiki.fd.io/view/Main_Page)
• TLDK is located at: https://wiki.fd.io/view/TLDK
• Source Code at: git clone https://gerrit.fd.io/r/tldk
• Current code base includes an optimized UDP implementation
• Currently working on TCP implementation
• Each Wednesday at 10am CST is the TLDK community meeting
• Meeting info: https://wiki.fd.io/view/TLDK/Meeting
• Additional ideas and contributions welcomed!
TLDK - Status Update
Thank you for attending, any
questions?

More Related Content

PDF
FD.io - The Universal Dataplane
PPSX
FD.io Vector Packet Processing (VPP)
PDF
Scaling the Container Dataplane
PPTX
Software Network Data Plane - Satisfying the need for speed - FD.io - VPP and...
PDF
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
PPTX
Netsft2017 day in_life_of_nfv
PDF
Dpdk Validation - Liu, Yong
PDF
DPDK Integration: A Product's Journey - Roger B. Melton
FD.io - The Universal Dataplane
FD.io Vector Packet Processing (VPP)
Scaling the Container Dataplane
Software Network Data Plane - Satisfying the need for speed - FD.io - VPP and...
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Netsft2017 day in_life_of_nfv
Dpdk Validation - Liu, Yong
DPDK Integration: A Product's Journey - Roger B. Melton

What's hot (20)

PDF
Using IO Visor to Secure Microservices Running on CloudFoundry [OpenStack Sum...
PDF
OVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
PDF
Intel® RDT Hands-on Lab
PPT
Naveen nimmu sdn future of networking
PDF
LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...
PDF
Inside Microsoft's FPGA-Based Configurable Cloud
PDF
Tungsten Fabric Overview
PDF
NFV & Openstack
PDF
Data Plane and VNF Acceleration Mini Summit
PDF
Overview of HPC Interconnects
PPTX
DPDK IPSec performance benchmark ~ Georgii Tkachuk
PDF
LF_DPDK17_Accelerating NFV with VMware's Enhanced Network Stack (ENS) and Int...
PDF
Cloud Networking Trends
PDF
Performance challenges in software networking
PDF
EBPF and Linux Networking
PDF
Intel dpdk Tutorial
PDF
Network Service Benchmarking
PDF
Hyperscan - Mohammad Abdul Awal
PPTX
In-kernel Analytics and Tracing with eBPF for OpenStack Clouds
PPTX
Software Stacks to enable SDN and NFV
Using IO Visor to Secure Microservices Running on CloudFoundry [OpenStack Sum...
OVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
Intel® RDT Hands-on Lab
Naveen nimmu sdn future of networking
LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...
Inside Microsoft's FPGA-Based Configurable Cloud
Tungsten Fabric Overview
NFV & Openstack
Data Plane and VNF Acceleration Mini Summit
Overview of HPC Interconnects
DPDK IPSec performance benchmark ~ Georgii Tkachuk
LF_DPDK17_Accelerating NFV with VMware's Enhanced Network Stack (ENS) and Int...
Cloud Networking Trends
Performance challenges in software networking
EBPF and Linux Networking
Intel dpdk Tutorial
Network Service Benchmarking
Hyperscan - Mohammad Abdul Awal
In-kernel Analytics and Tracing with eBPF for OpenStack Clouds
Software Stacks to enable SDN and NFV
Ad

Similar to TLDK - FD.io Sept 2016 (20)

PPTX
dpdk acceleration techniques ncdşs şdcnş
PDF
DPDK & Layer 4 Packet Processing
PDF
DPDK In Depth
PPT
lecture03 on socket programming000000.ppt
PPT
lecture03for socket programming college.ppt
PPTX
High Performance Networking Leveraging the DPDK and Growing Community
PPTX
Introduction to DPDK
PDF
7 hands on
PPSX
FD.IO Vector Packet Processing
PPT
Application Layer and Socket Programming
PDF
Presentation systemc
PDF
Socket Programming
PPT
Computer Network in Network software.ppt
PDF
2014_DPDK_slides.pdf
PDF
5 pipeline arch_rationale
PDF
DPDK Summit - 08 Sept 2014 - 6WIND - High Perf Networking Leveraging the DPDK...
PPTX
Transport layer interface
DOC
socket programming
DOC
socket programming
PPTX
Transport layer
dpdk acceleration techniques ncdşs şdcnş
DPDK & Layer 4 Packet Processing
DPDK In Depth
lecture03 on socket programming000000.ppt
lecture03for socket programming college.ppt
High Performance Networking Leveraging the DPDK and Growing Community
Introduction to DPDK
7 hands on
FD.IO Vector Packet Processing
Application Layer and Socket Programming
Presentation systemc
Socket Programming
Computer Network in Network software.ppt
2014_DPDK_slides.pdf
5 pipeline arch_rationale
DPDK Summit - 08 Sept 2014 - 6WIND - High Perf Networking Leveraging the DPDK...
Transport layer interface
socket programming
socket programming
Transport layer
Ad

More from Benoit Hudzia (7)

PPTX
Persistent memory
PPTX
Dram row-hammer kim-talk_isca14
PDF
Enhancing Live Migration Process for CPU and/or memory intensive VMs running...
PDF
Nvmw 2014 extending main memory with flash-the optimized swap approach
PPTX
Hana Memory Scale out using the hecatonchire Project
PDF
Lego Cloud SAP Virtualization Week 2012
PPTX
Hecatonchire kvm forum_2012_benoit_hudzia
Persistent memory
Dram row-hammer kim-talk_isca14
Enhancing Live Migration Process for CPU and/or memory intensive VMs running...
Nvmw 2014 extending main memory with flash-the optimized swap approach
Hana Memory Scale out using the hecatonchire Project
Lego Cloud SAP Virtualization Week 2012
Hecatonchire kvm forum_2012_benoit_hudzia

Recently uploaded (20)

PDF
NewMind AI Monthly Chronicles - July 2025
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
A Presentation on Artificial Intelligence
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
NewMind AI Weekly Chronicles - August'25 Week I
NewMind AI Monthly Chronicles - July 2025
The AUB Centre for AI in Media Proposal.docx
The Rise and Fall of 3GPP – Time for a Sabbatical?
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Electronic commerce courselecture one. Pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
A Presentation on Artificial Intelligence
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Machine learning based COVID-19 study performance prediction
Unlocking AI with Model Context Protocol (MCP)
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Dropbox Q2 2025 Financial Results & Investor Presentation
Per capita expenditure prediction using model stacking based on satellite ima...
Spectral efficient network and resource selection model in 5G networks
NewMind AI Weekly Chronicles - August'25 Week I

TLDK - FD.io Sept 2016

  • 1. TLDK Transport Layer Development Kit Keith Wiles Principal Engineer @ Intel
  • 2. 2 Legal Disclaimer • General Disclaimer: • © Copyright 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Intel Inside, the Intel Inside logo, Intel. Experience What’s Inside are trademarks of Intel. Corporation in the U.S. and/or other countries. *Other names and brands may be claimed as the property of others. Technology Disclaimer: Intel technologies’ features and benefits depend on system configuration and may require enabled hardware, software or service activation. Performance varies depending on system configuration. No computer system can be absolutely secure. Check with your system manufacturer or retailer or learn more at [intel.com]. Performance Disclaimers: Cost reduction scenarios described are intended as examples of how a given Intel- based product, in the specified circumstances and configurations, may affect future costs and provide cost savings. Circumstances will vary. Intel does not guarantee any costs or cost reduction. Results have been estimated or simulated using internal Intel analysis or architecture simulation or modeling, and provided to you for informational purposes. Any differences in your system hardware, software or configuration may affect your actual performance.
  • 3. TLDK (Transport Layer Development Kit) • TLDK is to provide a clean set of ‘C’ libraries to enable network protocol handling at the application layer • TLDK will provide IPv4/v6 and TCP/UDP protocols along with others as required for normal network operation • Goal is to provide a very high performance network stack with termination support for applications using VPP and DPDK • TLDK will provide a set of libraries to allow for applications to build a complete network stack support • Including a high performance non-socket type application interface • Including a socket layer for applications linked with the application • Including a LD_PRELOAD socket layer to run native Linux applications
  • 4. TLDK (Transport Layer Development Kit) • TLDK is not a normal network designed stack! • TLDK has turned the network stack upside down for better performance • Network protocols stack is driven by the application needs • Normal network stack designs drive packet into the protocols, then to the application • In TLDK the packets are per-filtered to a given DPDK core/thread • The application then drives the packets into the stack when it needs the data not before • The design attempts to keep the CPU cache warm and only consume processor cycles when needed • The goal is to move multiple packets thru the stack at a time similar to DPDK and VPP vector like processing of packets to utilize the cache correctly • Normal stacks drive data from the bottom up and TLDK drives the data from the top down • Vector packet processing method reduces cycle overhead per packet
  • 5. VPP TLDK Uses case with VPP DPDK Physical Layer Application Layer TLDK: • Handles packet I/O and protocol processing of packets • Application sets up the UDP/TCP protocol contexts and then calls I/O routines in TLDK to start processing packets VPP Fastpath • Using VPP as the first layer for packet processing before packets are sent to the application layer Physical Layer: • Ports and other devices like crypto, compression, … DPDK: • DPDK provides the I/O abstraction to the physical layer for the network devices. The DPDK could be optional here only if some other I/O layer is used. TLDK Control or non-TLDK pktsTLDK pkts ControlPlane
  • 6. VPP optional TLDK Application Layer break down DPDK Physical Layer Socket Application Application Layer: • The application layer utilizes the TLDK library to process packets for UDP and TCP Purpose Built Application: • A purpose built application is one that uses TLDK APIs directly and is built to use these APIs • Highest performance is expected with this design BSD Socket Layer: • A standard BSD socket layer for applications using sockets in its design • A lower performance is expected, but allows for current socket type applications to be ported to the system LD_PRELOAD Socket Layer: • LD_PRELOAD is used to allow a ‘native binary Linux’ application to use the accelerated path of VPP/DPDK • The performance should be a bit better, but does allow these native binary applications to work without any change TLDK Control or non-TLDK pktsTLDK pkts BSD Socket layer LD_PRELOAD Socketlayer NativeLinux Application Purpose built TLDK Application
  • 7. Current Status of TLDK • The project is under the FD.io a Linux Foundation project • FD.io Wiki Page (https://wiki.fd.io/view/Main_Page) • TLDK is located at: https://wiki.fd.io/view/TLDK • Source Code at: git clone https://gerrit.fd.io/r/tldk • Current code base includes an optimized UDP implementation • Currently working on TCP implementation • Each Wednesday at 10am CST is the TLDK community meeting • Meeting info: https://wiki.fd.io/view/TLDK/Meeting • Additional ideas and contributions welcomed!
  • 8. TLDK - Status Update Thank you for attending, any questions?