SlideShare a Scribd company logo
Network Adapter Deep dive
6th May, 2020 SAKURA Internet, Inc. Research Center SR / Naoto MATSUMOTO
(C) Copyright 1996-2020 SAKURA Internet Inc
Enable SR-IOV TIPS (Melalnox ConnectX-4 EN)
2
# grep IOMMU /boot/config-`uname -r` | grep INTEL
CONFIG_INTEL_IOMMU=y
# vi /etc/default/grub
GRUB_CMDLINE_LINUX="intel_iommu=on iommu=pt"
# update-grub
# cd /opt
# tar xzvf ./mlnx-en-4.4-2.0.7.0-ubuntu16.04-x86_64.tgz
# cd mlnx-en-4.4-2.0.7.0-ubuntu16.04-x86_64
# ./install
# cd /opt
# tar xzvf ./mft-4.10.0-104-x86_64-deb.tgz
# cd mft-4.10.0-104-x86_64-deb
# ./install.sh
# mst start
# mst status
# mlxconfig -d /dev/mst/mt4115_pciconf0 set SRIOV_EN=1 NUM_OF_VFS=4
# sync; sync; sync; reboot
# echo 4 > /sys/class/net/enp101s0/device/sriov_numvfs
# dmesg | grep IOMMU
# mlxconfig -d /dev/mst/mt4115_pciconf0 q
# lspci -D | grep Mellanox
# lshw -class network -businfo
Bus info Device Class Description
========================================================
pci@0000:65:00.0 enp101s0 network MT27700 Family [ConnectX-4]
pci@0000:65:00.1 enp101s0f1 network Illegal Vendor ID
pci@0000:65:00.2 enp101s0f2 network Illegal Vendor ID
pci@0000:65:00.3 enp101s0f3 network Illegal Vendor ID
pci@0000:65:00.4 enp101s0f4 network Illegal Vendor ID
SOURCE: SAKURA Internet Research Center (2020/05)
Enable SR-IOV TIPS (Intel XL710)
3
# grep IOMMU /boot/config-`uname -r` | grep INTEL
CONFIG_INTEL_IOMMU=y
# vi /etc/default/grub
GRUB_CMDLINE_LINUX="intel_iommu=on iommu=pt"
# update-grub
# sync; sync; sync; reboot
# rmmod i40e
# modprobe i40e max_vfs=4
# echo 4 > /sys/class/net/enp101s0/device/sriov_numvfs
# lscpi
# lshw -class network -businfo
Bus info Device Class Description
========================================================
pci@0000:65:00.0 enp101s0 network Ethernet Controller XL710 for 40GbE QSFP+
pci@0000:65:02.0 enp101s2 network Illegal Vendor ID
pci@0000:65:02.1 enp101s2f1 network Illegal Vendor ID
pci@0000:65:02.2 enp101s2f2 network Illegal Vendor ID
pci@0000:65:02.3 enp101s2f3 network Illegal Vendor ID
SOURCE: SAKURA Internet Research Center (2020/05)
Enable RoCEv2 TIPS (Mellanox Connect X5)
4
# cd /opt
# tar xzvf ./mlnx-en-4.4-2.0.7.0-ubuntu18.04-x86_64.tgz
# cd mlnx-en-4.4-2.0.7.0-ubuntu18.04-x86_64
# ./insall
# /etc/init.d/mlnx-en.d restart
# cd /opt
# tar xzvf ./MLNX_OFED_LINUX-4.4-2.0.7.0-ubuntu18.04-x86_64.tgz
# cd MLNX_OFED_LINUX-4.4-2.0.7.0-ubuntu18.04-x86_64
# ./mlnxofedinstall
# /etc/init.d/openibd restart
# ufw disable
# ethtool -i enp1s0
# cma_roce_mode -d mlx5_0 -p 1 -m 2
RoCE v2
# show_gids
# mlnx_qos -i enp1s0 --pfc 0,0,0,1,0,0,0,0
# sysctl -w net.ipv4.tcp_ecn=1
# cma_roce_tos -d mlx5_0 -t 24
# /etc/init.d/irqbalance stop
# mlnx_affinity start
# ethtool -K enp1s0 tx-nocache-copy off
# echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
SERVER# ifconfig enp1s0 1.1.1.1/24 up up
CLIENT# ifconfig enp1s0 1.1.1.2/24 up up
SERVER# ib_write_bw -R --report_gbits --port=12500 -D 10
CLIENT# ib_write_bw -R --report_gbits 1.1.1.1 --port=12500 -D 10
SERVER# ib_write_lat -R --port=12500 -D 10
CLIENT# ib_write_lat -R 1.1.1.1 --port=12500 -D 10
SOURCE: SAKURA Internet Research Center (2020/05)
https://community.mellanox.com/docs/DOC-2650
https://community.mellanox.com/docs/DOC-2671
https://community.mellanox.com/docs/DOC-2521
https://community.mellanox.com/docs/DOC-2733
Enable TC H/W Offload TIPS (Mellanox Connect X5)
5
# apt install -y elfutils libelf-dev libmnl-dev bison flex pkg-config
# cd /opt; git clone https://git.kernel.org/pub/scm/network/iproute2/iproute2-next.git
# cd iproute2-next; ./configure ; make ; make install
# cd /opt; wget http://www.mellanox.com/downloads/ofed/MLNX_EN-4.4-2.0.7.0/mlnx-en-4.4-2.0.7.0-ubuntu18.04-x86_64.tgz
# tar xzvf mlnx-en-4.4-2.0.7.0-ubuntu18.04-x86_64.tgz; cd mlnx-en-4.4-2.0.7.0-ubuntu18.04-x86_64; ./install
# /etc/init.d/mlnx-en.d restart
# ethtool -k enp101s0 | grep hw-tc
hw-tc-offload: on
# grep IOMMU /boot/config-`uname -r` | grep INTEL
CONFIG_INTEL_IOMMU=y
# vi /etc/default/grub
GRUB_CMDLINE_LINUX="intel_iommu=on iommu=pt"
# update-grub
# dmesg | grep IOMMU
# cd /opt; tar xzvf ./mft-4.10.0-104-x86_64-deb.tgz; cd mft-4.10.0-104-x86_64-deb; ./install.sh
# mst start
# mlxconfig -d /dev/mst/mt4115_pciconf0 set SRIOV_EN=1 NUM_OF_VFS=4
# sync; sync; sync; reboot
# echo 4 > /sys/class/net/enp101s0/device/sriov_numvfs
# mlxconfig -d /dev/mst/mt4115_pciconf0 q
# lspci -D | grep Mellanox
# lshw -class network -businfo
# tc qdisc add dev enp101s0 ingress
# tc filter add dev enp101s0 protocol ip parent ffff: flower skip_sw ip_proto tcp dst_port 80 action drop
# tc -s filter show dev enp101s0 ingress
# tc qdisc add dev enp101s0f1 ingress
# tc -s monitor
# tc action help
# tc qdisc help
SOURCE: SAKURA Internet Research Center (2020/05)
Enable eswtich/ASAP2 TIPS (Mellanox Connect X5)
6
# mst start
# mlxconfig -d /dev/mst/mt4121_pciconf0 query
# mlxconfig -d /dev/mst/mt4121_pciconf0 set SRIOV_EN=1
# mlxconfig -d /dev/mst/mt4121_pciconf0 set NUM_OF_VFS=32
# sync; sync; sync; reboot
# echo 1 > /sys/class/net/enp1s0f0/device/sriov_numvfs
# devlink dev show
pci/0000:01:00.0 (*PF enp1s0f0 )
pci/0000:01:00.1 (*VF enp1s0f1 )
# echo 0000:01:00.1 > /sys/bus/pci/drivers/mlx5_core/unbind
# devlink dev eswitch set pci/0000:01:00.0 mode switchdev
# echo 0000:01:00.1 > /sys/bus/pci/drivers/mlx5_core/bind
# apt install openvswitch-switch -y
# /etc/init.d/openvswitch-switch start
# ovs-vsctl set Open_vSwitch . other_config:hw-offload=true
# /etc/init.d/openvswitch-switch restart
# ovs-vsctl add-br ovs-sriov
# ovs-vsctl add-port ovs-sriov enp1s0f0
# ovs-vsctl add-port ovs-sriov enp1s0f0_0
# ifconfig enp1s0f0 up up (*PF)
# ifconfig enp1s0f0_0 up up (*VF representor)
# ip netns add TEST (*namespace TEST)
# ip link set enp1s0f1 netns TEST
# ip netns exec TEST ifconfig enp1s0f1 up up (*VF)
# ip netns exec TEST dhcient enp1s0f1 (*VF assigned ip address 1.2.3.4)
# ip netns exec TEST ping 8.8.8.8
# ovs-dpctl dump-flows type=offloaded
# devlink dev eswitch show pci/0000:01:00.0
SOURCE: SAKURA Internet Research Center (2020/05)
Enable FD.io VPP TIPS (Intel XL710)
7
# update-grub
# apt remove --purge vpp*
# vi /etc/apt/sources.list.d/99fd.io.list
deb [trusted=yes] https://nexus.fd.io/content/repositories/fd.io.stable.1807.ubuntu.xenial.main/ ./
# apt update
# apt dist-upgrade -y
# apt install -y vpp vpp-lib vpp-plugins vpp-dpdk-dkms
# lshw -class network -businfo
# ifconfig enp101s0 down
# vi /etc/vpp/startup.conf
dpdk {
dev 0000:65:00.0
}
# service vpp restart
# vppctl show pci
Address Sock VID:PID Link Speed Driver Product Name
0000:65:00.0 0 8086:1584 8.0 GT/s x8 uio_pci_generic XL710 40GbE
# vppctl set int ip address FortyGigabitEthernet65/0/0 1.2.3.4/24
# vppctl set int state FortyGigabitEthernet65/0/0 up
# vppctl show interface addr
FortyGigabitEthernet65/0/0 (up):
L3 1.2.3.4/24
local0 (dn):
# vppctl show version
vpp v18.07-rc2~6-gdb6d6b3~b28 built by root on 10268b67c8b1 ...
SOURCE: SAKURA Internet Research Center (2020/05)
Enable L4LB eBDF/XDP H/W Offload TIPS (Agilio CX SmartNIC)
8
# wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19-rc3/linux-headers-4.19.0-041900rc3...201809120832_all.deb
# wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19-rc3/linux-headers-4.19.0-041900rc3...201809120832_amd64.deb
# wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19-rc3/linux-modules-4.19.0-041900rc3...201809120832_amd64.deb
# wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19-rc3/linux-image-unsigned-4.19.0-041900rc3...20832_amd64.deb
# dpkg -i linux-headers-4.19.0-041900rc3_4.19.0-041900rc3.201809120832_all.deb
# dpkg -i linux-headers-4.19.0-041900rc3-generic_4.19.0-041900rc3.201809120832_amd64.deb
# dpkg -i linux-modules-4.19.0-041900rc3-generic_4.19.0-041900rc3.201809120832_amd64.deb
# dpkg -i linux-image-unsigned-4.19.0-041900rc3-generic_4.19.0-041900rc3.201809120832_amd64.deb
# sync; sync; sync; reboot
# dpkg -i agilio-bpf-firmware-2.0.6.121-1.deb
# dpkg -i bpftool-4.18_amd64.deb
# modprobe -r nfp; modprobe nfp
# ethtool -k enp101s0np0
# cd /opt; apt install elfutils libelf-dev libmnl-dev bison flex pkg-config
# git clone https://git.kernel.org/pub/scm/network/iproute2/iproute2-next.git
# cd iproute2-next; ./configure ; make; make install
# cd /opt; apt install -y clang llvm ; git clone https://github.com/Netronome/bpf-samples.git
# cd bpf-samples/l4lb/; make
# ip link set dev enp101s0np0 xdpoffload obj l4lb_xdp.o sec xdp
# bpftool prog show
12: xdp tag 803980e02b8beb36 dev enp101s0np0
loaded_at 2018-09-13T12:47:36+0900 uid 0
xlated 1784B jited 4024B memlock 4096B map_ids 12
# ./l4lb_map.py -i enp101s0np0 -f ./destination_samples/32_destinations.csv
# ./l4lb_stats.py -i enp101s0np0
== Load balancer outbound statistics [Offload] ==
1 10.0.0.57 0 pkts/s 0 bits/s
[Totals] 0 pkts/s 0 bits/s
SOURCE: SAKURA Internet Research Center (2020/05)

More Related Content

What's hot

Uso de Honeypots com Honeyd
Uso de Honeypots com HoneydUso de Honeypots com Honeyd
Uso de Honeypots com Honeyd
Ulisses Costa
 
Proxy arp
Proxy arpProxy arp
Proxy arp
Marian Marinov
 
High Availability Server Clustering without ILB(Internal Load Balancer) (MEMO)
High Availability Server Clustering without ILB(Internal Load Balancer) (MEMO)High Availability Server Clustering without ILB(Internal Load Balancer) (MEMO)
High Availability Server Clustering without ILB(Internal Load Balancer) (MEMO)
Naoto MATSUMOTO
 
Killing any security product … using a Mimikatz undocumented feature
Killing any security product … using a Mimikatz undocumented featureKilling any security product … using a Mimikatz undocumented feature
Killing any security product … using a Mimikatz undocumented feature
Cyber Security Alliance
 
An Easy way to build a server cluster without top of rack switches (MEMO)
An Easy way to build a server cluster without top of rack switches (MEMO)An Easy way to build a server cluster without top of rack switches (MEMO)
An Easy way to build a server cluster without top of rack switches (MEMO)
Naoto MATSUMOTO
 
ICE Snow Leopard
ICE Snow LeopardICE Snow Leopard
ICE Snow Leopard
Tiago Rosado
 
penetration testing - black box type.
penetration testing - black box type.penetration testing - black box type.
penetration testing - black box type.
luigi capuzzello
 
How to install OpenStack MITAKA --allinone - cheat sheet -
How to install OpenStack MITAKA --allinone - cheat sheet -How to install OpenStack MITAKA --allinone - cheat sheet -
How to install OpenStack MITAKA --allinone - cheat sheet -
Naoto MATSUMOTO
 
Sicurezza informatica
Sicurezza informaticaSicurezza informatica
Sicurezza informatica
luigi capuzzello
 
IPv6 for Pentesters
IPv6 for PentestersIPv6 for Pentesters
IPv6 for Pentesters
camsec
 
RabbitMQ Server - cheat sheet -
RabbitMQ Server - cheat sheet -RabbitMQ Server - cheat sheet -
RabbitMQ Server - cheat sheet -
Naoto MATSUMOTO
 
How to ride a 100GbE LAN -MEMO-
How to ride a 100GbE LAN -MEMO-How to ride a 100GbE LAN -MEMO-
How to ride a 100GbE LAN -MEMO-
Naoto MATSUMOTO
 
Cutting out Malware
Cutting out MalwareCutting out Malware
Cutting out Malware
luigi capuzzello
 
Offline bruteforce attack on wi fi protected setup
Offline bruteforce attack on wi fi protected setupOffline bruteforce attack on wi fi protected setup
Offline bruteforce attack on wi fi protected setup
Cyber Security Alliance
 
Watching And Manipulating Your Network Traffic
Watching And Manipulating Your Network TrafficWatching And Manipulating Your Network Traffic
Watching And Manipulating Your Network Traffic
Josiah Ritchie
 
GCC ARM nRF51 IoT SDK -cheat sheet-
GCC ARM nRF51 IoT SDK -cheat sheet-GCC ARM nRF51 IoT SDK -cheat sheet-
GCC ARM nRF51 IoT SDK -cheat sheet-
Naoto MATSUMOTO
 
Vhdl practical exam guide
Vhdl practical exam guideVhdl practical exam guide
Vhdl practical exam guide
Eslam Mohammed
 
Gnu linux on arm for $50 - $100
Gnu linux on arm for $50 - $100Gnu linux on arm for $50 - $100
Gnu linux on arm for $50 - $100
Dobrica Pavlinušić
 
SSH: Seguranca no Acesso Remoto
SSH: Seguranca no Acesso RemotoSSH: Seguranca no Acesso Remoto
SSH: Seguranca no Acesso Remoto
Tiago Cruz
 
FreeLix: Semplicità & Controllo
FreeLix: Semplicità & ControlloFreeLix: Semplicità & Controllo
FreeLix: Semplicità & Controllo
Valerio Balbi
 

What's hot (20)

Uso de Honeypots com Honeyd
Uso de Honeypots com HoneydUso de Honeypots com Honeyd
Uso de Honeypots com Honeyd
 
Proxy arp
Proxy arpProxy arp
Proxy arp
 
High Availability Server Clustering without ILB(Internal Load Balancer) (MEMO)
High Availability Server Clustering without ILB(Internal Load Balancer) (MEMO)High Availability Server Clustering without ILB(Internal Load Balancer) (MEMO)
High Availability Server Clustering without ILB(Internal Load Balancer) (MEMO)
 
Killing any security product … using a Mimikatz undocumented feature
Killing any security product … using a Mimikatz undocumented featureKilling any security product … using a Mimikatz undocumented feature
Killing any security product … using a Mimikatz undocumented feature
 
An Easy way to build a server cluster without top of rack switches (MEMO)
An Easy way to build a server cluster without top of rack switches (MEMO)An Easy way to build a server cluster without top of rack switches (MEMO)
An Easy way to build a server cluster without top of rack switches (MEMO)
 
ICE Snow Leopard
ICE Snow LeopardICE Snow Leopard
ICE Snow Leopard
 
penetration testing - black box type.
penetration testing - black box type.penetration testing - black box type.
penetration testing - black box type.
 
How to install OpenStack MITAKA --allinone - cheat sheet -
How to install OpenStack MITAKA --allinone - cheat sheet -How to install OpenStack MITAKA --allinone - cheat sheet -
How to install OpenStack MITAKA --allinone - cheat sheet -
 
Sicurezza informatica
Sicurezza informaticaSicurezza informatica
Sicurezza informatica
 
IPv6 for Pentesters
IPv6 for PentestersIPv6 for Pentesters
IPv6 for Pentesters
 
RabbitMQ Server - cheat sheet -
RabbitMQ Server - cheat sheet -RabbitMQ Server - cheat sheet -
RabbitMQ Server - cheat sheet -
 
How to ride a 100GbE LAN -MEMO-
How to ride a 100GbE LAN -MEMO-How to ride a 100GbE LAN -MEMO-
How to ride a 100GbE LAN -MEMO-
 
Cutting out Malware
Cutting out MalwareCutting out Malware
Cutting out Malware
 
Offline bruteforce attack on wi fi protected setup
Offline bruteforce attack on wi fi protected setupOffline bruteforce attack on wi fi protected setup
Offline bruteforce attack on wi fi protected setup
 
Watching And Manipulating Your Network Traffic
Watching And Manipulating Your Network TrafficWatching And Manipulating Your Network Traffic
Watching And Manipulating Your Network Traffic
 
GCC ARM nRF51 IoT SDK -cheat sheet-
GCC ARM nRF51 IoT SDK -cheat sheet-GCC ARM nRF51 IoT SDK -cheat sheet-
GCC ARM nRF51 IoT SDK -cheat sheet-
 
Vhdl practical exam guide
Vhdl practical exam guideVhdl practical exam guide
Vhdl practical exam guide
 
Gnu linux on arm for $50 - $100
Gnu linux on arm for $50 - $100Gnu linux on arm for $50 - $100
Gnu linux on arm for $50 - $100
 
SSH: Seguranca no Acesso Remoto
SSH: Seguranca no Acesso RemotoSSH: Seguranca no Acesso Remoto
SSH: Seguranca no Acesso Remoto
 
FreeLix: Semplicità & Controllo
FreeLix: Semplicità & ControlloFreeLix: Semplicità & Controllo
FreeLix: Semplicità & Controllo
 

Similar to Network Adapter Deep dive

x86_64 Hardware Deep dive
x86_64 Hardware Deep divex86_64 Hardware Deep dive
x86_64 Hardware Deep dive
Naoto MATSUMOTO
 
C&C Botnet Factory
C&C Botnet FactoryC&C Botnet Factory
C&C Botnet Factory
Nullbyte Security Conference
 
Linux Tracing Superpowers by Eugene Pirogov
Linux Tracing Superpowers by Eugene PirogovLinux Tracing Superpowers by Eugene Pirogov
Linux Tracing Superpowers by Eugene Pirogov
Pivorak MeetUp
 
UP Board AI Core Configuration memo
UP Board AI Core Configuration memoUP Board AI Core Configuration memo
UP Board AI Core Configuration memo
Naoto MATSUMOTO
 
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
Brendan Gregg
 
[OpenStack 하반기 스터디] HA using DVR
[OpenStack 하반기 스터디] HA using DVR[OpenStack 하반기 스터디] HA using DVR
[OpenStack 하반기 스터디] HA using DVR
OpenStack Korea Community
 
bcc/BPF tools - Strategy, current tools, future challenges
bcc/BPF tools - Strategy, current tools, future challengesbcc/BPF tools - Strategy, current tools, future challenges
bcc/BPF tools - Strategy, current tools, future challenges
IO Visor Project
 
BPF Tools 2017
BPF Tools 2017BPF Tools 2017
BPF Tools 2017
Brendan Gregg
 
OSDC 2017 - Werner Fischer - Linux performance profiling and monitoring
OSDC 2017 - Werner Fischer - Linux performance profiling and monitoringOSDC 2017 - Werner Fischer - Linux performance profiling and monitoring
OSDC 2017 - Werner Fischer - Linux performance profiling and monitoring
NETWAYS
 
Metasploitable
MetasploitableMetasploitable
Linux 系統管理與安全:進階系統管理系統防駭與資訊安全
Linux 系統管理與安全:進階系統管理系統防駭與資訊安全Linux 系統管理與安全:進階系統管理系統防駭與資訊安全
Linux 系統管理與安全:進階系統管理系統防駭與資訊安全
維泰 蔡
 
Containers for sysadmins
Containers for sysadminsContainers for sysadmins
Containers for sysadmins
Carlos de Alfonso Laguna
 
Quagga with ROUTE_MULTIPATH
Quagga with ROUTE_MULTIPATHQuagga with ROUTE_MULTIPATH
Quagga with ROUTE_MULTIPATH
Naoto MATSUMOTO
 
How to Install nRF51 IPv6 over Bluetooth using MDK-ARM+IoT SDK
How to Install nRF51 IPv6 over Bluetooth using MDK-ARM+IoT SDKHow to Install nRF51 IPv6 over Bluetooth using MDK-ARM+IoT SDK
How to Install nRF51 IPv6 over Bluetooth using MDK-ARM+IoT SDK
Naoto MATSUMOTO
 
Hacking the swisscom modem
Hacking the swisscom modemHacking the swisscom modem
Hacking the swisscom modem
Cyber Security Alliance
 
Basic Linux kernel
Basic Linux kernelBasic Linux kernel
Basic Linux kernel
Morteza Nourelahi Alamdari
 
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
videos
 
test
testtest
LISA2019 Linux Systems Performance
LISA2019 Linux Systems PerformanceLISA2019 Linux Systems Performance
LISA2019 Linux Systems Performance
Brendan Gregg
 
Debugging Ruby
Debugging RubyDebugging Ruby
Debugging Ruby
Aman Gupta
 

Similar to Network Adapter Deep dive (20)

x86_64 Hardware Deep dive
x86_64 Hardware Deep divex86_64 Hardware Deep dive
x86_64 Hardware Deep dive
 
C&C Botnet Factory
C&C Botnet FactoryC&C Botnet Factory
C&C Botnet Factory
 
Linux Tracing Superpowers by Eugene Pirogov
Linux Tracing Superpowers by Eugene PirogovLinux Tracing Superpowers by Eugene Pirogov
Linux Tracing Superpowers by Eugene Pirogov
 
UP Board AI Core Configuration memo
UP Board AI Core Configuration memoUP Board AI Core Configuration memo
UP Board AI Core Configuration memo
 
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
 
[OpenStack 하반기 스터디] HA using DVR
[OpenStack 하반기 스터디] HA using DVR[OpenStack 하반기 스터디] HA using DVR
[OpenStack 하반기 스터디] HA using DVR
 
bcc/BPF tools - Strategy, current tools, future challenges
bcc/BPF tools - Strategy, current tools, future challengesbcc/BPF tools - Strategy, current tools, future challenges
bcc/BPF tools - Strategy, current tools, future challenges
 
BPF Tools 2017
BPF Tools 2017BPF Tools 2017
BPF Tools 2017
 
OSDC 2017 - Werner Fischer - Linux performance profiling and monitoring
OSDC 2017 - Werner Fischer - Linux performance profiling and monitoringOSDC 2017 - Werner Fischer - Linux performance profiling and monitoring
OSDC 2017 - Werner Fischer - Linux performance profiling and monitoring
 
Metasploitable
MetasploitableMetasploitable
Metasploitable
 
Linux 系統管理與安全:進階系統管理系統防駭與資訊安全
Linux 系統管理與安全:進階系統管理系統防駭與資訊安全Linux 系統管理與安全:進階系統管理系統防駭與資訊安全
Linux 系統管理與安全:進階系統管理系統防駭與資訊安全
 
Containers for sysadmins
Containers for sysadminsContainers for sysadmins
Containers for sysadmins
 
Quagga with ROUTE_MULTIPATH
Quagga with ROUTE_MULTIPATHQuagga with ROUTE_MULTIPATH
Quagga with ROUTE_MULTIPATH
 
How to Install nRF51 IPv6 over Bluetooth using MDK-ARM+IoT SDK
How to Install nRF51 IPv6 over Bluetooth using MDK-ARM+IoT SDKHow to Install nRF51 IPv6 over Bluetooth using MDK-ARM+IoT SDK
How to Install nRF51 IPv6 over Bluetooth using MDK-ARM+IoT SDK
 
Hacking the swisscom modem
Hacking the swisscom modemHacking the swisscom modem
Hacking the swisscom modem
 
Basic Linux kernel
Basic Linux kernelBasic Linux kernel
Basic Linux kernel
 
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
 
test
testtest
test
 
LISA2019 Linux Systems Performance
LISA2019 Linux Systems PerformanceLISA2019 Linux Systems Performance
LISA2019 Linux Systems Performance
 
Debugging Ruby
Debugging RubyDebugging Ruby
Debugging Ruby
 

More from Naoto MATSUMOTO

Alder Lake-S CPU Temperature Monitoring
Alder Lake-S CPU Temperature MonitoringAlder Lake-S CPU Temperature Monitoring
Alder Lake-S CPU Temperature Monitoring
Naoto MATSUMOTO
 
CPU製品出荷状況と消費電力の見える化
CPU製品出荷状況と消費電力の見える化CPU製品出荷状況と消費電力の見える化
CPU製品出荷状況と消費電力の見える化
Naoto MATSUMOTO
 
5Gの見える化
5Gの見える化5Gの見える化
5Gの見える化
Naoto MATSUMOTO
 
2023年以降のサーバークラスタリング設計(メモ)
2023年以降のサーバークラスタリング設計(メモ)2023年以降のサーバークラスタリング設計(メモ)
2023年以降のサーバークラスタリング設計(メモ)
Naoto MATSUMOTO
 
防災を考慮した水中調査の一考察
防災を考慮した水中調査の一考察防災を考慮した水中調査の一考察
防災を考慮した水中調査の一考察
Naoto MATSUMOTO
 
旅するパケットの見える化
旅するパケットの見える化旅するパケットの見える化
旅するパケットの見える化
Naoto MATSUMOTO
 
LTE-M/NB IoTを試してみる nRF9160/Thingy:91
LTE-M/NB IoTを試してみる nRF9160/Thingy:91LTE-M/NB IoTを試してみる nRF9160/Thingy:91
LTE-M/NB IoTを試してみる nRF9160/Thingy:91
Naoto MATSUMOTO
 
災害時における無線モニタリングによる社会インフラの見える化
災害時における無線モニタリングによる社会インフラの見える化災害時における無線モニタリングによる社会インフラの見える化
災害時における無線モニタリングによる社会インフラの見える化
Naoto MATSUMOTO
 
BeautifulSoup / selenium Deep dive
BeautifulSoup / selenium Deep diveBeautifulSoup / selenium Deep dive
BeautifulSoup / selenium Deep dive
Naoto MATSUMOTO
 
AMDGPU ROCm Deep dive
AMDGPU ROCm Deep diveAMDGPU ROCm Deep dive
AMDGPU ROCm Deep dive
Naoto MATSUMOTO
 
RTL2838 DVB-T Deep dive
RTL2838 DVB-T Deep diveRTL2838 DVB-T Deep dive
RTL2838 DVB-T Deep dive
Naoto MATSUMOTO
 
ADS-B, AIS, APRS cheatsheet
ADS-B, AIS, APRS cheatsheetADS-B, AIS, APRS cheatsheet
ADS-B, AIS, APRS cheatsheet
Naoto MATSUMOTO
 
curl --http3 cheatsheet
curl --http3 cheatsheetcurl --http3 cheatsheet
curl --http3 cheatsheet
Naoto MATSUMOTO
 
3/4G USB modem Cheat Sheet
3/4G USB modem Cheat Sheet3/4G USB modem Cheat Sheet
3/4G USB modem Cheat Sheet
Naoto MATSUMOTO
 
How To Train Your ARM(SBC)
How To  Train Your ARM(SBC)How To  Train Your ARM(SBC)
How To Train Your ARM(SBC)
Naoto MATSUMOTO
 
全国におけるCOVID-19対策の見える化 ~宿泊業の場合~
全国におけるCOVID-19対策の見える化 ~宿泊業の場合~全国におけるCOVID-19対策の見える化 ~宿泊業の場合~
全国におけるCOVID-19対策の見える化 ~宿泊業の場合~
Naoto MATSUMOTO
 
我が国の電波の使用状況/携帯電話向け割当 (2019年3月1日現在)
我が国の電波の使用状況/携帯電話向け割当 (2019年3月1日現在)我が国の電波の使用状況/携帯電話向け割当 (2019年3月1日現在)
我が国の電波の使用状況/携帯電話向け割当 (2019年3月1日現在)
Naoto MATSUMOTO
 
私たちに訪れる(かもしれない)未来と計算機によるモノコトの見える化
私たちに訪れる(かもしれない)未来と計算機によるモノコトの見える化私たちに訪れる(かもしれない)未来と計算機によるモノコトの見える化
私たちに訪れる(かもしれない)未来と計算機によるモノコトの見える化
Naoto MATSUMOTO
 
仮想化環境におけるバイナリー・ポータビリティの考察 (WebAssemblyの場合)
仮想化環境におけるバイナリー・ポータビリティの考察 (WebAssemblyの場合)仮想化環境におけるバイナリー・ポータビリティの考察 (WebAssemblyの場合)
仮想化環境におけるバイナリー・ポータビリティの考察 (WebAssemblyの場合)
Naoto MATSUMOTO
 
インターネットを用いたニア・リアルタイムでの災害観測の考察
インターネットを用いたニア・リアルタイムでの災害観測の考察インターネットを用いたニア・リアルタイムでの災害観測の考察
インターネットを用いたニア・リアルタイムでの災害観測の考察
Naoto MATSUMOTO
 

More from Naoto MATSUMOTO (20)

Alder Lake-S CPU Temperature Monitoring
Alder Lake-S CPU Temperature MonitoringAlder Lake-S CPU Temperature Monitoring
Alder Lake-S CPU Temperature Monitoring
 
CPU製品出荷状況と消費電力の見える化
CPU製品出荷状況と消費電力の見える化CPU製品出荷状況と消費電力の見える化
CPU製品出荷状況と消費電力の見える化
 
5Gの見える化
5Gの見える化5Gの見える化
5Gの見える化
 
2023年以降のサーバークラスタリング設計(メモ)
2023年以降のサーバークラスタリング設計(メモ)2023年以降のサーバークラスタリング設計(メモ)
2023年以降のサーバークラスタリング設計(メモ)
 
防災を考慮した水中調査の一考察
防災を考慮した水中調査の一考察防災を考慮した水中調査の一考察
防災を考慮した水中調査の一考察
 
旅するパケットの見える化
旅するパケットの見える化旅するパケットの見える化
旅するパケットの見える化
 
LTE-M/NB IoTを試してみる nRF9160/Thingy:91
LTE-M/NB IoTを試してみる nRF9160/Thingy:91LTE-M/NB IoTを試してみる nRF9160/Thingy:91
LTE-M/NB IoTを試してみる nRF9160/Thingy:91
 
災害時における無線モニタリングによる社会インフラの見える化
災害時における無線モニタリングによる社会インフラの見える化災害時における無線モニタリングによる社会インフラの見える化
災害時における無線モニタリングによる社会インフラの見える化
 
BeautifulSoup / selenium Deep dive
BeautifulSoup / selenium Deep diveBeautifulSoup / selenium Deep dive
BeautifulSoup / selenium Deep dive
 
AMDGPU ROCm Deep dive
AMDGPU ROCm Deep diveAMDGPU ROCm Deep dive
AMDGPU ROCm Deep dive
 
RTL2838 DVB-T Deep dive
RTL2838 DVB-T Deep diveRTL2838 DVB-T Deep dive
RTL2838 DVB-T Deep dive
 
ADS-B, AIS, APRS cheatsheet
ADS-B, AIS, APRS cheatsheetADS-B, AIS, APRS cheatsheet
ADS-B, AIS, APRS cheatsheet
 
curl --http3 cheatsheet
curl --http3 cheatsheetcurl --http3 cheatsheet
curl --http3 cheatsheet
 
3/4G USB modem Cheat Sheet
3/4G USB modem Cheat Sheet3/4G USB modem Cheat Sheet
3/4G USB modem Cheat Sheet
 
How To Train Your ARM(SBC)
How To  Train Your ARM(SBC)How To  Train Your ARM(SBC)
How To Train Your ARM(SBC)
 
全国におけるCOVID-19対策の見える化 ~宿泊業の場合~
全国におけるCOVID-19対策の見える化 ~宿泊業の場合~全国におけるCOVID-19対策の見える化 ~宿泊業の場合~
全国におけるCOVID-19対策の見える化 ~宿泊業の場合~
 
我が国の電波の使用状況/携帯電話向け割当 (2019年3月1日現在)
我が国の電波の使用状況/携帯電話向け割当 (2019年3月1日現在)我が国の電波の使用状況/携帯電話向け割当 (2019年3月1日現在)
我が国の電波の使用状況/携帯電話向け割当 (2019年3月1日現在)
 
私たちに訪れる(かもしれない)未来と計算機によるモノコトの見える化
私たちに訪れる(かもしれない)未来と計算機によるモノコトの見える化私たちに訪れる(かもしれない)未来と計算機によるモノコトの見える化
私たちに訪れる(かもしれない)未来と計算機によるモノコトの見える化
 
仮想化環境におけるバイナリー・ポータビリティの考察 (WebAssemblyの場合)
仮想化環境におけるバイナリー・ポータビリティの考察 (WebAssemblyの場合)仮想化環境におけるバイナリー・ポータビリティの考察 (WebAssemblyの場合)
仮想化環境におけるバイナリー・ポータビリティの考察 (WebAssemblyの場合)
 
インターネットを用いたニア・リアルタイムでの災害観測の考察
インターネットを用いたニア・リアルタイムでの災害観測の考察インターネットを用いたニア・リアルタイムでの災害観測の考察
インターネットを用いたニア・リアルタイムでの災害観測の考察
 

Recently uploaded

Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
Hiike
 
Public CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptxPublic CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptx
marufrahmanstratejm
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
Alex Pruden
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
Shinana2
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
Data Hops
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Precisely
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 

Recently uploaded (20)

Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
 
Public CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptxPublic CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptx
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3FREE A4 Cyber Security Awareness  Posters-Social Engineering part 3
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 

Network Adapter Deep dive

  • 1. Network Adapter Deep dive 6th May, 2020 SAKURA Internet, Inc. Research Center SR / Naoto MATSUMOTO (C) Copyright 1996-2020 SAKURA Internet Inc
  • 2. Enable SR-IOV TIPS (Melalnox ConnectX-4 EN) 2 # grep IOMMU /boot/config-`uname -r` | grep INTEL CONFIG_INTEL_IOMMU=y # vi /etc/default/grub GRUB_CMDLINE_LINUX="intel_iommu=on iommu=pt" # update-grub # cd /opt # tar xzvf ./mlnx-en-4.4-2.0.7.0-ubuntu16.04-x86_64.tgz # cd mlnx-en-4.4-2.0.7.0-ubuntu16.04-x86_64 # ./install # cd /opt # tar xzvf ./mft-4.10.0-104-x86_64-deb.tgz # cd mft-4.10.0-104-x86_64-deb # ./install.sh # mst start # mst status # mlxconfig -d /dev/mst/mt4115_pciconf0 set SRIOV_EN=1 NUM_OF_VFS=4 # sync; sync; sync; reboot # echo 4 > /sys/class/net/enp101s0/device/sriov_numvfs # dmesg | grep IOMMU # mlxconfig -d /dev/mst/mt4115_pciconf0 q # lspci -D | grep Mellanox # lshw -class network -businfo Bus info Device Class Description ======================================================== pci@0000:65:00.0 enp101s0 network MT27700 Family [ConnectX-4] pci@0000:65:00.1 enp101s0f1 network Illegal Vendor ID pci@0000:65:00.2 enp101s0f2 network Illegal Vendor ID pci@0000:65:00.3 enp101s0f3 network Illegal Vendor ID pci@0000:65:00.4 enp101s0f4 network Illegal Vendor ID SOURCE: SAKURA Internet Research Center (2020/05)
  • 3. Enable SR-IOV TIPS (Intel XL710) 3 # grep IOMMU /boot/config-`uname -r` | grep INTEL CONFIG_INTEL_IOMMU=y # vi /etc/default/grub GRUB_CMDLINE_LINUX="intel_iommu=on iommu=pt" # update-grub # sync; sync; sync; reboot # rmmod i40e # modprobe i40e max_vfs=4 # echo 4 > /sys/class/net/enp101s0/device/sriov_numvfs # lscpi # lshw -class network -businfo Bus info Device Class Description ======================================================== pci@0000:65:00.0 enp101s0 network Ethernet Controller XL710 for 40GbE QSFP+ pci@0000:65:02.0 enp101s2 network Illegal Vendor ID pci@0000:65:02.1 enp101s2f1 network Illegal Vendor ID pci@0000:65:02.2 enp101s2f2 network Illegal Vendor ID pci@0000:65:02.3 enp101s2f3 network Illegal Vendor ID SOURCE: SAKURA Internet Research Center (2020/05)
  • 4. Enable RoCEv2 TIPS (Mellanox Connect X5) 4 # cd /opt # tar xzvf ./mlnx-en-4.4-2.0.7.0-ubuntu18.04-x86_64.tgz # cd mlnx-en-4.4-2.0.7.0-ubuntu18.04-x86_64 # ./insall # /etc/init.d/mlnx-en.d restart # cd /opt # tar xzvf ./MLNX_OFED_LINUX-4.4-2.0.7.0-ubuntu18.04-x86_64.tgz # cd MLNX_OFED_LINUX-4.4-2.0.7.0-ubuntu18.04-x86_64 # ./mlnxofedinstall # /etc/init.d/openibd restart # ufw disable # ethtool -i enp1s0 # cma_roce_mode -d mlx5_0 -p 1 -m 2 RoCE v2 # show_gids # mlnx_qos -i enp1s0 --pfc 0,0,0,1,0,0,0,0 # sysctl -w net.ipv4.tcp_ecn=1 # cma_roce_tos -d mlx5_0 -t 24 # /etc/init.d/irqbalance stop # mlnx_affinity start # ethtool -K enp1s0 tx-nocache-copy off # echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor SERVER# ifconfig enp1s0 1.1.1.1/24 up up CLIENT# ifconfig enp1s0 1.1.1.2/24 up up SERVER# ib_write_bw -R --report_gbits --port=12500 -D 10 CLIENT# ib_write_bw -R --report_gbits 1.1.1.1 --port=12500 -D 10 SERVER# ib_write_lat -R --port=12500 -D 10 CLIENT# ib_write_lat -R 1.1.1.1 --port=12500 -D 10 SOURCE: SAKURA Internet Research Center (2020/05) https://community.mellanox.com/docs/DOC-2650 https://community.mellanox.com/docs/DOC-2671 https://community.mellanox.com/docs/DOC-2521 https://community.mellanox.com/docs/DOC-2733
  • 5. Enable TC H/W Offload TIPS (Mellanox Connect X5) 5 # apt install -y elfutils libelf-dev libmnl-dev bison flex pkg-config # cd /opt; git clone https://git.kernel.org/pub/scm/network/iproute2/iproute2-next.git # cd iproute2-next; ./configure ; make ; make install # cd /opt; wget http://www.mellanox.com/downloads/ofed/MLNX_EN-4.4-2.0.7.0/mlnx-en-4.4-2.0.7.0-ubuntu18.04-x86_64.tgz # tar xzvf mlnx-en-4.4-2.0.7.0-ubuntu18.04-x86_64.tgz; cd mlnx-en-4.4-2.0.7.0-ubuntu18.04-x86_64; ./install # /etc/init.d/mlnx-en.d restart # ethtool -k enp101s0 | grep hw-tc hw-tc-offload: on # grep IOMMU /boot/config-`uname -r` | grep INTEL CONFIG_INTEL_IOMMU=y # vi /etc/default/grub GRUB_CMDLINE_LINUX="intel_iommu=on iommu=pt" # update-grub # dmesg | grep IOMMU # cd /opt; tar xzvf ./mft-4.10.0-104-x86_64-deb.tgz; cd mft-4.10.0-104-x86_64-deb; ./install.sh # mst start # mlxconfig -d /dev/mst/mt4115_pciconf0 set SRIOV_EN=1 NUM_OF_VFS=4 # sync; sync; sync; reboot # echo 4 > /sys/class/net/enp101s0/device/sriov_numvfs # mlxconfig -d /dev/mst/mt4115_pciconf0 q # lspci -D | grep Mellanox # lshw -class network -businfo # tc qdisc add dev enp101s0 ingress # tc filter add dev enp101s0 protocol ip parent ffff: flower skip_sw ip_proto tcp dst_port 80 action drop # tc -s filter show dev enp101s0 ingress # tc qdisc add dev enp101s0f1 ingress # tc -s monitor # tc action help # tc qdisc help SOURCE: SAKURA Internet Research Center (2020/05)
  • 6. Enable eswtich/ASAP2 TIPS (Mellanox Connect X5) 6 # mst start # mlxconfig -d /dev/mst/mt4121_pciconf0 query # mlxconfig -d /dev/mst/mt4121_pciconf0 set SRIOV_EN=1 # mlxconfig -d /dev/mst/mt4121_pciconf0 set NUM_OF_VFS=32 # sync; sync; sync; reboot # echo 1 > /sys/class/net/enp1s0f0/device/sriov_numvfs # devlink dev show pci/0000:01:00.0 (*PF enp1s0f0 ) pci/0000:01:00.1 (*VF enp1s0f1 ) # echo 0000:01:00.1 > /sys/bus/pci/drivers/mlx5_core/unbind # devlink dev eswitch set pci/0000:01:00.0 mode switchdev # echo 0000:01:00.1 > /sys/bus/pci/drivers/mlx5_core/bind # apt install openvswitch-switch -y # /etc/init.d/openvswitch-switch start # ovs-vsctl set Open_vSwitch . other_config:hw-offload=true # /etc/init.d/openvswitch-switch restart # ovs-vsctl add-br ovs-sriov # ovs-vsctl add-port ovs-sriov enp1s0f0 # ovs-vsctl add-port ovs-sriov enp1s0f0_0 # ifconfig enp1s0f0 up up (*PF) # ifconfig enp1s0f0_0 up up (*VF representor) # ip netns add TEST (*namespace TEST) # ip link set enp1s0f1 netns TEST # ip netns exec TEST ifconfig enp1s0f1 up up (*VF) # ip netns exec TEST dhcient enp1s0f1 (*VF assigned ip address 1.2.3.4) # ip netns exec TEST ping 8.8.8.8 # ovs-dpctl dump-flows type=offloaded # devlink dev eswitch show pci/0000:01:00.0 SOURCE: SAKURA Internet Research Center (2020/05)
  • 7. Enable FD.io VPP TIPS (Intel XL710) 7 # update-grub # apt remove --purge vpp* # vi /etc/apt/sources.list.d/99fd.io.list deb [trusted=yes] https://nexus.fd.io/content/repositories/fd.io.stable.1807.ubuntu.xenial.main/ ./ # apt update # apt dist-upgrade -y # apt install -y vpp vpp-lib vpp-plugins vpp-dpdk-dkms # lshw -class network -businfo # ifconfig enp101s0 down # vi /etc/vpp/startup.conf dpdk { dev 0000:65:00.0 } # service vpp restart # vppctl show pci Address Sock VID:PID Link Speed Driver Product Name 0000:65:00.0 0 8086:1584 8.0 GT/s x8 uio_pci_generic XL710 40GbE # vppctl set int ip address FortyGigabitEthernet65/0/0 1.2.3.4/24 # vppctl set int state FortyGigabitEthernet65/0/0 up # vppctl show interface addr FortyGigabitEthernet65/0/0 (up): L3 1.2.3.4/24 local0 (dn): # vppctl show version vpp v18.07-rc2~6-gdb6d6b3~b28 built by root on 10268b67c8b1 ... SOURCE: SAKURA Internet Research Center (2020/05)
  • 8. Enable L4LB eBDF/XDP H/W Offload TIPS (Agilio CX SmartNIC) 8 # wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19-rc3/linux-headers-4.19.0-041900rc3...201809120832_all.deb # wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19-rc3/linux-headers-4.19.0-041900rc3...201809120832_amd64.deb # wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19-rc3/linux-modules-4.19.0-041900rc3...201809120832_amd64.deb # wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19-rc3/linux-image-unsigned-4.19.0-041900rc3...20832_amd64.deb # dpkg -i linux-headers-4.19.0-041900rc3_4.19.0-041900rc3.201809120832_all.deb # dpkg -i linux-headers-4.19.0-041900rc3-generic_4.19.0-041900rc3.201809120832_amd64.deb # dpkg -i linux-modules-4.19.0-041900rc3-generic_4.19.0-041900rc3.201809120832_amd64.deb # dpkg -i linux-image-unsigned-4.19.0-041900rc3-generic_4.19.0-041900rc3.201809120832_amd64.deb # sync; sync; sync; reboot # dpkg -i agilio-bpf-firmware-2.0.6.121-1.deb # dpkg -i bpftool-4.18_amd64.deb # modprobe -r nfp; modprobe nfp # ethtool -k enp101s0np0 # cd /opt; apt install elfutils libelf-dev libmnl-dev bison flex pkg-config # git clone https://git.kernel.org/pub/scm/network/iproute2/iproute2-next.git # cd iproute2-next; ./configure ; make; make install # cd /opt; apt install -y clang llvm ; git clone https://github.com/Netronome/bpf-samples.git # cd bpf-samples/l4lb/; make # ip link set dev enp101s0np0 xdpoffload obj l4lb_xdp.o sec xdp # bpftool prog show 12: xdp tag 803980e02b8beb36 dev enp101s0np0 loaded_at 2018-09-13T12:47:36+0900 uid 0 xlated 1784B jited 4024B memlock 4096B map_ids 12 # ./l4lb_map.py -i enp101s0np0 -f ./destination_samples/32_destinations.csv # ./l4lb_stats.py -i enp101s0np0 == Load balancer outbound statistics [Offload] == 1 10.0.0.57 0 pkts/s 0 bits/s [Totals] 0 pkts/s 0 bits/s SOURCE: SAKURA Internet Research Center (2020/05)