Mellanox OFEDをインストールしてVXLAN Offloadを有効にする方法

f:id:komeiy:20150216132416j:plain

VXLAN offloadが使えるMellanox Connect-X3 Proをインストールする方法です。Mellanoxはマニュアルがユーザへ丁寧に公開させている印象がありますので、わかりやすいです。

Mellanox OFEDをインストールする

公式からダウンロード

curl -O 'http://www.mellanox.com/downloads/ofed/MLNX_OFED-2.4-1.0.0/MLNX_OFED_LINUX-2.4-1.0.0-ubuntu14.04-x86_64.tgz'
tar xzvf MLNX_OFED_LINUX-2.4-1.0.0-ubuntu14.04-x86_64.tgz
cd MLNX_OFED_LINUX-2.4-1.0.0-ubuntu14.04-x86_64/

Mellanox OFEDをインストール

helpで引数も見れますので確認してみてください。

./mlnxofedinstall --help

./mlnxofedinstall

ConnectX-3 Proを確認

物理的に接続されていることを確認します。

root@localhost:~# lspci | grep Mellanox
06:00.0 Ethernet controller: Mellanox Technologies MT27520 Family [ConnectX-3 Pro]
07:00.0 Ethernet controller: Mellanox Technologies MT27520 Family [ConnectX-3 Pro]

ConnectX-3 ProをEthernetとして使用する(not InfiniBand)

root@localhost:~# cat /sys/bus/pci/devices/0000:07:00.0/mlx4_port1
eth
root@localhost:~# cat /sys/bus/pci/devices/0000:07:00.0/mlx4_port2
eth

Driverが適用されている事を確認

root@localhost:~# ethtool -i eth0
driver: mlx4_en
version: 2.4-1.0.0 (Feb 12 2015)
firmware-version: 2.33.5000
bus-info: 0000:07:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: yes

Mellanox ConnectX-3 ProでVXLANを有効にする

mlx3_core.confでOffloadを設定する

mlx4_core.conf内のlog_num_mgm_entry_sizeの値でvxlan offloadの動作有無を設定します。

root@localhost:~# sudo cat /etc/modprobe.d/mlx4_core.conf
options mlx4_core debug_level=3 log_num_mgm_entry_size=-1

modprobe mlx4_core

設定は以下の通りです。

  • 「-1」がoffload on
  • 「10」はoffload off

わかりやすくdmesgで確認してみます。mode is: vxlanの記載を確認できます。

root@localhost:~# service  openibd restart
openibd stop/waiting
openibd start/running
root@localhost:~# dmesg | grep mlx | grep vxlan
mlx4_core 0000:06:00.0: Tunneling offload mode is: vxlan

ethtool上でもon/offを確認してください。

root@localhost:~# ethtool -k eth1 | grep udp_tnl 
tx-udp_tnl-segmentation: on

以下、offload offです。

root@localhost:~# sudo cat /etc/modprobe.d/mlx4_core.conf
options mlx4_core debug_level=3 log_num_mgm_entry_size=-1
root@localhost:~# service  openibd restart
openibd stop/waiting
openibd start/running
mlx4_core 0000:06:00.0: Tunneling offload mode is: none

14.04のkernelで試すとlroやgroの設定をoffにするとtx-udp_tnl-segmentationも同時にoffになりました。14.10では修正が入っているようにも見えたので試して頂ければと思います。


シェアして頂けると嬉しいです。
参考になったという方がいれば是非お願いしますm(_ _ )m
モチベーション維持の観点で非常に励みになります。

このエントリーをはてなブックマークに追加

SDNの実践技術 (Interop Tokyoセミナー(NextPublishing))

SDNの実践技術 (Interop Tokyoセミナー(NextPublishing))