요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
===========================================
InfiniBand and Remote DMA (RDMA) Interfaces
===========================================
Introduction and Overview
=========================
TBD
InfiniBand core interfaces
==========================
.. 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:
RDMA Verbs transport library
============================
.. 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:
Upper Layer Protocols
=====================
iSCSI Extensions for RDMA (iSER)
--------------------------------
.. 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:
Omni-Path (OPA) Virtual NIC support
-----------------------------------
.. 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:
InfiniBand SCSI RDMA protocol target support
--------------------------------------------
.. kernel-doc:: drivers/infiniband/ulp/srpt/ib_srpt.h
:internal:
.. kernel-doc:: drivers/infiniband/ulp/srpt/ib_srpt.c
:internal:
iSCSI Extensions for RDMA (iSER) target support
-----------------------------------------------
.. kernel-doc:: drivers/infiniband/ulp/isert/ib_isert.c
:internal:
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 목록입니다.
Core에서 software transport와 upper-layer protocol로 이어집니다.
InfiniBand core interface
10-45Core 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:
Core kernel-doc source를 기능별로 묶었습니다.
RDMA Verbs transport library
46-69RDMA 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:
Software RDMA transport의 주요 object입니다.
iSER initiator
70-94Upper 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:
문서화된 function group을 connection 흐름으로 정리했습니다.
Omni-Path Virtual NIC
95-109OPA(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:
Virtual Ethernet Management Agent 관련 source입니다.
InfiniBand SCSI RDMA target
110-118InfiniBand 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:
Header와 implementation입니다.
iSER target
119-124iSCSI Extensions for RDMA target support는 `drivers/infiniband/ulp/isert/ib_isert.c`의 internal API를 문서화합니다.
.. kernel-doc:: drivers/infiniband/ulp/isert/ib_isert.c
:internal:
Target implementation kernel-doc 위치입니다.
요약과 해설
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를 보존합니다.