SlideShare a Scribd company logo
1 of 24
Download to read offline
Userspace 2015 | Dublin
Current Situation
• Networks include complex L4-7 features, such as
• Load Balancer, DPI/AVC, Firewall, NAT
• Requires testing with stateful and realistic traffic mix
Firewall, NATDPI/AVCLB
What problem is being solved?
• Traffic generators for realistic traffic are
• Expensive ~$100-500K
• Not scalable for high rates
• Not flexible
• Implication
• Limited and late testing
• Different benchmarks and test methodologies
• Real life bottlenecks and design issues
What is TRex?
• Stateful traffic generator
• Generates, manipulates and amplifies based on
templates of real, captured flows – no TCP/IP stack
• High performance: up to 200 Gb/sec
• Low cost: C220M UCS-1RU, Cisco internal
– Standard server hardware
• Flexible and Open Software - DPDK, ZMQ, Python libs
• Virtualization (VMXNET3/E1000)
• Easy installation and deployment
Stateful Traffic Generation Model
High level software architecture
CPU/Sharememory
Share
memo
ry
Intel
NIC
DP -thread
1
CP –
thread 0
DP -thread
2
Rx – thread
5
IF0
Client
IF1
Server
IF2
Client
IF3
Server
DP -thread
3
DP -thread
4
• DPDK/Multi-Threaded
• Scales linearly
• ~20 Gb/sec per core
• Supports 1/10/40 Gb Intel NICs
• Flow-based
• Fast event scheduler
• Generates flow templates
• Can support 1K templates
• Scales up to 100K clients,1M servers
• Flexible
• Client/server generation models
• Measures jitter/latency/flow order
• NAT translation/IPv6/Tunnels
• User Interface
• Python API
• Benchmark automation
• GUI
Flow Generation
Total PPS =
𝑘=0
𝑛
𝐶𝑃𝑆 𝑘 × 𝑓𝑙𝑜𝑤_𝑝𝑘𝑡𝑠 𝑘
Total CPS =
𝑘=0
𝑛
𝐶𝑃𝑆 𝑘
Concurrent flows
=
𝑘=0
𝑛
𝐶𝑃𝑆 𝑘 × 𝑓𝑙𝑜𝑤_𝑑𝑢𝑟𝑎𝑡𝑖𝑜𝑛 𝑘
• Example of one flow with four packets
FIF
FIF
FIF
DNS simple profile example
DNS output
HTTP & DNS
HTTP & DNS
Enterprise traffic profile
• Includes protocols with
Control/Data dependency
• SIP
• RTSP
EMIX - YAML
EMIX
Demo routing
Cisco ASR 1013 ESP100 100Gb/sec
13RU - 4KW
UCS-220M2 32GB 2x8 cores 2Ghz
2x82559 NIC (4x10Gb/sec)
0.4KW 1RU , 2K$
-Per port stats table
ports | 0 | 1 | 2 | 3
-----------------------------------------------------------------------------------------
opackets | 71602327 | 82914082 | 71601627 | 82913259
obytes | 23990692045 | 67783397687 | 23990683213 | 67783032819
ipackets | 82914006 | 71602322 | 82913203 | 71601615
ibytes | 67783068258 | 23986183633 | 67782693539 | 23986134949
Tx Bw | 3.68 Gbps | 8.84 Gbps | 3.68 Gbps | 8.84 Gbps
Cpu Utilization : 41.6 % 15.0 Gb/core
Platform_factor : 1.0
Total-Tx : 25.04 Gbps Nat_time_out : 0
Total-Rx : 25.03 Gbps Nat_no_fid : 0
Total-PPS : 5.21 Mpps Total_nat_active: 33
Total-CPS : 103.16 Kcps Total_nat_open : 6697955
Active-flows : 90502 Clients : 248 Socket-util : 0.5795 %
Open-flows : 6713475 Servers : 5368 Socket : 90502 Socket/Clients : 364.9
-Latency stats enabled
Cpu Utilization : 7.2 %
if| tx_ok , rx_ok , rx ,error, average , max , Jitter , max window
| , , check, , latency(usec),latency (usec) ,(usec) ,
--------------------------------------------------------------------------------------------------------------
--
0 | 65649, 65648, 647320, 0, 61 , 144, 13 | 111 130 138 107 127 110
1 | 65648, 65649, 552181, 0, 37 , 62, 3 | 42 42 43 39 38 39 38
2 | 65649, 65648, 660627, 0, 57 , 144, 11 | 103 139 130 97 126
3 | 65648, 65649, 562860, 0, 37 , 55, 3 | 39 41 39 39 46 39 39
-Rx Check stats enabled
------------------------------------------------------------------------------------------------------------
rx check: avg/max/jitter latency, 63 , 176, 18 | 130 158 159 138 155 175 136
active flows: 647, fif: 52193, drop: 0, errors: 0
------------------------------------------------------------------------------------------------------------
Configure NAT & Firewall
-Global stats enabled
Cpu Utilization : 34.9 % 15.9 Gb/core
Platform_factor : 1.0
Total-Tx : 22.24 Gbps Nat_time_out : 3910462
Total-Rx : 22.24 Gbps Nat_no_fid : 735
Total-PPS : 4.87 Mpps Total_nat_active: 46
Total-CPS : 102.79 Kcps Total_nat_open : 11287417
Active-flows : 79813 Clients : 248 Socket-util : 0.5110 %
Open-flows : 11313545 Servers : 5368 Socket : 79813 Socket/Clients : 321.8
-Latency stats enabled
Cpu Utilization : 6.7 %
if| tx_ok , rx_ok , rx ,error, average , max , Jitter , max window
| , , check, , latency(usec),latency (usec) ,(usec) ,
--------------------------------------------------------------------------------------------------------------
--
0 | 110281, 110279, 714052, 0, 204 , 14313, 16 | 807 1276 3439 935 850 5175
1 | 110280, 110280, 644514, 0, 91 , 10907, 5 | 802 653 1344 717 701 3436
2 | 110281, 110280, 720630, 0, 201 , 14355, 14 | 808 1194 3357 972 822 5177
3 | 110280, 110281, 645768, 0, 90 , 10491, 3 | 800 642 1349 706 699 3279
-Rx Check stats enabled
------------------------------------------------------------------------------------------------------------
rx check: avg/max/jitter latency, 180 , 14785, 407 | 2321 2546 4229 1627 1912 5275
active flows: 690, fif: 57593, drop: 14179, errors: 14552
------------------------------------------------------------------------------------------------------------
Roadmap
• RPC support
• Stateless support (Ostinato like)
– Streams
– Stats per stream
– Any type of packet
– GUI to build packet
– Emulation
• Stateful
– TCP stack
– SDK for light application
TRex on your laptop (virtualbox)
Resources
• Web
• GitHub
• Manual
• Presentation
TRex Traffic Generator - Hanoch Haim

More Related Content

What's hot

Building DataCenter networks with VXLAN BGP-EVPN
Building DataCenter networks with VXLAN BGP-EVPNBuilding DataCenter networks with VXLAN BGP-EVPN
Building DataCenter networks with VXLAN BGP-EVPNCisco Canada
 
Linux Linux Traffic Control
Linux Linux Traffic ControlLinux Linux Traffic Control
Linux Linux Traffic ControlSUSE Labs Taipei
 
VLANs in the Linux Kernel
VLANs in the Linux KernelVLANs in the Linux Kernel
VLANs in the Linux KernelKernel TLV
 
Introduction to DPDK
Introduction to DPDKIntroduction to DPDK
Introduction to DPDKKernel TLV
 
DPDK: Multi Architecture High Performance Packet Processing
DPDK: Multi Architecture High Performance Packet ProcessingDPDK: Multi Architecture High Performance Packet Processing
DPDK: Multi Architecture High Performance Packet ProcessingMichelle Holley
 
The TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux KernelThe TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux KernelDivye Kapoor
 
Cilium - BPF & XDP for containers
 Cilium - BPF & XDP for containers Cilium - BPF & XDP for containers
Cilium - BPF & XDP for containersDocker, Inc.
 
Cilium - Container Networking with BPF & XDP
Cilium - Container Networking with BPF & XDPCilium - Container Networking with BPF & XDP
Cilium - Container Networking with BPF & XDPThomas Graf
 
Linux 4.x Tracing: Performance Analysis with bcc/BPF
Linux 4.x Tracing: Performance Analysis with bcc/BPFLinux 4.x Tracing: Performance Analysis with bcc/BPF
Linux 4.x Tracing: Performance Analysis with bcc/BPFBrendan Gregg
 
Wireshark
WiresharkWireshark
Wiresharkbtohara
 
CCNA 2 Routing and Switching v5.0 Chapter 9
CCNA 2 Routing and Switching v5.0 Chapter 9CCNA 2 Routing and Switching v5.0 Chapter 9
CCNA 2 Routing and Switching v5.0 Chapter 9Nil Menon
 
MTCNA - MikroTik Certified Network Associate - v2
MTCNA - MikroTik Certified Network Associate - v2MTCNA - MikroTik Certified Network Associate - v2
MTCNA - MikroTik Certified Network Associate - v2Yaser Rahmati
 
Vxlan deep dive session rev0.5 final
Vxlan deep dive session rev0.5   finalVxlan deep dive session rev0.5   final
Vxlan deep dive session rev0.5 finalKwonSun Bae
 
Cisco Live Milan 2015 - BGP advance
Cisco Live Milan 2015 - BGP advanceCisco Live Milan 2015 - BGP advance
Cisco Live Milan 2015 - BGP advanceBertrand Duvivier
 
Intel DPDK Step by Step instructions
Intel DPDK Step by Step instructionsIntel DPDK Step by Step instructions
Intel DPDK Step by Step instructionsHisaki Ohara
 
eBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux KerneleBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux KernelThomas Graf
 

What's hot (20)

Understanding DPDK
Understanding DPDKUnderstanding DPDK
Understanding DPDK
 
Building DataCenter networks with VXLAN BGP-EVPN
Building DataCenter networks with VXLAN BGP-EVPNBuilding DataCenter networks with VXLAN BGP-EVPN
Building DataCenter networks with VXLAN BGP-EVPN
 
Dpdk performance
Dpdk performanceDpdk performance
Dpdk performance
 
Linux Linux Traffic Control
Linux Linux Traffic ControlLinux Linux Traffic Control
Linux Linux Traffic Control
 
VLANs in the Linux Kernel
VLANs in the Linux KernelVLANs in the Linux Kernel
VLANs in the Linux Kernel
 
Introduction to DPDK
Introduction to DPDKIntroduction to DPDK
Introduction to DPDK
 
DPDK: Multi Architecture High Performance Packet Processing
DPDK: Multi Architecture High Performance Packet ProcessingDPDK: Multi Architecture High Performance Packet Processing
DPDK: Multi Architecture High Performance Packet Processing
 
The TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux KernelThe TCP/IP Stack in the Linux Kernel
The TCP/IP Stack in the Linux Kernel
 
Cilium - BPF & XDP for containers
 Cilium - BPF & XDP for containers Cilium - BPF & XDP for containers
Cilium - BPF & XDP for containers
 
Ccna command
Ccna commandCcna command
Ccna command
 
Cilium - Container Networking with BPF & XDP
Cilium - Container Networking with BPF & XDPCilium - Container Networking with BPF & XDP
Cilium - Container Networking with BPF & XDP
 
Linux 4.x Tracing: Performance Analysis with bcc/BPF
Linux 4.x Tracing: Performance Analysis with bcc/BPFLinux 4.x Tracing: Performance Analysis with bcc/BPF
Linux 4.x Tracing: Performance Analysis with bcc/BPF
 
Wireshark
WiresharkWireshark
Wireshark
 
CCNA 2 Routing and Switching v5.0 Chapter 9
CCNA 2 Routing and Switching v5.0 Chapter 9CCNA 2 Routing and Switching v5.0 Chapter 9
CCNA 2 Routing and Switching v5.0 Chapter 9
 
MTCNA - MikroTik Certified Network Associate - v2
MTCNA - MikroTik Certified Network Associate - v2MTCNA - MikroTik Certified Network Associate - v2
MTCNA - MikroTik Certified Network Associate - v2
 
Vxlan deep dive session rev0.5 final
Vxlan deep dive session rev0.5   finalVxlan deep dive session rev0.5   final
Vxlan deep dive session rev0.5 final
 
Cisco Live Milan 2015 - BGP advance
Cisco Live Milan 2015 - BGP advanceCisco Live Milan 2015 - BGP advance
Cisco Live Milan 2015 - BGP advance
 
Intel DPDK Step by Step instructions
Intel DPDK Step by Step instructionsIntel DPDK Step by Step instructions
Intel DPDK Step by Step instructions
 
Intel dpdk Tutorial
Intel dpdk TutorialIntel dpdk Tutorial
Intel dpdk Tutorial
 
eBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux KerneleBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux Kernel
 

Similar to TRex Traffic Generator - Hanoch Haim

Инновации Cisco для операторов связи
Инновации Cisco для операторов связиИнновации Cisco для операторов связи
Инновации Cisco для операторов связиCisco Russia
 
High-performance 32G Fibre Channel Module on MDS 9700 Directors:
High-performance 32G Fibre Channel Module on MDS 9700 Directors:High-performance 32G Fibre Channel Module on MDS 9700 Directors:
High-performance 32G Fibre Channel Module on MDS 9700 Directors:Tony Antony
 
DPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitch
DPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitchDPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitch
DPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitchJim St. Leger
 
PLNOG16: Obsługa 100M pps na platformie PC , Przemysław Frasunek, Paweł Mała...
PLNOG16: Obsługa 100M pps na platformie PC, Przemysław Frasunek, Paweł Mała...PLNOG16: Obsługa 100M pps na platformie PC, Przemysław Frasunek, Paweł Mała...
PLNOG16: Obsługa 100M pps na platformie PC , Przemysław Frasunek, Paweł Mała...PROIDEA
 
Fast datastacks - fast and flexible nfv solution stacks leveraging fd.io
Fast datastacks - fast and flexible nfv solution stacks leveraging fd.ioFast datastacks - fast and flexible nfv solution stacks leveraging fd.io
Fast datastacks - fast and flexible nfv solution stacks leveraging fd.ioOPNFV
 
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceAdding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceSamsung Open Source Group
 
20160927-tierney-improving-performance-40G-100G-data-transfer-nodes.pdf
20160927-tierney-improving-performance-40G-100G-data-transfer-nodes.pdf20160927-tierney-improving-performance-40G-100G-data-transfer-nodes.pdf
20160927-tierney-improving-performance-40G-100G-data-transfer-nodes.pdfJunZhao68
 
Continuum pcap-oem
Continuum pcap-oemContinuum pcap-oem
Continuum pcap-oemblabadini
 
Full PPT Stack
Full PPT StackFull PPT Stack
Full PPT StackWendi Sapp
 
Aceleracion TCP Mikrotik.pdf
Aceleracion TCP Mikrotik.pdfAceleracion TCP Mikrotik.pdf
Aceleracion TCP Mikrotik.pdfWifiCren
 
BGP Flowspec (RFC5575) Case study and Discussion
BGP Flowspec (RFC5575) Case study and DiscussionBGP Flowspec (RFC5575) Case study and Discussion
BGP Flowspec (RFC5575) Case study and DiscussionAPNIC
 
Cumulus Linux 2.5.5 What's New
Cumulus Linux 2.5.5 What's NewCumulus Linux 2.5.5 What's New
Cumulus Linux 2.5.5 What's NewCumulus Networks
 
The Data Center and Hadoop
The Data Center and HadoopThe Data Center and Hadoop
The Data Center and HadoopDataWorks Summit
 
Cisco EuroMPI'13 vendor session presentation
Cisco EuroMPI'13 vendor session presentationCisco EuroMPI'13 vendor session presentation
Cisco EuroMPI'13 vendor session presentationJeff Squyres
 
ODSA Proof of Concept SmartNIC Speeds & Feeds
ODSA Proof of Concept SmartNIC Speeds & FeedsODSA Proof of Concept SmartNIC Speeds & Feeds
ODSA Proof of Concept SmartNIC Speeds & FeedsODSA Workgroup
 
Introducing the Future of Data Center Interconnect Networks
Introducing the Future of Data Center Interconnect NetworksIntroducing the Future of Data Center Interconnect Networks
Introducing the Future of Data Center Interconnect NetworksADVA
 
Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)
Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)
Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)Ontico
 

Similar to TRex Traffic Generator - Hanoch Haim (20)

Инновации Cisco для операторов связи
Инновации Cisco для операторов связиИнновации Cisco для операторов связи
Инновации Cisco для операторов связи
 
High-performance 32G Fibre Channel Module on MDS 9700 Directors:
High-performance 32G Fibre Channel Module on MDS 9700 Directors:High-performance 32G Fibre Channel Module on MDS 9700 Directors:
High-performance 32G Fibre Channel Module on MDS 9700 Directors:
 
DPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitch
DPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitchDPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitch
DPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitch
 
PLNOG16: Obsługa 100M pps na platformie PC , Przemysław Frasunek, Paweł Mała...
PLNOG16: Obsługa 100M pps na platformie PC, Przemysław Frasunek, Paweł Mała...PLNOG16: Obsługa 100M pps na platformie PC, Przemysław Frasunek, Paweł Mała...
PLNOG16: Obsługa 100M pps na platformie PC , Przemysław Frasunek, Paweł Mała...
 
100 M pps on PC.
100 M pps on PC.100 M pps on PC.
100 M pps on PC.
 
Fast datastacks - fast and flexible nfv solution stacks leveraging fd.io
Fast datastacks - fast and flexible nfv solution stacks leveraging fd.ioFast datastacks - fast and flexible nfv solution stacks leveraging fd.io
Fast datastacks - fast and flexible nfv solution stacks leveraging fd.io
 
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceAdding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
 
20160927-tierney-improving-performance-40G-100G-data-transfer-nodes.pdf
20160927-tierney-improving-performance-40G-100G-data-transfer-nodes.pdf20160927-tierney-improving-performance-40G-100G-data-transfer-nodes.pdf
20160927-tierney-improving-performance-40G-100G-data-transfer-nodes.pdf
 
Continuum pcap-oem
Continuum pcap-oemContinuum pcap-oem
Continuum pcap-oem
 
Full PPT Stack
Full PPT StackFull PPT Stack
Full PPT Stack
 
Aceleracion TCP Mikrotik.pdf
Aceleracion TCP Mikrotik.pdfAceleracion TCP Mikrotik.pdf
Aceleracion TCP Mikrotik.pdf
 
BGP Flowspec (RFC5575) Case study and Discussion
BGP Flowspec (RFC5575) Case study and DiscussionBGP Flowspec (RFC5575) Case study and Discussion
BGP Flowspec (RFC5575) Case study and Discussion
 
Cumulus Linux 2.5.5 What's New
Cumulus Linux 2.5.5 What's NewCumulus Linux 2.5.5 What's New
Cumulus Linux 2.5.5 What's New
 
The Data Center and Hadoop
The Data Center and HadoopThe Data Center and Hadoop
The Data Center and Hadoop
 
Cisco EuroMPI'13 vendor session presentation
Cisco EuroMPI'13 vendor session presentationCisco EuroMPI'13 vendor session presentation
Cisco EuroMPI'13 vendor session presentation
 
100Gbps OpenStack For Providing High-Performance NFV
100Gbps OpenStack For Providing High-Performance NFV100Gbps OpenStack For Providing High-Performance NFV
100Gbps OpenStack For Providing High-Performance NFV
 
ODSA Proof of Concept SmartNIC Speeds & Feeds
ODSA Proof of Concept SmartNIC Speeds & FeedsODSA Proof of Concept SmartNIC Speeds & Feeds
ODSA Proof of Concept SmartNIC Speeds & Feeds
 
Brkdct 3101
Brkdct 3101Brkdct 3101
Brkdct 3101
 
Introducing the Future of Data Center Interconnect Networks
Introducing the Future of Data Center Interconnect NetworksIntroducing the Future of Data Center Interconnect Networks
Introducing the Future of Data Center Interconnect Networks
 
Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)
Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)
Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)
 

More from harryvanhaaren

The 7 Deadly Sins of Packet Processing - Venky Venkatesan and Bruce Richardson
The 7 Deadly Sins of Packet Processing - Venky Venkatesan and Bruce RichardsonThe 7 Deadly Sins of Packet Processing - Venky Venkatesan and Bruce Richardson
The 7 Deadly Sins of Packet Processing - Venky Venkatesan and Bruce Richardsonharryvanhaaren
 
Symmetric Crypto for DPDK - Declan Doherty
Symmetric Crypto for DPDK - Declan DohertySymmetric Crypto for DPDK - Declan Doherty
Symmetric Crypto for DPDK - Declan Dohertyharryvanhaaren
 
Performance Lessons learned in vRouter - Stephen Hemminger
Performance Lessons learned in vRouter - Stephen HemmingerPerformance Lessons learned in vRouter - Stephen Hemminger
Performance Lessons learned in vRouter - Stephen Hemmingerharryvanhaaren
 
Dpdk Validation - Liu, Yong
Dpdk Validation - Liu, YongDpdk Validation - Liu, Yong
Dpdk Validation - Liu, Yongharryvanhaaren
 
Packet Framework - Cristian Dumitrescu
Packet Framework - Cristian DumitrescuPacket Framework - Cristian Dumitrescu
Packet Framework - Cristian Dumitrescuharryvanhaaren
 
Project growth & Next steps - Thomas monjalon
 Project growth & Next steps - Thomas monjalon Project growth & Next steps - Thomas monjalon
Project growth & Next steps - Thomas monjalonharryvanhaaren
 
Hotplug and Virtio - Tetsuya Mukawa
Hotplug and Virtio - Tetsuya MukawaHotplug and Virtio - Tetsuya Mukawa
Hotplug and Virtio - Tetsuya Mukawaharryvanhaaren
 
Generic Resource Manager - László Vadkerti, András Kovács
Generic Resource Manager - László Vadkerti, András KovácsGeneric Resource Manager - László Vadkerti, András Kovács
Generic Resource Manager - László Vadkerti, András Kovácsharryvanhaaren
 
OVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
OVS and DPDK - T.F. Herbert, K. Traynor, M. GrayOVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
OVS and DPDK - T.F. Herbert, K. Traynor, M. Grayharryvanhaaren
 
DPDK Architecture Musings - Andy Harvey
DPDK Architecture Musings - Andy HarveyDPDK Architecture Musings - Andy Harvey
DPDK Architecture Musings - Andy Harveyharryvanhaaren
 
DPDK Integration: A Product's Journey - Roger B. Melton
DPDK Integration: A Product's Journey - Roger B. MeltonDPDK Integration: A Product's Journey - Roger B. Melton
DPDK Integration: A Product's Journey - Roger B. Meltonharryvanhaaren
 
OpenDataPlane - Bill Fischofer
OpenDataPlane - Bill FischoferOpenDataPlane - Bill Fischofer
OpenDataPlane - Bill Fischoferharryvanhaaren
 
Hyperscan - Mohammad Abdul Awal
Hyperscan - Mohammad Abdul AwalHyperscan - Mohammad Abdul Awal
Hyperscan - Mohammad Abdul Awalharryvanhaaren
 

More from harryvanhaaren (13)

The 7 Deadly Sins of Packet Processing - Venky Venkatesan and Bruce Richardson
The 7 Deadly Sins of Packet Processing - Venky Venkatesan and Bruce RichardsonThe 7 Deadly Sins of Packet Processing - Venky Venkatesan and Bruce Richardson
The 7 Deadly Sins of Packet Processing - Venky Venkatesan and Bruce Richardson
 
Symmetric Crypto for DPDK - Declan Doherty
Symmetric Crypto for DPDK - Declan DohertySymmetric Crypto for DPDK - Declan Doherty
Symmetric Crypto for DPDK - Declan Doherty
 
Performance Lessons learned in vRouter - Stephen Hemminger
Performance Lessons learned in vRouter - Stephen HemmingerPerformance Lessons learned in vRouter - Stephen Hemminger
Performance Lessons learned in vRouter - Stephen Hemminger
 
Dpdk Validation - Liu, Yong
Dpdk Validation - Liu, YongDpdk Validation - Liu, Yong
Dpdk Validation - Liu, Yong
 
Packet Framework - Cristian Dumitrescu
Packet Framework - Cristian DumitrescuPacket Framework - Cristian Dumitrescu
Packet Framework - Cristian Dumitrescu
 
Project growth & Next steps - Thomas monjalon
 Project growth & Next steps - Thomas monjalon Project growth & Next steps - Thomas monjalon
Project growth & Next steps - Thomas monjalon
 
Hotplug and Virtio - Tetsuya Mukawa
Hotplug and Virtio - Tetsuya MukawaHotplug and Virtio - Tetsuya Mukawa
Hotplug and Virtio - Tetsuya Mukawa
 
Generic Resource Manager - László Vadkerti, András Kovács
Generic Resource Manager - László Vadkerti, András KovácsGeneric Resource Manager - László Vadkerti, András Kovács
Generic Resource Manager - László Vadkerti, András Kovács
 
OVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
OVS and DPDK - T.F. Herbert, K. Traynor, M. GrayOVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
OVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
 
DPDK Architecture Musings - Andy Harvey
DPDK Architecture Musings - Andy HarveyDPDK Architecture Musings - Andy Harvey
DPDK Architecture Musings - Andy Harvey
 
DPDK Integration: A Product's Journey - Roger B. Melton
DPDK Integration: A Product's Journey - Roger B. MeltonDPDK Integration: A Product's Journey - Roger B. Melton
DPDK Integration: A Product's Journey - Roger B. Melton
 
OpenDataPlane - Bill Fischofer
OpenDataPlane - Bill FischoferOpenDataPlane - Bill Fischofer
OpenDataPlane - Bill Fischofer
 
Hyperscan - Mohammad Abdul Awal
Hyperscan - Mohammad Abdul AwalHyperscan - Mohammad Abdul Awal
Hyperscan - Mohammad Abdul Awal
 

Recently uploaded

Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 

Recently uploaded (20)

Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 

TRex Traffic Generator - Hanoch Haim

  • 2. Current Situation • Networks include complex L4-7 features, such as • Load Balancer, DPI/AVC, Firewall, NAT • Requires testing with stateful and realistic traffic mix Firewall, NATDPI/AVCLB
  • 3. What problem is being solved? • Traffic generators for realistic traffic are • Expensive ~$100-500K • Not scalable for high rates • Not flexible • Implication • Limited and late testing • Different benchmarks and test methodologies • Real life bottlenecks and design issues
  • 4. What is TRex? • Stateful traffic generator • Generates, manipulates and amplifies based on templates of real, captured flows – no TCP/IP stack • High performance: up to 200 Gb/sec • Low cost: C220M UCS-1RU, Cisco internal – Standard server hardware • Flexible and Open Software - DPDK, ZMQ, Python libs • Virtualization (VMXNET3/E1000) • Easy installation and deployment
  • 6. High level software architecture CPU/Sharememory Share memo ry Intel NIC DP -thread 1 CP – thread 0 DP -thread 2 Rx – thread 5 IF0 Client IF1 Server IF2 Client IF3 Server DP -thread 3 DP -thread 4 • DPDK/Multi-Threaded • Scales linearly • ~20 Gb/sec per core • Supports 1/10/40 Gb Intel NICs • Flow-based • Fast event scheduler • Generates flow templates • Can support 1K templates • Scales up to 100K clients,1M servers • Flexible • Client/server generation models • Measures jitter/latency/flow order • NAT translation/IPv6/Tunnels • User Interface • Python API • Benchmark automation • GUI
  • 7. Flow Generation Total PPS = 𝑘=0 𝑛 𝐶𝑃𝑆 𝑘 × 𝑓𝑙𝑜𝑤_𝑝𝑘𝑡𝑠 𝑘 Total CPS = 𝑘=0 𝑛 𝐶𝑃𝑆 𝑘 Concurrent flows = 𝑘=0 𝑛 𝐶𝑃𝑆 𝑘 × 𝑓𝑙𝑜𝑤_𝑑𝑢𝑟𝑎𝑡𝑖𝑜𝑛 𝑘 • Example of one flow with four packets FIF FIF FIF
  • 12. Enterprise traffic profile • Includes protocols with Control/Data dependency • SIP • RTSP
  • 14. EMIX
  • 15. Demo routing Cisco ASR 1013 ESP100 100Gb/sec 13RU - 4KW UCS-220M2 32GB 2x8 cores 2Ghz 2x82559 NIC (4x10Gb/sec) 0.4KW 1RU , 2K$
  • 16. -Per port stats table ports | 0 | 1 | 2 | 3 ----------------------------------------------------------------------------------------- opackets | 71602327 | 82914082 | 71601627 | 82913259 obytes | 23990692045 | 67783397687 | 23990683213 | 67783032819 ipackets | 82914006 | 71602322 | 82913203 | 71601615 ibytes | 67783068258 | 23986183633 | 67782693539 | 23986134949 Tx Bw | 3.68 Gbps | 8.84 Gbps | 3.68 Gbps | 8.84 Gbps Cpu Utilization : 41.6 % 15.0 Gb/core Platform_factor : 1.0 Total-Tx : 25.04 Gbps Nat_time_out : 0 Total-Rx : 25.03 Gbps Nat_no_fid : 0 Total-PPS : 5.21 Mpps Total_nat_active: 33 Total-CPS : 103.16 Kcps Total_nat_open : 6697955 Active-flows : 90502 Clients : 248 Socket-util : 0.5795 % Open-flows : 6713475 Servers : 5368 Socket : 90502 Socket/Clients : 364.9 -Latency stats enabled Cpu Utilization : 7.2 % if| tx_ok , rx_ok , rx ,error, average , max , Jitter , max window | , , check, , latency(usec),latency (usec) ,(usec) , -------------------------------------------------------------------------------------------------------------- -- 0 | 65649, 65648, 647320, 0, 61 , 144, 13 | 111 130 138 107 127 110 1 | 65648, 65649, 552181, 0, 37 , 62, 3 | 42 42 43 39 38 39 38 2 | 65649, 65648, 660627, 0, 57 , 144, 11 | 103 139 130 97 126 3 | 65648, 65649, 562860, 0, 37 , 55, 3 | 39 41 39 39 46 39 39 -Rx Check stats enabled ------------------------------------------------------------------------------------------------------------ rx check: avg/max/jitter latency, 63 , 176, 18 | 130 158 159 138 155 175 136 active flows: 647, fif: 52193, drop: 0, errors: 0 ------------------------------------------------------------------------------------------------------------
  • 17.
  • 18. Configure NAT & Firewall
  • 19. -Global stats enabled Cpu Utilization : 34.9 % 15.9 Gb/core Platform_factor : 1.0 Total-Tx : 22.24 Gbps Nat_time_out : 3910462 Total-Rx : 22.24 Gbps Nat_no_fid : 735 Total-PPS : 4.87 Mpps Total_nat_active: 46 Total-CPS : 102.79 Kcps Total_nat_open : 11287417 Active-flows : 79813 Clients : 248 Socket-util : 0.5110 % Open-flows : 11313545 Servers : 5368 Socket : 79813 Socket/Clients : 321.8 -Latency stats enabled Cpu Utilization : 6.7 % if| tx_ok , rx_ok , rx ,error, average , max , Jitter , max window | , , check, , latency(usec),latency (usec) ,(usec) , -------------------------------------------------------------------------------------------------------------- -- 0 | 110281, 110279, 714052, 0, 204 , 14313, 16 | 807 1276 3439 935 850 5175 1 | 110280, 110280, 644514, 0, 91 , 10907, 5 | 802 653 1344 717 701 3436 2 | 110281, 110280, 720630, 0, 201 , 14355, 14 | 808 1194 3357 972 822 5177 3 | 110280, 110281, 645768, 0, 90 , 10491, 3 | 800 642 1349 706 699 3279 -Rx Check stats enabled ------------------------------------------------------------------------------------------------------------ rx check: avg/max/jitter latency, 180 , 14785, 407 | 2321 2546 4229 1627 1912 5275 active flows: 690, fif: 57593, drop: 14179, errors: 14552 ------------------------------------------------------------------------------------------------------------
  • 20.
  • 21. Roadmap • RPC support • Stateless support (Ostinato like) – Streams – Stats per stream – Any type of packet – GUI to build packet – Emulation • Stateful – TCP stack – SDK for light application
  • 22. TRex on your laptop (virtualbox)
  • 23. Resources • Web • GitHub • Manual • Presentation