13.3. Soft-RoCE の設定
RoCE は、ハードウェアおよびソフトウェアに実装できます。Soft-RoCE は、RDMA トランスポートのソフトウェア実装です。
前提条件
Red Hat Enterprise Linux 7.4 以降、Soft-RoCE ドライバーはカーネルに統合されました。ユーザー領域のドライバーも rdma-core パッケージに統合されました。Soft-RoCE は RXE としても知られています。RXE を起動、停止、設定するには、
rxe_cfg
スクリプトを使用します。rxe_cfg
のオプションを表示するには、rxe_cfg help を入力します。
手順13.2 Soft-RoCE の設定
root
ユーザーとして以下のコマンドを入力し、RXE の現在の設定ステータスを表示します。~]# rxe_cfg rdma_rxe module not loaded Name Link Driver Speed NMTU IPv4_addr RDEV RMTU igb_1
yes
igb mlx4_1 no mlx4_en mlx4_2 no mlx4_en- RXE カーネルモジュールを読み込み、RXE を起動するには、
root
で次のコマンドを実行します。~]# rxe_cfg start Name Link Driver Speed NMTU IPv4_addr RDEV RMTU igb_1
必要に応じて、RXE カーネルモジュールが読み込まれていることを確認するには、以下を実行します。yes
igb mlx4_1 no mlx4_en mlx4_2 no mlx4_en~]# lsmod |grep rdma_rxe rdma_rxe 111129 0 ip6_udp_tunnel 12755 1 rdma_rxe udp_tunnel 14423 1 rdma_rxe ib_core 236827 15 rdma_cm,ib_cm,iw_cm,rpcrdma,mlx4_ib,ib_srp,ib_ucm,ib_iser,ib_srpt,ib_umad,ib_uverbs,rdma_rxe,rdma_ucm,ib_ipoib,ib_isert
- イーサーネットインターフェイスに新しい RXE デバイスを追加する前に、対応するインターフェイスを開いて、有効な IP アドレスを割り当てます。新しい RXE デバイス (たとえば igb_1) を追加するには、以下のコマンドを実行します。
~]# rxe_cfg add igb_1
~]# rxe_cfg status Name Link Driver Speed NMTU IPv4_addr RDEV RMTU igb_1 yes igb rxe0 1024 (3) mlx4_1 no mlx4_en mlx4_2 no mlx4_en
RDEV 列の rxe0 は、igb_1 デバイスで rxe が有効であることを示しています。 - RXE デバイスのステータスを確認するには、ibv_devices コマンドを使用します。
~]# ibv_devices device node GUID ------ ---------------- mlx4_0 0002c90300b3cff0 rxe0 a2369ffffe018294
または、ibstat に詳細なステータスを入力します。~]# ibstat rxe0 CA 'rxe0' CA type: Number of ports: 1 Firmware version: Hardware version: Node GUID: 0xa2369ffffe018294 System image GUID: 0x0000000000000000 Port 1: State: Active Physical state: LinkUp Rate: 2.5 Base lid: 0 LMC: 0 SM lid: 0 Capability mask: 0x00890000 Port GUID: 0xa2369ffffe018294 Link layer: Ethernet
RXE デバイスの削除
RXE デバイスを削除する場合は、以下のコマンドを実行します。
~]# rxe_cfg remove igb_1
RXE デバイスの接続性の確認
以下の例は、サーバーおよびクライアントで、RXE デバイスの接続を確認する方法を説明します。
例13.1 サーバーで RXE デバイスの接続性の確認
~]$ ibv_rc_pingpong -d rxe0 -g 0
local address: LID 0x0000, QPN 0x000012, PSN 0xe2965f, GID fe80::290:faff:fe29:486a
remote address: LID 0x0000, QPN 0x000011, PSN 0x4bf206, GID fe80::290:faff:fe29:470a
8192000 bytes in 0.05 seconds = 1244.06 Mbit/sec
1000 iters in 0.05 seconds = 52.68 usec/iter
例13.2 クライアントで RXE デバイスの接続性の確認
~]$ ibv_rc_pingpong -d rxe0 -g 0 172.31.40.4
local address: LID 0x0000, QPN 0x000011, PSN 0x4bf206, GID fe80::290:faff:fe29:470a
remote address: LID 0x0000, QPN 0x000012, PSN 0xe2965f, GID fe80::290:faff:fe29:486a
8192000 bytes in 0.05 seconds = 1245.72 Mbit/sec
1000 iters in 0.05 seconds = 52.61 usec/iter