Agenda Today’s/goal/ System/requirements/ - Lagopus · 2018-07-04 · 0000:02:06.0 '82545EM...
Transcript of Agenda Today’s/goal/ System/requirements/ - Lagopus · 2018-07-04 · 0000:02:06.0 '82545EM...
![Page 1: Agenda Today’s/goal/ System/requirements/ - Lagopus · 2018-07-04 · 0000:02:06.0 '82545EM Gigabit Ethernet Controller (Copper)' if=eth2 drv=e1000 unused= 0000:02:07.0 '82545EM](https://reader034.fdocuments.us/reader034/viewer/2022050413/5f89a78609fa603ed854a478/html5/thumbnails/1.jpg)
1 Copyright©2014 NTT corp. All Rights Reserved.
Agenda�
l Today’s goal l System requirements l Handson
l Download the handson material l Setup essen4al packages l Setup DPDK l Setup Lagopus l Setup Ryu l Run simple L2 switch applica4on�
![Page 2: Agenda Today’s/goal/ System/requirements/ - Lagopus · 2018-07-04 · 0000:02:06.0 '82545EM Gigabit Ethernet Controller (Copper)' if=eth2 drv=e1000 unused= 0000:02:07.0 '82545EM](https://reader034.fdocuments.us/reader034/viewer/2022050413/5f89a78609fa603ed854a478/html5/thumbnails/2.jpg)
2 Copyright©2014 NTT corp. All Rights Reserved.
Today’s goal �
l Setup DPDK, Ryu, and Lagopus in a single PC
Target PC (Server/VM)
Ryu
Lagopus
OpenFlow
DPDK
![Page 3: Agenda Today’s/goal/ System/requirements/ - Lagopus · 2018-07-04 · 0000:02:06.0 '82545EM Gigabit Ethernet Controller (Copper)' if=eth2 drv=e1000 unused= 0000:02:07.0 '82545EM](https://reader034.fdocuments.us/reader034/viewer/2022050413/5f89a78609fa603ed854a478/html5/thumbnails/3.jpg)
3 Copyright©2014 NTT corp. All Rights Reserved.
System requirements�
l >= 2 CPU cores l >= 1GB main memory l >= 3 NICs
l One is for ssh connecNon l The others are for switch ports
l Intel DPDK supported NICs
l Intel DPDK supported Linux l This document is for Ubuntu 14.04 LTS
![Page 4: Agenda Today’s/goal/ System/requirements/ - Lagopus · 2018-07-04 · 0000:02:06.0 '82545EM Gigabit Ethernet Controller (Copper)' if=eth2 drv=e1000 unused= 0000:02:07.0 '82545EM](https://reader034.fdocuments.us/reader034/viewer/2022050413/5f89a78609fa603ed854a478/html5/thumbnails/4.jpg)
4 Copyright©2014 NTT corp. All Rights Reserved.
Download handson material �
l Download handson materials l $ cd
l $ wget http://lagopus.github.io/handson/handson.tar.xz
l $ tar Jxf handson.tar.xz
ホームディレクトリに 移動してください
![Page 5: Agenda Today’s/goal/ System/requirements/ - Lagopus · 2018-07-04 · 0000:02:06.0 '82545EM Gigabit Ethernet Controller (Copper)' if=eth2 drv=e1000 unused= 0000:02:07.0 '82545EM](https://reader034.fdocuments.us/reader034/viewer/2022050413/5f89a78609fa603ed854a478/html5/thumbnails/5.jpg)
5 Copyright©2014 NTT corp. All Rights Reserved.
Setup essenNal soSware packages�
l Install misc. packages l $ sudo apt-get update
l $ sudo apt-get install unzip build-essential libexpat1-dev libgmp-dev libncurses5-dev libssl-dev libpcap-dev byacc flex libreadline-dev python-dev python-pastedeploy python-paste python-twisted git python-setuptools python-pip libxml2-dev libxslt1-dev ethtool
![Page 6: Agenda Today’s/goal/ System/requirements/ - Lagopus · 2018-07-04 · 0000:02:06.0 '82545EM Gigabit Ethernet Controller (Copper)' if=eth2 drv=e1000 unused= 0000:02:07.0 '82545EM](https://reader034.fdocuments.us/reader034/viewer/2022050413/5f89a78609fa603ed854a478/html5/thumbnails/6.jpg)
6 Copyright©2014 NTT corp. All Rights Reserved.
Setup essenNal soSware packages�1. unzip 2. build-essential 3. libexpat1-dev 4. libgmp-dev 5. libncurses5-dev 6. libssl-dev 7. libpcap-dev 8. byacc 9. flex 10. libreadline-dev 11. python-dev 12. python-pastedeploy 13. python-paste 14. python-twisted 15. git 16. python-setuptools 17. python-pip 18. libxml2-dev 19. libxslt1-dev 20. ethtool
![Page 7: Agenda Today’s/goal/ System/requirements/ - Lagopus · 2018-07-04 · 0000:02:06.0 '82545EM Gigabit Ethernet Controller (Copper)' if=eth2 drv=e1000 unused= 0000:02:07.0 '82545EM](https://reader034.fdocuments.us/reader034/viewer/2022050413/5f89a78609fa603ed854a478/html5/thumbnails/7.jpg)
7 Copyright©2014 NTT corp. All Rights Reserved.
Setup intel DPDK �l Setup hugepages
l $ sudo vi /etc/default/grub
l GRUB_CMDLINE_LINUX="hugepages=256" l $ sudo update-grub
l $ sudo reboot
l Compile DPDK libraries and kernel modules l $ cd ~/handson
l $ less compile-dpdk.sh
l $ ./compile-dpdk.sh
![Page 8: Agenda Today’s/goal/ System/requirements/ - Lagopus · 2018-07-04 · 0000:02:06.0 '82545EM Gigabit Ethernet Controller (Copper)' if=eth2 drv=e1000 unused= 0000:02:07.0 '82545EM](https://reader034.fdocuments.us/reader034/viewer/2022050413/5f89a78609fa603ed854a478/html5/thumbnails/8.jpg)
8 Copyright©2014 NTT corp. All Rights Reserved.
Setup intel DPDK �l Get PCI bus info. of NICs
l $ ./dpdk-1.7.0/tools/dpdk_nic_bind.py --status
masutani@ubuntu1404:~$ ./dpdk-1.7.0/tools/dpdk_nic_bind.py --status Network devices using DPDK-compatible driver ============================================ <none> Network devices using kernel driver =================================== 0000:02:01.0 '82545EM Gigabit Ethernet Controller (Copper)' if=eth0 drv=e1000 unused= *Active* 0000:02:05.0 '82545EM Gigabit Ethernet Controller (Copper)' if=eth1 drv=e1000 unused= 0000:02:06.0 '82545EM Gigabit Ethernet Controller (Copper)' if=eth2 drv=e1000 unused= 0000:02:07.0 '82545EM Gigabit Ethernet Controller (Copper)' if=eth3 drv=e1000 unused= Other network devices ===================== <none>
![Page 9: Agenda Today’s/goal/ System/requirements/ - Lagopus · 2018-07-04 · 0000:02:06.0 '82545EM Gigabit Ethernet Controller (Copper)' if=eth2 drv=e1000 unused= 0000:02:07.0 '82545EM](https://reader034.fdocuments.us/reader034/viewer/2022050413/5f89a78609fa603ed854a478/html5/thumbnails/9.jpg)
9 Copyright©2014 NTT corp. All Rights Reserved.
Setup intel DPDK �l Set PCI info to install shell script
l $ sudo vi install-dpdk.sh
l Install modules, unbind NICs from kernel, and bind NICs to DPDK modules l $ ./install-dpdk.sh
DPDK_NIC_PCIS="0000:02:05.0 0000:02:06.0 0000:02:07.0"
![Page 10: Agenda Today’s/goal/ System/requirements/ - Lagopus · 2018-07-04 · 0000:02:06.0 '82545EM Gigabit Ethernet Controller (Copper)' if=eth2 drv=e1000 unused= 0000:02:07.0 '82545EM](https://reader034.fdocuments.us/reader034/viewer/2022050413/5f89a78609fa603ed854a478/html5/thumbnails/10.jpg)
10 Copyright©2014 NTT corp. All Rights Reserved.
Setup intel DPDK �l For further informa4on
l h^p://www.intel.com/content/www/us/en/intelligent-‐systems/intel-‐technology/packet-‐processing-‐is-‐enhanced-‐with-‐soSware-‐from-‐intel-‐dpdk.html
l h^p://dpdk.org/
![Page 11: Agenda Today’s/goal/ System/requirements/ - Lagopus · 2018-07-04 · 0000:02:06.0 '82545EM Gigabit Ethernet Controller (Copper)' if=eth2 drv=e1000 unused= 0000:02:07.0 '82545EM](https://reader034.fdocuments.us/reader034/viewer/2022050413/5f89a78609fa603ed854a478/html5/thumbnails/11.jpg)
11 Copyright©2014 NTT corp. All Rights Reserved.
Setup Lagopus �
l Compile l $ cd ~/handson/lagopus l $ ./configure --with-dpdk-dir=${HOME}/handson/
dpdk-1.7.0 l $ make
l Install l $ sudo make install
l Prepare configura4on file l $ sudo cp ~/handson/files/lagopus.conf /usr/
local/etc/lagopus/ l $ vi /usr/local/etc/lagopus/lagopus.conf
l For further informa4on l Docs in the source tree: h^p://github.com/lagopus/ l We also plan to prepare binary packages for Linux distribuNons
![Page 12: Agenda Today’s/goal/ System/requirements/ - Lagopus · 2018-07-04 · 0000:02:06.0 '82545EM Gigabit Ethernet Controller (Copper)' if=eth2 drv=e1000 unused= 0000:02:07.0 '82545EM](https://reader034.fdocuments.us/reader034/viewer/2022050413/5f89a78609fa603ed854a478/html5/thumbnails/12.jpg)
12 Copyright©2014 NTT corp. All Rights Reserved.
Run Lagopus �
l Run Lagopus l $ sudo lagopus -d -- -c3 -n1 -- -p3
l OpNons l -‐d: Debug mode (foreground) l -‐c bitmask: Which CPU cores to use l -‐n channels: Memory channels l -‐p bitmask: Which NICs to use
![Page 13: Agenda Today’s/goal/ System/requirements/ - Lagopus · 2018-07-04 · 0000:02:06.0 '82545EM Gigabit Ethernet Controller (Copper)' if=eth2 drv=e1000 unused= 0000:02:07.0 '82545EM](https://reader034.fdocuments.us/reader034/viewer/2022050413/5f89a78609fa603ed854a478/html5/thumbnails/13.jpg)
13 Copyright©2014 NTT corp. All Rights Reserved.
Setup Ryu �
l $ sudo pip install ryu l $ sudo pip install six --upgrade l If you are familiar with docker, try
l $ sudo docker pull osrg/ryu
l For further informa4on l h^p://osrg.github.io/ryu/ l Or Ryu book �
![Page 14: Agenda Today’s/goal/ System/requirements/ - Lagopus · 2018-07-04 · 0000:02:06.0 '82545EM Gigabit Ethernet Controller (Copper)' if=eth2 drv=e1000 unused= 0000:02:07.0 '82545EM](https://reader034.fdocuments.us/reader034/viewer/2022050413/5f89a78609fa603ed854a478/html5/thumbnails/14.jpg)
14 Copyright©2014 NTT corp. All Rights Reserved.
Run simple L2 switch applicaNon �
l Run Ryu with the applica4on l $ cd ~/handson/
l $ ryu-manager --verbose simple_switch_13.py &
![Page 15: Agenda Today’s/goal/ System/requirements/ - Lagopus · 2018-07-04 · 0000:02:06.0 '82545EM Gigabit Ethernet Controller (Copper)' if=eth2 drv=e1000 unused= 0000:02:07.0 '82545EM](https://reader034.fdocuments.us/reader034/viewer/2022050413/5f89a78609fa603ed854a478/html5/thumbnails/15.jpg)
15 Copyright©2014 NTT corp. All Rights Reserved.
Run simple L2 switch applicaNon �
l Your VM now acts as L2 switch l You can check it by connecNng another PCs or VMs
Target PC
Ryu
Lagopus
PING
PING PC PING PC
![Page 16: Agenda Today’s/goal/ System/requirements/ - Lagopus · 2018-07-04 · 0000:02:06.0 '82545EM Gigabit Ethernet Controller (Copper)' if=eth2 drv=e1000 unused= 0000:02:07.0 '82545EM](https://reader034.fdocuments.us/reader034/viewer/2022050413/5f89a78609fa603ed854a478/html5/thumbnails/16.jpg)
16 Copyright©2014 NTT corp. All Rights Reserved.
Thank you for your a,en.on �
This research is a part of the project for “Research and Development of Network VirtualizaNon Technology” supported by the Ministry of Internal Affairs and CommunicaNons.
![Page 17: Agenda Today’s/goal/ System/requirements/ - Lagopus · 2018-07-04 · 0000:02:06.0 '82545EM Gigabit Ethernet Controller (Copper)' if=eth2 drv=e1000 unused= 0000:02:07.0 '82545EM](https://reader034.fdocuments.us/reader034/viewer/2022050413/5f89a78609fa603ed854a478/html5/thumbnails/17.jpg)
17 Copyright©2014 NTT corp. All Rights Reserved.
l This document and necessary files can be downloaded from
hPp://lagopus.github.io/handson/handson.pdf hPp://lagopus.github.io/handson/handson.tar.xz