Documentation/driver-api/infiniband.rst GitHub 원문 ↗

Linux 6.18.37 · Driver API

InfiniBand and Remote DMA (RDMA) Interfaces

InfiniBand core, rdmavt transport, iSER, OPA VNIC, SRPT와 iSER target의 kernel-doc source를 정리합니다.

Source pathDocumentation/driver-api/infiniband.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약과 해설

infiniband.rst:1-124

이 page는 InfiniBand/RDMA stack의 설명형 guide보다 kernel-doc source map에 가깝습니다. Core verbs와 memory API에서 software transport, iSCSI initiator·target과 SCSI RDMA target까지 계층별 source를 보존합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 ===========================================
2 InfiniBand and Remote DMA (RDMA) Interfaces
3 ===========================================
4
5 Introduction and Overview
6 =========================
7
8 TBD
9
10 InfiniBand core interfaces
11 ==========================
12
13 .. kernel-doc:: drivers/infiniband/core/iwpm_util.h
14 :internal:
15
16 .. kernel-doc:: drivers/infiniband/core/cq.c
17 :export:
18
19 .. kernel-doc:: drivers/infiniband/core/cm.c
20 :export:
21
22 .. kernel-doc:: drivers/infiniband/core/rw.c
23 :export:
24
25 .. kernel-doc:: drivers/infiniband/core/device.c
26 :export:
27
28 .. kernel-doc:: drivers/infiniband/core/verbs.c
29 :export:
30
31 .. kernel-doc:: drivers/infiniband/core/packer.c
32 :export:
33
34 .. kernel-doc:: drivers/infiniband/core/sa_query.c
35 :export:
36
37 .. kernel-doc:: drivers/infiniband/core/ud_header.c
38 :export:
39
40 .. kernel-doc:: drivers/infiniband/core/umem.c
41 :export:
42
43 .. kernel-doc:: drivers/infiniband/core/umem_odp.c
44 :export:
45
46 RDMA Verbs transport library
47 ============================
48
49 .. kernel-doc:: drivers/infiniband/sw/rdmavt/mr.c
50 :export:
51
52 .. kernel-doc:: drivers/infiniband/sw/rdmavt/rc.c
53 :export:
54
55 .. kernel-doc:: drivers/infiniband/sw/rdmavt/ah.c
56 :export:
57
58 .. kernel-doc:: drivers/infiniband/sw/rdmavt/vt.c
59 :export:
60
61 .. kernel-doc:: drivers/infiniband/sw/rdmavt/cq.c
62 :export:
63
64 .. kernel-doc:: drivers/infiniband/sw/rdmavt/qp.c
65 :export:
66
67 .. kernel-doc:: drivers/infiniband/sw/rdmavt/mcast.c
68 :export:
69
70 Upper Layer Protocols
71 =====================
72
73 iSCSI Extensions for RDMA (iSER)
74 --------------------------------
75
76 .. kernel-doc:: drivers/infiniband/ulp/iser/iscsi_iser.h
77 :internal:
78
79 .. kernel-doc:: drivers/infiniband/ulp/iser/iscsi_iser.c
80 :functions: iscsi_iser_pdu_alloc iser_initialize_task_headers
81 iscsi_iser_task_init iscsi_iser_mtask_xmit iscsi_iser_task_xmit
82 iscsi_iser_cleanup_task iscsi_iser_check_protection
83 iscsi_iser_conn_create iscsi_iser_conn_bind
84 iscsi_iser_conn_start iscsi_iser_conn_stop
85 iscsi_iser_session_destroy iscsi_iser_session_create
86 iscsi_iser_set_param iscsi_iser_ep_connect iscsi_iser_ep_poll
87 iscsi_iser_ep_disconnect
88
89 .. kernel-doc:: drivers/infiniband/ulp/iser/iser_initiator.c
90 :internal:
91
92 .. kernel-doc:: drivers/infiniband/ulp/iser/iser_verbs.c
93 :internal:
94
95 Omni-Path (OPA) Virtual NIC support
96 -----------------------------------
97
98 .. kernel-doc:: drivers/infiniband/ulp/opa_vnic/opa_vnic_internal.h
99 :internal:
100
101 .. kernel-doc:: drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.h
102 :internal:
103
104 .. kernel-doc:: drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
105 :internal:
106
107 .. kernel-doc:: drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
108 :internal:
109
110 InfiniBand SCSI RDMA protocol target support
111 --------------------------------------------
112
113 .. kernel-doc:: drivers/infiniband/ulp/srpt/ib_srpt.h
114 :internal:
115
116 .. kernel-doc:: drivers/infiniband/ulp/srpt/ib_srpt.c
117 :internal:
118
119 iSCSI Extensions for RDMA (iSER) target support
120 -----------------------------------------------
121
122 .. kernel-doc:: drivers/infiniband/ulp/isert/ib_isert.c
123 :internal:
124
125

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

InfiniBand와 RDMA interface

1-9

문서 제목은 `InfiniBand and Remote DMA (RDMA) Interfaces`입니다. Introduction and Overview 본문은 현재 `TBD`로 남아 있으므로, 원문이 제공하는 실제 내용은 아래 core·transport·upper-layer protocol의 kernel-doc source 목록입니다.

InfiniBand API 문서 계층
InfiniBand/RDMA coreRDMA Verbs transport libraryUpper Layer ProtocoliSER initiatorOPA VNICSRPT·iSER target

Core에서 software transport와 upper-layer protocol로 이어집니다.

InfiniBand core interface

10-45

Core interface는 iWARP port mapper utility의 internal declaration과 completion queue, connection manager, read/write helper, device, verbs, packer, subnet administration query, UD header, userspace memory, on-demand paging memory의 exported API를 문서화합니다.

.. kernel-doc:: drivers/infiniband/core/iwpm_util.h
    :internal:

.. kernel-doc:: drivers/infiniband/core/cq.c
    :export:

.. kernel-doc:: drivers/infiniband/core/cm.c
    :export:

.. kernel-doc:: drivers/infiniband/core/rw.c
    :export:

.. kernel-doc:: drivers/infiniband/core/device.c
    :export:

.. kernel-doc:: drivers/infiniband/core/verbs.c
    :export:

.. kernel-doc:: drivers/infiniband/core/packer.c
    :export:

.. kernel-doc:: drivers/infiniband/core/sa_query.c
    :export:

.. kernel-doc:: drivers/infiniband/core/ud_header.c
    :export:

.. kernel-doc:: drivers/infiniband/core/umem.c
    :export:

.. kernel-doc:: drivers/infiniband/core/umem_odp.c
    :export:
InfiniBand core source
기능Source path
iWARP port mapperdrivers/infiniband/core/iwpm_util.h (internal)
Queue·connectioncq.c, cm.c
Data pathrw.c, verbs.c, packer.c
Device·addressingdevice.c, sa_query.c, ud_header.c
Userspace memoryumem.c, umem_odp.c

Core kernel-doc source를 기능별로 묶었습니다.

RDMA Verbs transport library

46-69

RDMA Verbs transport library는 software rdmavt 구현의 memory region, reliable connection, address handle, virtual transport, completion queue, queue pair와 multicast API를 export합니다.

.. kernel-doc:: drivers/infiniband/sw/rdmavt/mr.c
    :export:

.. kernel-doc:: drivers/infiniband/sw/rdmavt/rc.c
    :export:

.. kernel-doc:: drivers/infiniband/sw/rdmavt/ah.c
    :export:

.. kernel-doc:: drivers/infiniband/sw/rdmavt/vt.c
    :export:

.. kernel-doc:: drivers/infiniband/sw/rdmavt/cq.c
    :export:

.. kernel-doc:: drivers/infiniband/sw/rdmavt/qp.c
    :export:

.. kernel-doc:: drivers/infiniband/sw/rdmavt/mcast.c
    :export:
rdmavt exported module
Source역할
mr.cMemory region
rc.cReliable connection
ah.cAddress handle
vt.cVirtual transport
cq.cCompletion queue
qp.cQueue pair
mcast.cMulticast

Software RDMA transport의 주요 object입니다.

iSER initiator

70-94

Upper Layer Protocol의 iSER(iSCSI Extensions for RDMA) section은 `iscsi_iser.h` internal declaration과 `iscsi_iser.c`의 선택 function을 문서화합니다. PDU allocation, task header 초기화·전송·정리, connection·session lifecycle, parameter 설정과 endpoint connect·poll·disconnect가 포함됩니다.

`iser_initiator.c`와 `iser_verbs.c`는 internal kernel-doc을 제공합니다.

.. kernel-doc:: drivers/infiniband/ulp/iser/iscsi_iser.h
   :internal:

.. kernel-doc:: drivers/infiniband/ulp/iser/iscsi_iser.c
   :functions: iscsi_iser_pdu_alloc iser_initialize_task_headers
               iscsi_iser_task_init iscsi_iser_mtask_xmit iscsi_iser_task_xmit
               iscsi_iser_cleanup_task iscsi_iser_check_protection
               iscsi_iser_conn_create iscsi_iser_conn_bind
               iscsi_iser_conn_start iscsi_iser_conn_stop
               iscsi_iser_session_destroy iscsi_iser_session_create
               iscsi_iser_set_param iscsi_iser_ep_connect iscsi_iser_ep_poll
               iscsi_iser_ep_disconnect

.. kernel-doc:: drivers/infiniband/ulp/iser/iser_initiator.c
   :internal:

.. kernel-doc:: drivers/infiniband/ulp/iser/iser_verbs.c
   :internal:
iSER initiator lifecycle API
PDU·task header allocationTask init·transmitProtection check·cleanupConnection create·bind·startSession create·parameter 설정Endpoint connect·pollConnection stop·endpoint disconnect·session destroy

문서화된 function group을 connection 흐름으로 정리했습니다.

Omni-Path Virtual NIC

95-109

OPA(Omni-Path) Virtual NIC support는 internal header, encapsulation header, VEMA interface와 VEMA implementation의 internal kernel-doc을 연결합니다.

.. kernel-doc:: drivers/infiniband/ulp/opa_vnic/opa_vnic_internal.h
   :internal:

.. kernel-doc:: drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.h
   :internal:

.. kernel-doc:: drivers/infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c
   :internal:

.. kernel-doc:: drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c
   :internal:
OPA VNIC internal source
Source path범위
opa_vnic_internal.hInternal VNIC definitions
opa_vnic_encap.hEncapsulation definitions
opa_vnic_vema_iface.cVEMA interface
opa_vnic_vema.cVEMA implementation

Virtual Ethernet Management Agent 관련 source입니다.

InfiniBand SCSI RDMA target

110-118

InfiniBand SCSI RDMA protocol target support는 `drivers/infiniband/ulp/srpt/ib_srpt.h`와 `ib_srpt.c`의 internal API를 문서화합니다.

.. kernel-doc:: drivers/infiniband/ulp/srpt/ib_srpt.h
   :internal:

.. kernel-doc:: drivers/infiniband/ulp/srpt/ib_srpt.c
   :internal:
SRPT target source
SourceKernel-doc
ib_srpt.hinternal
ib_srpt.cinternal

Header와 implementation입니다.

iSER target

119-124

iSCSI Extensions for RDMA target support는 `drivers/infiniband/ulp/isert/ib_isert.c`의 internal API를 문서화합니다.

.. kernel-doc:: drivers/infiniband/ulp/isert/ib_isert.c
   :internal:
iSER target source
SourceKernel-doc
drivers/infiniband/ulp/isert/ib_isert.cinternal

Target implementation kernel-doc 위치입니다.