13.3. soft-RoCE 구성
RoCE는 하드웨어와 소프트웨어에 모두 구현할 수 있습니다. soft-RoCE는 RDMA 전송의 소프트웨어 구현입니다.
사전 요구 사항
Red Hat Enterprise Linux 7.4부터 soft-RoCE 드라이버가 커널에 이미 병합되어 있습니다. user-space 드라이버도 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은 rxe가 igb_1 장치에 대해 활성화되었음을 나타냅니다. - 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