SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
Intel®DPDK hands on session
Network Platforms Group
Legal Disclaimer
General Disclaimer:
© Copyright 2015 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.
FTC 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].
Software and workloads used in performance tests may have been optimized for performance only on Intel
microprocessors. Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems,
components, software, operations and functions. Any change to any of those factors may cause the results to vary. You
should consult other information and performance tests to assist you in fully evaluating your contemplated purchases,
including the performance of that product when combined with other products. For more complete information visit
http://www.intel.com/performance.
Network Platforms Group 3
Intel® DPDK Hands on Session
Agenda:
 Targeted demo setup
 Get DPDK from dpdk.org
 Configure DPDK environment
 Configure DPDK for a platform
 Compile DPDK
 Get patches for l3fwd from dpdk.org
 Apply patches to l3fwd and compile it
 Run pktgen and l3fwd
Network Platforms Group 4
Hands on session
Following slides describe DPDK hands on session for DPDK
2.0.0, for later versions some steps will not be valid, for
example, patching of l3fwd might not be needed if patches
are accepted for release 2.1.0
Network Platforms Group
11
00
5
Simplified setup: 2 VMs
pk-gen: generate packets
VM #1
VM #2
dpdk: forward packets
Depending on IPv4 address of generated packets l3fwd will forward packets to
port 0 or 1:
 1.1.1.x forwarded to port 0
 2.1.1.x forwarded to port 1
For even more simpler setup we can use just one port (echo mode)
Network Platforms Group
1
00
0
6
Targeted demo setup: 3 VMs
pk-gen: generate packets pk-sink: receive packets
VM #1 192.168.100.2 VM #3 192.168.100.4
VM #2 192.168.100.3
dpdk: forward packets
l3fwd links two
pktgens together.
We can start l3fwd manually or automatically (using rc.local)
xe0
10.10.10.2
xe0
10.10.20.2
xe1
10.10.20.1
xe0
10.10.10.1
Network Platforms Group 7
Get DPDK from dpdk.org
Two ways to get DPDK – download latest stable release or pull code using git
Git read-only access (do not do it for this session):
$ git clone git://dpdk.org/dpdk
Or, if git is blocked in your network:
$ git clone http://dpdk.org/git/dpdk
To download latest stable release (DPDK 2.0.0) to the home directory
(already pre-loaded for this session):
$ mkdir dpdk.org
$ wget –P dpdk.org http://dpdk.org/browse/dpdk/snapshot/dpdk-2.0.0.tar.gz
More info: http://dpdk.org/dev
Network Platforms Group 8
Configure DPDK environment
Two main DPDK environment variables:
 RTE_SDK – path to were DPDK is located
– /home/dpdk/dpdk in our case
 RTE_TARGET – DPDK target platform
– x86_64-native-linuxapp-gcc in our case
These variables can be added, for example, to ~/.bash_profile
DPDK configuration files are in $RTE_SDK/config folder:
~/dpdk/config$ ls
common_bsdapp defconfig_x86_64-ivshmem-linuxapp-gcc defconfig_x86_64-native-linuxapp-gcc
common_linuxapp defconfig_x86_64-ivshmem-linuxapp-icc defconfig_x86_64-native-linuxapp-icc
defconfig_i686-native-linuxapp-gcc defconfig_x86_64-native-bsdapp-clang defconfig_x86_x32-native-linuxapp-gcc
defconfig_i686-native-linuxapp-icc defconfig_x86_64-native-bsdapp-gcc
defconfig_ppc_64-power8-linuxapp-gcc defconfig_x86_64-native-linuxapp-clang
Network Platforms Group 9
Configure DPDK platform
All platforms are listed in $RTE_SDK/config/common_linuxconfig:
## machine can define specific variables or action for a specific board
## RTE_MACHINE can be:
## default nothing specific
## native current machine
## atm Intel® Atom microarchitecture
## nhm Intel® microarchitecture code name Nehalem
## wsm Intel® microarchitecture code name Westmere
## snb Intel® microarchitecture code name Sandy Bridge
## ivb Intel® microarchitecture code name Ivy Bridge
##
If you want to cross-compile DPDK for different CPU platform not listed in dpdk/config/* files you can
edit existing config files or create new configuration (proper way) and change CONFIG_RTE_MACHINE.
For example, to compile for Sandy Bridge on Haswell platform copy
defconfig_x86_64-native-linuxapp-gcc to defconfig_x86_64-snb-linuxapp-gcc and edit it by setting
CONFIG_RTE_MACHINE=snb
Network Platforms Group 10
Compile DPDK
DPDK 2.0 already pre-loaded to ~/dpdk.org folder
$ tar xzvf dpdk.org/dpdk-2.0.0.tar.gz
Tip: Create a link to dpdk sources so you can switch between different versions
easily: $ ln –s dpdk-2.0.0 dpdk (already created)
Edit configuration file: $vi dpdk/config/defconfig_x86_64-native-linuxapp-gcc
And set CONFIG_RTE_MACHINE=default
Compile DPDK using provided setup script:
$ ./dpdk/tools/setup.sh
-> option 9: x86_64-native-linuxapp-gcc
-> option 12: Insert IGB UIO module
-> option 15: allocate 400 huge pages
-> option 30: exit
Network Platforms Group 11
DPDK l3fwd example
The L3 Forwarding application is a simple example of packet processing using
the DPDK. The application performs L3 forwarding.
The main difference from the L2 Forwarding sample application is that the
forwarding decision is made based on information read from the input packet.
The lookup method is either hash-based or LPM-based and is selected at
compile time. We will use LMP-based (default).
Additional l3fwd examples (not covered in this hand-on session):
 l3fwd-power - power-aware packet processing
 l3fwd-acl – packet processing with ACL library
 l3fwd-vf – packet processing with SR-IOV virtual functions
Network Platforms Group 12
Get patches for l3fwd from dpdk.org
DPDK patches submitted to dpdk.org but not yet applied can be downloaded
from Patchwork http://dpdk.org/dev/patchwork/project/dpdk/list/
We already have two l3fwd patches preloaded:
 Patch 4752 [dpdk-dev] examples: add ip version check for l3fwd app
$ wget http://dpdk.org/dev/patchwork/patch/4752/raw/ -O dpdk.org/4752.patch
 Patch 4774 [dpdk-dev,v2] l3fwd: make destination mac address configurable
$ wget http://dpdk.org/dev/patchwork/patch/4774/raw/ -O dpdk.org/4774.patch
First patch enables IP classification on emulated network devices, second adds
ability to configure l3fwd destination Ethernet address for forwarding ports
Network Platforms Group 13
Apply patches for l3fwd and compile
To apply patches:
$ cd ~/dpdk
$ patch -p 1 -i ../dpdk.org/4752.patch
patching file examples/l3fwd/main.c
$ patch -p 1 -i ../dpdk.org/4774.patch
patching file examples/l3fwd/main.c
Edit vi examples/l3fwd/main.c and set IP version check to 1:
#define DO_IP_VERSION_CHECK 1
to enable SW classification of IP packets.
Make l3fwd:
$ cd examples/l3fwd
$ make
Network Platforms Group 14
Run l3fwd manually (cont)
To find MAC addresses for destination ports:
$ ping –c 1 10.10.10.2
$ ping –c 1 10.10.20.2
$ arp -a
? (10.10.10.2) at 02:00:05:00:03:08 [ether] on xe0
? (10.10.20.2) at 02:00:05:00:04:01 [ether] on xe1
Now we can use these MAC addresses to start l3fwd manually, but first we need
to bind ports to DPDK:
$ sudo ~/dpdk/tools/dpdk_nic_bind.py --force --bind=igb_uio 00:10.0 00:11.0
(we can use aliases dpstat, dpbind, dpunbind we created in bash_aliases files)
Network Platforms Group 15
Run l3fwd manually
To start l3fwd manually:
$ sudo ./build/l3fwd -c 2 -n 2 -- -p 0x03 --config “(0,0,1),(1,0,1)”
--eth-dest 0,02:00:05:00:03:08 --eth-dest 1,02:00:05:00:04:01
Where:
-c 2: start l3fwd on core 1 (-c accepts hex mask of cores to run DPDK app on)
-n 2: number of memory channels to use, depending on a platform
--: separator for DPDK/app command line options
-p 0x03: hex mask for ports to be used by l3fwd
--config “(0,0,1),(1,0,1)”: configuration: (port,queue,core)
--eth-dest 0,02:00:05:00:03:08: port’s destination Ethernet address
Network Platforms Group 16
Run l3fwd manually
Network Platforms Group 17
Run our demo scenario
We are using 3 VMs setup:
 VM#1 pk-gen – pktgen generating packets on port #0
 VM#2 dpdk – l3fwd forwarding packets between two pktgens
 VM#3 pk-sink – pktgen receiving packets
VMs are configured to automatically allocate hugepages and load DPDK igb_uio
driver automatically at reboot. VM#1 and VM#3 have pktgen preinstalled, so no
need to compile, we can just run pktgen. There is a script in home folder which
can be used for start pktgen on pk-gen and pk-sink VMs:
[dpdk@pk-gen ~]$ ./pktgen.sh
This script binds port to igb_uio and starts pktgen.
Network Platforms Group 18
pktgen (pk-gen VM)
On pk-gen VM ./ptkgen.sh
will automatically set ip
dest and mac for port 0
(load from set_flow.pkt)
so now we just need to
start a flow by typing in
pktgen command prompt
Pktgen> start 0
Network Platforms Group 19
pktgen (pk-gen VM)
pktgen start generating
packets – Tx counter
increments. Note: If you
want to test that l3fwd is
running and forwarding
packets you can overwrite ip
dst for port 0 to 1.1.1x:
Pktgen> stop 0
Pktgen> sleep 1
Pktgen> set ip dst 0 1.1.1.24
Pktgen> start 0
To limit TX rate to 1% we
can use
Pktgen> set 0 rate 1
Network Platforms Group 20
pktgen (pk-sink VM)
On pk-sink VM ./ptkgen.sh
will start pktgen. As we are
not generating packets on
this VM we do not need to do
anything, just watch RX
counter incrementing.
To exit from pktgen:
Pktgen> quit
Network Platforms Group 21
Run l3fwd automatically
There is a script automatically run by rc.local on system startup which allocates
hugepages and loads igb_uio module. We can use it to start l3fwd automatically
as well.
First exit from l3fwd by Ctrl+C. Now just rename auto.sh_ to auto.sh:
$ cd ~
$ mv auto.sh_ auto.sh
Stop pktgens by typing “quit” command in pktgen command prompt and
reboot all 3 VM: $ reboot
After reboot we can attach to l3fwd screen to make sure that it is running
$ sudo screen –x
Now we can start pktgens again
Network Platforms Group 22
For deployment on pool of resources
Need to update start.sh script as follows:
• On [dpdk] host download new start.sh as follows:
$ cd ~
$ wget https://github.com/gerardo-garcia/movilforum2015/raw/master/start.sh -O
start.sh
$ chmod +x start.sh
7 hands on

Mais conteúdo relacionado

Mais procurados

How to Speak Intel DPDK KNI for Web Services.
How to Speak Intel DPDK KNI for Web Services.How to Speak Intel DPDK KNI for Web Services.
How to Speak Intel DPDK KNI for Web Services.Naoto MATSUMOTO
 
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングTomoya Hibi
 
Intel DPDK Step by Step instructions
Intel DPDK Step by Step instructionsIntel DPDK Step by Step instructions
Intel DPDK Step by Step instructionsHisaki Ohara
 
Understanding DPDK algorithmics
Understanding DPDK algorithmicsUnderstanding DPDK algorithmics
Understanding DPDK algorithmicsDenys Haryachyy
 
Building Network Functions with eBPF & BCC
Building Network Functions with eBPF & BCCBuilding Network Functions with eBPF & BCC
Building Network Functions with eBPF & BCCKernel TLV
 
Linux kernel tracing
Linux kernel tracingLinux kernel tracing
Linux kernel tracingViller Hsiao
 
Introduction to DPDK
Introduction to DPDKIntroduction to DPDK
Introduction to DPDKKernel TLV
 
Enable DPDK and SR-IOV for containerized virtual network functions with zun
Enable DPDK and SR-IOV for containerized virtual network functions with zunEnable DPDK and SR-IOV for containerized virtual network functions with zun
Enable DPDK and SR-IOV for containerized virtual network functions with zunheut2008
 
LinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughLinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughThomas Graf
 
Using VPP and SRIO-V with Clear Containers
Using VPP and SRIO-V with Clear ContainersUsing VPP and SRIO-V with Clear Containers
Using VPP and SRIO-V with Clear ContainersMichelle Holley
 
eBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux KerneleBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux KernelThomas Graf
 
eBPF Trace from Kernel to Userspace
eBPF Trace from Kernel to UserspaceeBPF Trace from Kernel to Userspace
eBPF Trace from Kernel to UserspaceSUSE Labs Taipei
 
Ovs dpdk hwoffload way to full offload
Ovs dpdk hwoffload way to full offloadOvs dpdk hwoffload way to full offload
Ovs dpdk hwoffload way to full offloadKevin Traynor
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking ExplainedThomas Graf
 
DPDK & Layer 4 Packet Processing
DPDK & Layer 4 Packet ProcessingDPDK & Layer 4 Packet Processing
DPDK & Layer 4 Packet ProcessingMichelle Holley
 
FD.IO Vector Packet Processing
FD.IO Vector Packet ProcessingFD.IO Vector Packet Processing
FD.IO Vector Packet ProcessingKernel TLV
 
Using GTP on Linux with libgtpnl
Using GTP on Linux with libgtpnlUsing GTP on Linux with libgtpnl
Using GTP on Linux with libgtpnlKentaro Ebisawa
 
Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)Andriy Berestovskyy
 
1 intro to_dpdk_and_hw
1 intro to_dpdk_and_hw1 intro to_dpdk_and_hw
1 intro to_dpdk_and_hwvideos
 

Mais procurados (20)

How to Speak Intel DPDK KNI for Web Services.
How to Speak Intel DPDK KNI for Web Services.How to Speak Intel DPDK KNI for Web Services.
How to Speak Intel DPDK KNI for Web Services.
 
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
 
Intel DPDK Step by Step instructions
Intel DPDK Step by Step instructionsIntel DPDK Step by Step instructions
Intel DPDK Step by Step instructions
 
Understanding DPDK algorithmics
Understanding DPDK algorithmicsUnderstanding DPDK algorithmics
Understanding DPDK algorithmics
 
Building Network Functions with eBPF & BCC
Building Network Functions with eBPF & BCCBuilding Network Functions with eBPF & BCC
Building Network Functions with eBPF & BCC
 
Ixgbe internals
Ixgbe internalsIxgbe internals
Ixgbe internals
 
Linux kernel tracing
Linux kernel tracingLinux kernel tracing
Linux kernel tracing
 
Introduction to DPDK
Introduction to DPDKIntroduction to DPDK
Introduction to DPDK
 
Enable DPDK and SR-IOV for containerized virtual network functions with zun
Enable DPDK and SR-IOV for containerized virtual network functions with zunEnable DPDK and SR-IOV for containerized virtual network functions with zun
Enable DPDK and SR-IOV for containerized virtual network functions with zun
 
LinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughLinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking Walkthrough
 
Using VPP and SRIO-V with Clear Containers
Using VPP and SRIO-V with Clear ContainersUsing VPP and SRIO-V with Clear Containers
Using VPP and SRIO-V with Clear Containers
 
eBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux KerneleBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux Kernel
 
eBPF Trace from Kernel to Userspace
eBPF Trace from Kernel to UserspaceeBPF Trace from Kernel to Userspace
eBPF Trace from Kernel to Userspace
 
Ovs dpdk hwoffload way to full offload
Ovs dpdk hwoffload way to full offloadOvs dpdk hwoffload way to full offload
Ovs dpdk hwoffload way to full offload
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking Explained
 
DPDK & Layer 4 Packet Processing
DPDK & Layer 4 Packet ProcessingDPDK & Layer 4 Packet Processing
DPDK & Layer 4 Packet Processing
 
FD.IO Vector Packet Processing
FD.IO Vector Packet ProcessingFD.IO Vector Packet Processing
FD.IO Vector Packet Processing
 
Using GTP on Linux with libgtpnl
Using GTP on Linux with libgtpnlUsing GTP on Linux with libgtpnl
Using GTP on Linux with libgtpnl
 
Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)
 
1 intro to_dpdk_and_hw
1 intro to_dpdk_and_hw1 intro to_dpdk_and_hw
1 intro to_dpdk_and_hw
 

Destaque

8 intel network builders overview
8 intel network builders overview8 intel network builders overview
8 intel network builders overviewvideos
 
9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_training9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_trainingvideos
 
3 additional dpdk_theory(1)
3 additional dpdk_theory(1)3 additional dpdk_theory(1)
3 additional dpdk_theory(1)videos
 
4 dpdk roadmap(1)
4 dpdk roadmap(1)4 dpdk roadmap(1)
4 dpdk roadmap(1)videos
 
5. hands on - building local development environment with Open Mano
5. hands on - building local development environment with Open Mano5. hands on - building local development environment with Open Mano
5. hands on - building local development environment with Open Manovideos
 
6. hands on - open mano demonstration in remote pool of servers
6. hands on - open mano demonstration in remote pool of servers6. hands on - open mano demonstration in remote pool of servers
6. hands on - open mano demonstration in remote pool of serversvideos
 
6 profiling tools
6 profiling tools6 profiling tools
6 profiling toolsvideos
 
2 new hw_features_cat_cod_etc
2 new hw_features_cat_cod_etc2 new hw_features_cat_cod_etc
2 new hw_features_cat_cod_etcvideos
 
4. open mano set up and usage
4. open mano set up and usage4. open mano set up and usage
4. open mano set up and usagevideos
 
Introduction to nfv movilforum
Introduction to nfv   movilforumIntroduction to nfv   movilforum
Introduction to nfv movilforumvideos
 
3. configuring a compute node for nfv
3. configuring a compute node for nfv3. configuring a compute node for nfv
3. configuring a compute node for nfvvideos
 
5 pipeline arch_rationale
5 pipeline arch_rationale5 pipeline arch_rationale
5 pipeline arch_rationalevideos
 
Introduction to Open Mano
Introduction to Open ManoIntroduction to Open Mano
Introduction to Open Manovideos
 
Bases legales reto NFV/ Nfv challenge terms
Bases legales reto NFV/ Nfv challenge termsBases legales reto NFV/ Nfv challenge terms
Bases legales reto NFV/ Nfv challenge termsvideos
 
Intrucciones reto NFV/ Instruction to apply to nfv challenge
Intrucciones reto NFV/ Instruction to apply to nfv challengeIntrucciones reto NFV/ Instruction to apply to nfv challenge
Intrucciones reto NFV/ Instruction to apply to nfv challengevideos
 
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFVOpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFVCloud Native Day Tel Aviv
 
Linux Profiling at Netflix
Linux Profiling at NetflixLinux Profiling at Netflix
Linux Profiling at NetflixBrendan Gregg
 

Destaque (17)

8 intel network builders overview
8 intel network builders overview8 intel network builders overview
8 intel network builders overview
 
9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_training9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_training
 
3 additional dpdk_theory(1)
3 additional dpdk_theory(1)3 additional dpdk_theory(1)
3 additional dpdk_theory(1)
 
4 dpdk roadmap(1)
4 dpdk roadmap(1)4 dpdk roadmap(1)
4 dpdk roadmap(1)
 
5. hands on - building local development environment with Open Mano
5. hands on - building local development environment with Open Mano5. hands on - building local development environment with Open Mano
5. hands on - building local development environment with Open Mano
 
6. hands on - open mano demonstration in remote pool of servers
6. hands on - open mano demonstration in remote pool of servers6. hands on - open mano demonstration in remote pool of servers
6. hands on - open mano demonstration in remote pool of servers
 
6 profiling tools
6 profiling tools6 profiling tools
6 profiling tools
 
2 new hw_features_cat_cod_etc
2 new hw_features_cat_cod_etc2 new hw_features_cat_cod_etc
2 new hw_features_cat_cod_etc
 
4. open mano set up and usage
4. open mano set up and usage4. open mano set up and usage
4. open mano set up and usage
 
Introduction to nfv movilforum
Introduction to nfv   movilforumIntroduction to nfv   movilforum
Introduction to nfv movilforum
 
3. configuring a compute node for nfv
3. configuring a compute node for nfv3. configuring a compute node for nfv
3. configuring a compute node for nfv
 
5 pipeline arch_rationale
5 pipeline arch_rationale5 pipeline arch_rationale
5 pipeline arch_rationale
 
Introduction to Open Mano
Introduction to Open ManoIntroduction to Open Mano
Introduction to Open Mano
 
Bases legales reto NFV/ Nfv challenge terms
Bases legales reto NFV/ Nfv challenge termsBases legales reto NFV/ Nfv challenge terms
Bases legales reto NFV/ Nfv challenge terms
 
Intrucciones reto NFV/ Instruction to apply to nfv challenge
Intrucciones reto NFV/ Instruction to apply to nfv challengeIntrucciones reto NFV/ Instruction to apply to nfv challenge
Intrucciones reto NFV/ Instruction to apply to nfv challenge
 
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFVOpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
 
Linux Profiling at Netflix
Linux Profiling at NetflixLinux Profiling at Netflix
Linux Profiling at Netflix
 

Semelhante a 7 hands on

26.1.7 lab snort and firewall rules
26.1.7 lab   snort and firewall rules26.1.7 lab   snort and firewall rules
26.1.7 lab snort and firewall rulesFreddy Buenaño
 
Integrating Apache Web Server with Tomcat Application Server
Integrating Apache Web Server with Tomcat Application ServerIntegrating Apache Web Server with Tomcat Application Server
Integrating Apache Web Server with Tomcat Application Serverwebhostingguy
 
Integrating Apache Web Server with Tomcat Application Server
Integrating Apache Web Server with Tomcat Application ServerIntegrating Apache Web Server with Tomcat Application Server
Integrating Apache Web Server with Tomcat Application Serverwebhostingguy
 
Free radius billing server with practical vpn exmaple
Free radius billing server with practical vpn exmapleFree radius billing server with practical vpn exmaple
Free radius billing server with practical vpn exmapleChanaka Lasantha
 
Linux hpc-cluster-setup-guide
Linux hpc-cluster-setup-guideLinux hpc-cluster-setup-guide
Linux hpc-cluster-setup-guidejasembo
 
Network Automation Tools
Network Automation ToolsNetwork Automation Tools
Network Automation ToolsEdwin Beekman
 
How to Use GSM/3G/4G in Embedded Linux Systems
How to Use GSM/3G/4G in Embedded Linux SystemsHow to Use GSM/3G/4G in Embedded Linux Systems
How to Use GSM/3G/4G in Embedded Linux SystemsToradex
 
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHPHands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHPDana Luther
 
Android 5.0 Lollipop platform change investigation report
Android 5.0 Lollipop platform change investigation reportAndroid 5.0 Lollipop platform change investigation report
Android 5.0 Lollipop platform change investigation reporthidenorly
 
Real World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and ProductionReal World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and ProductionBen Hall
 
Video Gateway Installation and configuration
Video Gateway Installation and configurationVideo Gateway Installation and configuration
Video Gateway Installation and configurationsreeharsha43
 
Docker Networking with New Ipvlan and Macvlan Drivers
Docker Networking with New Ipvlan and Macvlan DriversDocker Networking with New Ipvlan and Macvlan Drivers
Docker Networking with New Ipvlan and Macvlan DriversBrent Salisbury
 
Presentation1.pptx
Presentation1.pptxPresentation1.pptx
Presentation1.pptxJayakumarS71
 
Recipe to build open splice dds 6.3.xxx Hello World example over Qt 5.2
 Recipe to build open splice dds 6.3.xxx Hello World example over Qt 5.2   Recipe to build open splice dds 6.3.xxx Hello World example over Qt 5.2
Recipe to build open splice dds 6.3.xxx Hello World example over Qt 5.2 Adil Khan
 
RAC-Installing your First Cluster and Database
RAC-Installing your First Cluster and DatabaseRAC-Installing your First Cluster and Database
RAC-Installing your First Cluster and DatabaseNikhil Kumar
 
图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库
图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库
图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库maclean liu
 
4 implementation
4 implementation4 implementation
4 implementationhanmya
 

Semelhante a 7 hands on (20)

26.1.7 lab snort and firewall rules
26.1.7 lab   snort and firewall rules26.1.7 lab   snort and firewall rules
26.1.7 lab snort and firewall rules
 
Integrating Apache Web Server with Tomcat Application Server
Integrating Apache Web Server with Tomcat Application ServerIntegrating Apache Web Server with Tomcat Application Server
Integrating Apache Web Server with Tomcat Application Server
 
Integrating Apache Web Server with Tomcat Application Server
Integrating Apache Web Server with Tomcat Application ServerIntegrating Apache Web Server with Tomcat Application Server
Integrating Apache Web Server with Tomcat Application Server
 
Free radius billing server with practical vpn exmaple
Free radius billing server with practical vpn exmapleFree radius billing server with practical vpn exmaple
Free radius billing server with practical vpn exmaple
 
Linux hpc-cluster-setup-guide
Linux hpc-cluster-setup-guideLinux hpc-cluster-setup-guide
Linux hpc-cluster-setup-guide
 
Network Automation Tools
Network Automation ToolsNetwork Automation Tools
Network Automation Tools
 
How to Use GSM/3G/4G in Embedded Linux Systems
How to Use GSM/3G/4G in Embedded Linux SystemsHow to Use GSM/3G/4G in Embedded Linux Systems
How to Use GSM/3G/4G in Embedded Linux Systems
 
Basic Linux kernel
Basic Linux kernelBasic Linux kernel
Basic Linux kernel
 
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHPHands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
 
Android 5.0 Lollipop platform change investigation report
Android 5.0 Lollipop platform change investigation reportAndroid 5.0 Lollipop platform change investigation report
Android 5.0 Lollipop platform change investigation report
 
Real World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and ProductionReal World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and Production
 
Video Gateway Installation and configuration
Video Gateway Installation and configurationVideo Gateway Installation and configuration
Video Gateway Installation and configuration
 
Howto Pxeboot
Howto PxebootHowto Pxeboot
Howto Pxeboot
 
Docker Networking with New Ipvlan and Macvlan Drivers
Docker Networking with New Ipvlan and Macvlan DriversDocker Networking with New Ipvlan and Macvlan Drivers
Docker Networking with New Ipvlan and Macvlan Drivers
 
Presentation1.pptx
Presentation1.pptxPresentation1.pptx
Presentation1.pptx
 
Recipe to build open splice dds 6.3.xxx Hello World example over Qt 5.2
 Recipe to build open splice dds 6.3.xxx Hello World example over Qt 5.2   Recipe to build open splice dds 6.3.xxx Hello World example over Qt 5.2
Recipe to build open splice dds 6.3.xxx Hello World example over Qt 5.2
 
Alta disponibilidad en GNU/Linux
Alta disponibilidad en GNU/LinuxAlta disponibilidad en GNU/Linux
Alta disponibilidad en GNU/Linux
 
RAC-Installing your First Cluster and Database
RAC-Installing your First Cluster and DatabaseRAC-Installing your First Cluster and Database
RAC-Installing your First Cluster and Database
 
图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库
图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库
图文详解安装Net backup 6.5备份恢复oracle 10g rac 数据库
 
4 implementation
4 implementation4 implementation
4 implementation
 

Mais de videos

Logros y retos evento movilforum 02/2016
Logros y retos evento movilforum 02/2016Logros y retos evento movilforum 02/2016
Logros y retos evento movilforum 02/2016videos
 
Presentación Atlantida en Networking Day moviforum
Presentación Atlantida en Networking Day moviforum Presentación Atlantida en Networking Day moviforum
Presentación Atlantida en Networking Day moviforum videos
 
Presentación Quetal en Networking Day moviforum
Presentación Quetal  en Networking Day moviforum Presentación Quetal  en Networking Day moviforum
Presentación Quetal en Networking Day moviforum videos
 
Presentación GMTECH en Networking Day moviforum
Presentación GMTECH en Networking Day moviforum Presentación GMTECH en Networking Day moviforum
Presentación GMTECH en Networking Day moviforum videos
 
Presentación movilok en Networking Day moviforum
Presentación movilok en Networking Day moviforum Presentación movilok en Networking Day moviforum
Presentación movilok en Networking Day moviforum videos
 
Presentación 3G mobile en Networking Day moviforum
Presentación 3G mobile en Networking Day moviforumPresentación 3G mobile en Networking Day moviforum
Presentación 3G mobile en Networking Day moviforumvideos
 
Presentación microestrategy en Networking Day moviforum
Presentación microestrategy en Networking Day moviforumPresentación microestrategy en Networking Day moviforum
Presentación microestrategy en Networking Day moviforumvideos
 
Presentación Telnet en Networking Day moviforum
Presentación Telnet en Networking Day moviforumPresentación Telnet en Networking Day moviforum
Presentación Telnet en Networking Day moviforumvideos
 
Presentación Alma technology en Networking Day movilforum
Presentación Alma technology en Networking Day movilforumPresentación Alma technology en Networking Day movilforum
Presentación Alma technology en Networking Day movilforumvideos
 
Presentación acuerdo de colaboración Fieldeas y EasyOnPad en Networking Day m...
Presentación acuerdo de colaboración Fieldeas y EasyOnPad en Networking Day m...Presentación acuerdo de colaboración Fieldeas y EasyOnPad en Networking Day m...
Presentación acuerdo de colaboración Fieldeas y EasyOnPad en Networking Day m...videos
 
Presentación Icar Vision en Networking Day movilforum
Presentación Icar Vision en Networking Day movilforumPresentación Icar Vision en Networking Day movilforum
Presentación Icar Vision en Networking Day movilforumvideos
 
Presentación Billage en Networking Day movilforum
Presentación Billage en Networking Day movilforumPresentación Billage en Networking Day movilforum
Presentación Billage en Networking Day movilforumvideos
 
Presentación Face On en Networking Day movilforum
Presentación Face On en Networking Day movilforumPresentación Face On en Networking Day movilforum
Presentación Face On en Networking Day movilforumvideos
 
Hp nfv movilforum as innovation engine for cs ps
Hp nfv movilforum as innovation engine for cs psHp nfv movilforum as innovation engine for cs ps
Hp nfv movilforum as innovation engine for cs psvideos
 

Mais de videos (14)

Logros y retos evento movilforum 02/2016
Logros y retos evento movilforum 02/2016Logros y retos evento movilforum 02/2016
Logros y retos evento movilforum 02/2016
 
Presentación Atlantida en Networking Day moviforum
Presentación Atlantida en Networking Day moviforum Presentación Atlantida en Networking Day moviforum
Presentación Atlantida en Networking Day moviforum
 
Presentación Quetal en Networking Day moviforum
Presentación Quetal  en Networking Day moviforum Presentación Quetal  en Networking Day moviforum
Presentación Quetal en Networking Day moviforum
 
Presentación GMTECH en Networking Day moviforum
Presentación GMTECH en Networking Day moviforum Presentación GMTECH en Networking Day moviforum
Presentación GMTECH en Networking Day moviforum
 
Presentación movilok en Networking Day moviforum
Presentación movilok en Networking Day moviforum Presentación movilok en Networking Day moviforum
Presentación movilok en Networking Day moviforum
 
Presentación 3G mobile en Networking Day moviforum
Presentación 3G mobile en Networking Day moviforumPresentación 3G mobile en Networking Day moviforum
Presentación 3G mobile en Networking Day moviforum
 
Presentación microestrategy en Networking Day moviforum
Presentación microestrategy en Networking Day moviforumPresentación microestrategy en Networking Day moviforum
Presentación microestrategy en Networking Day moviforum
 
Presentación Telnet en Networking Day moviforum
Presentación Telnet en Networking Day moviforumPresentación Telnet en Networking Day moviforum
Presentación Telnet en Networking Day moviforum
 
Presentación Alma technology en Networking Day movilforum
Presentación Alma technology en Networking Day movilforumPresentación Alma technology en Networking Day movilforum
Presentación Alma technology en Networking Day movilforum
 
Presentación acuerdo de colaboración Fieldeas y EasyOnPad en Networking Day m...
Presentación acuerdo de colaboración Fieldeas y EasyOnPad en Networking Day m...Presentación acuerdo de colaboración Fieldeas y EasyOnPad en Networking Day m...
Presentación acuerdo de colaboración Fieldeas y EasyOnPad en Networking Day m...
 
Presentación Icar Vision en Networking Day movilforum
Presentación Icar Vision en Networking Day movilforumPresentación Icar Vision en Networking Day movilforum
Presentación Icar Vision en Networking Day movilforum
 
Presentación Billage en Networking Day movilforum
Presentación Billage en Networking Day movilforumPresentación Billage en Networking Day movilforum
Presentación Billage en Networking Day movilforum
 
Presentación Face On en Networking Day movilforum
Presentación Face On en Networking Day movilforumPresentación Face On en Networking Day movilforum
Presentación Face On en Networking Day movilforum
 
Hp nfv movilforum as innovation engine for cs ps
Hp nfv movilforum as innovation engine for cs psHp nfv movilforum as innovation engine for cs ps
Hp nfv movilforum as innovation engine for cs ps
 

Último

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 

Último (20)

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

7 hands on

  • 2. Network Platforms Group Legal Disclaimer General Disclaimer: © Copyright 2015 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. FTC 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]. Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. For more complete information visit http://www.intel.com/performance.
  • 3. Network Platforms Group 3 Intel® DPDK Hands on Session Agenda:  Targeted demo setup  Get DPDK from dpdk.org  Configure DPDK environment  Configure DPDK for a platform  Compile DPDK  Get patches for l3fwd from dpdk.org  Apply patches to l3fwd and compile it  Run pktgen and l3fwd
  • 4. Network Platforms Group 4 Hands on session Following slides describe DPDK hands on session for DPDK 2.0.0, for later versions some steps will not be valid, for example, patching of l3fwd might not be needed if patches are accepted for release 2.1.0
  • 5. Network Platforms Group 11 00 5 Simplified setup: 2 VMs pk-gen: generate packets VM #1 VM #2 dpdk: forward packets Depending on IPv4 address of generated packets l3fwd will forward packets to port 0 or 1:  1.1.1.x forwarded to port 0  2.1.1.x forwarded to port 1 For even more simpler setup we can use just one port (echo mode)
  • 6. Network Platforms Group 1 00 0 6 Targeted demo setup: 3 VMs pk-gen: generate packets pk-sink: receive packets VM #1 192.168.100.2 VM #3 192.168.100.4 VM #2 192.168.100.3 dpdk: forward packets l3fwd links two pktgens together. We can start l3fwd manually or automatically (using rc.local) xe0 10.10.10.2 xe0 10.10.20.2 xe1 10.10.20.1 xe0 10.10.10.1
  • 7. Network Platforms Group 7 Get DPDK from dpdk.org Two ways to get DPDK – download latest stable release or pull code using git Git read-only access (do not do it for this session): $ git clone git://dpdk.org/dpdk Or, if git is blocked in your network: $ git clone http://dpdk.org/git/dpdk To download latest stable release (DPDK 2.0.0) to the home directory (already pre-loaded for this session): $ mkdir dpdk.org $ wget –P dpdk.org http://dpdk.org/browse/dpdk/snapshot/dpdk-2.0.0.tar.gz More info: http://dpdk.org/dev
  • 8. Network Platforms Group 8 Configure DPDK environment Two main DPDK environment variables:  RTE_SDK – path to were DPDK is located – /home/dpdk/dpdk in our case  RTE_TARGET – DPDK target platform – x86_64-native-linuxapp-gcc in our case These variables can be added, for example, to ~/.bash_profile DPDK configuration files are in $RTE_SDK/config folder: ~/dpdk/config$ ls common_bsdapp defconfig_x86_64-ivshmem-linuxapp-gcc defconfig_x86_64-native-linuxapp-gcc common_linuxapp defconfig_x86_64-ivshmem-linuxapp-icc defconfig_x86_64-native-linuxapp-icc defconfig_i686-native-linuxapp-gcc defconfig_x86_64-native-bsdapp-clang defconfig_x86_x32-native-linuxapp-gcc defconfig_i686-native-linuxapp-icc defconfig_x86_64-native-bsdapp-gcc defconfig_ppc_64-power8-linuxapp-gcc defconfig_x86_64-native-linuxapp-clang
  • 9. Network Platforms Group 9 Configure DPDK platform All platforms are listed in $RTE_SDK/config/common_linuxconfig: ## machine can define specific variables or action for a specific board ## RTE_MACHINE can be: ## default nothing specific ## native current machine ## atm Intel® Atom microarchitecture ## nhm Intel® microarchitecture code name Nehalem ## wsm Intel® microarchitecture code name Westmere ## snb Intel® microarchitecture code name Sandy Bridge ## ivb Intel® microarchitecture code name Ivy Bridge ## If you want to cross-compile DPDK for different CPU platform not listed in dpdk/config/* files you can edit existing config files or create new configuration (proper way) and change CONFIG_RTE_MACHINE. For example, to compile for Sandy Bridge on Haswell platform copy defconfig_x86_64-native-linuxapp-gcc to defconfig_x86_64-snb-linuxapp-gcc and edit it by setting CONFIG_RTE_MACHINE=snb
  • 10. Network Platforms Group 10 Compile DPDK DPDK 2.0 already pre-loaded to ~/dpdk.org folder $ tar xzvf dpdk.org/dpdk-2.0.0.tar.gz Tip: Create a link to dpdk sources so you can switch between different versions easily: $ ln –s dpdk-2.0.0 dpdk (already created) Edit configuration file: $vi dpdk/config/defconfig_x86_64-native-linuxapp-gcc And set CONFIG_RTE_MACHINE=default Compile DPDK using provided setup script: $ ./dpdk/tools/setup.sh -> option 9: x86_64-native-linuxapp-gcc -> option 12: Insert IGB UIO module -> option 15: allocate 400 huge pages -> option 30: exit
  • 11. Network Platforms Group 11 DPDK l3fwd example The L3 Forwarding application is a simple example of packet processing using the DPDK. The application performs L3 forwarding. The main difference from the L2 Forwarding sample application is that the forwarding decision is made based on information read from the input packet. The lookup method is either hash-based or LPM-based and is selected at compile time. We will use LMP-based (default). Additional l3fwd examples (not covered in this hand-on session):  l3fwd-power - power-aware packet processing  l3fwd-acl – packet processing with ACL library  l3fwd-vf – packet processing with SR-IOV virtual functions
  • 12. Network Platforms Group 12 Get patches for l3fwd from dpdk.org DPDK patches submitted to dpdk.org but not yet applied can be downloaded from Patchwork http://dpdk.org/dev/patchwork/project/dpdk/list/ We already have two l3fwd patches preloaded:  Patch 4752 [dpdk-dev] examples: add ip version check for l3fwd app $ wget http://dpdk.org/dev/patchwork/patch/4752/raw/ -O dpdk.org/4752.patch  Patch 4774 [dpdk-dev,v2] l3fwd: make destination mac address configurable $ wget http://dpdk.org/dev/patchwork/patch/4774/raw/ -O dpdk.org/4774.patch First patch enables IP classification on emulated network devices, second adds ability to configure l3fwd destination Ethernet address for forwarding ports
  • 13. Network Platforms Group 13 Apply patches for l3fwd and compile To apply patches: $ cd ~/dpdk $ patch -p 1 -i ../dpdk.org/4752.patch patching file examples/l3fwd/main.c $ patch -p 1 -i ../dpdk.org/4774.patch patching file examples/l3fwd/main.c Edit vi examples/l3fwd/main.c and set IP version check to 1: #define DO_IP_VERSION_CHECK 1 to enable SW classification of IP packets. Make l3fwd: $ cd examples/l3fwd $ make
  • 14. Network Platforms Group 14 Run l3fwd manually (cont) To find MAC addresses for destination ports: $ ping –c 1 10.10.10.2 $ ping –c 1 10.10.20.2 $ arp -a ? (10.10.10.2) at 02:00:05:00:03:08 [ether] on xe0 ? (10.10.20.2) at 02:00:05:00:04:01 [ether] on xe1 Now we can use these MAC addresses to start l3fwd manually, but first we need to bind ports to DPDK: $ sudo ~/dpdk/tools/dpdk_nic_bind.py --force --bind=igb_uio 00:10.0 00:11.0 (we can use aliases dpstat, dpbind, dpunbind we created in bash_aliases files)
  • 15. Network Platforms Group 15 Run l3fwd manually To start l3fwd manually: $ sudo ./build/l3fwd -c 2 -n 2 -- -p 0x03 --config “(0,0,1),(1,0,1)” --eth-dest 0,02:00:05:00:03:08 --eth-dest 1,02:00:05:00:04:01 Where: -c 2: start l3fwd on core 1 (-c accepts hex mask of cores to run DPDK app on) -n 2: number of memory channels to use, depending on a platform --: separator for DPDK/app command line options -p 0x03: hex mask for ports to be used by l3fwd --config “(0,0,1),(1,0,1)”: configuration: (port,queue,core) --eth-dest 0,02:00:05:00:03:08: port’s destination Ethernet address
  • 16. Network Platforms Group 16 Run l3fwd manually
  • 17. Network Platforms Group 17 Run our demo scenario We are using 3 VMs setup:  VM#1 pk-gen – pktgen generating packets on port #0  VM#2 dpdk – l3fwd forwarding packets between two pktgens  VM#3 pk-sink – pktgen receiving packets VMs are configured to automatically allocate hugepages and load DPDK igb_uio driver automatically at reboot. VM#1 and VM#3 have pktgen preinstalled, so no need to compile, we can just run pktgen. There is a script in home folder which can be used for start pktgen on pk-gen and pk-sink VMs: [dpdk@pk-gen ~]$ ./pktgen.sh This script binds port to igb_uio and starts pktgen.
  • 18. Network Platforms Group 18 pktgen (pk-gen VM) On pk-gen VM ./ptkgen.sh will automatically set ip dest and mac for port 0 (load from set_flow.pkt) so now we just need to start a flow by typing in pktgen command prompt Pktgen> start 0
  • 19. Network Platforms Group 19 pktgen (pk-gen VM) pktgen start generating packets – Tx counter increments. Note: If you want to test that l3fwd is running and forwarding packets you can overwrite ip dst for port 0 to 1.1.1x: Pktgen> stop 0 Pktgen> sleep 1 Pktgen> set ip dst 0 1.1.1.24 Pktgen> start 0 To limit TX rate to 1% we can use Pktgen> set 0 rate 1
  • 20. Network Platforms Group 20 pktgen (pk-sink VM) On pk-sink VM ./ptkgen.sh will start pktgen. As we are not generating packets on this VM we do not need to do anything, just watch RX counter incrementing. To exit from pktgen: Pktgen> quit
  • 21. Network Platforms Group 21 Run l3fwd automatically There is a script automatically run by rc.local on system startup which allocates hugepages and loads igb_uio module. We can use it to start l3fwd automatically as well. First exit from l3fwd by Ctrl+C. Now just rename auto.sh_ to auto.sh: $ cd ~ $ mv auto.sh_ auto.sh Stop pktgens by typing “quit” command in pktgen command prompt and reboot all 3 VM: $ reboot After reboot we can attach to l3fwd screen to make sure that it is running $ sudo screen –x Now we can start pktgens again
  • 22. Network Platforms Group 22 For deployment on pool of resources Need to update start.sh script as follows: • On [dpdk] host download new start.sh as follows: $ cd ~ $ wget https://github.com/gerardo-garcia/movilforum2015/raw/master/start.sh -O start.sh $ chmod +x start.sh