[MUSIC PLAYING]
Hi, I'm [INAUDIBLE] with Intel Corporation.
And I work with SDN NFV in the data center.
And today, I'm going to build a virtual machine that
hosts two containers that communicate directly
with each other using open vSwitch and DPDK.
Why?
You ask.
Because containers are more efficient than VMs and that
means money.
There are a few drawbacks, however,
because containers still use the Linux kernel networking stack
and any exceptions require elevated privileges.
Why use DPDK with open vSwitch?
Because packet throughput is a lot higher
as you can see in this chart.
And CPU interrupts are drastically
cut as small packets are batched and processed in user space.
This is especially meaningful in telecommunications networks.
This is the first video in a series
of fast networking in the Linux data center using containers
and DPDK.
In this video, we'll build open vSwitch and DPDK
and allocate system resources.
There are three additional short videos
that will cover setting, open vSwitch parameters
and launching it, building two containers, one for testpmd
and the other for packaging, and then starting
testpmd and pktgen in those containers
and seeing the packets flow.
You can type along using the commands that will show you,
or you can download the scripts and run them directly.
Any system that's going to do this lab
has some hardware requirements.
First of all, you need at least 8 gig of RAM.
If you have 8-CPUs that's great, too.
But the CPUs can be virtual.
To get started install Vagrant and a virtual machine provider
like VirtualBox, and then download
the Vagrant file shown on your screen at the bit.ly URL.
When you execute vagrantup, the Vagrant file
will download all the required packages and scripts.
Once Vagrant has provisioned your virtual machine,
enter the VM by executing Vagrant ssh.
While the Vagrant file will do most of the setup,
it's critical in this lab that every time you
execute Vagrant ssh and a new terminal window
that you also run source step00-setemv in the directory
shown here.
Let's get started.
Step one.
Once you're in the Vagrant VM environment,
build DPDK so that open vSwitch can use it.
First, CD into the directory containing the DPDK sources.
Then run mkconfig specifying t for target,
and o for output values equal to DPDK
underscore build and then change into that DPDK underscore build
directory and run make-j8, which speed things up a bit
by using eight threads.
Step two, build open vSwitch.
Change into the directory containing the open vSwitch
sources and then run auto configuration setup
using the provided boot script.
Then, build open vSwitch with DPDK case
support for the current machine architecture
by passing m arch equals native c flags to the configure script
and then specifying the location of the DPDK binaries
we just built--
then run make-j8.
Step three, allocate resources to run open vSwitch.
Make two open vSwitch directories--
one at user local etsi and the other at user local var run.
Next, allocate 2048 huge pages using the command shown,
and then mount the huge page file system at mnthuge,
and then make sure it worked.
Finally, load the userspace I/O driver and the DPDK igb I/O
driver that we built earlier into the kernel.
In this video, we built the DPDK,
and then we built open vSwitch, and then
we allocated system resources.
This is the first video in a series on fast networking
in the Linux data center.
In the next video, we will launch open vSwitch using DPDK.
Stay tuned.