요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
=========================================
Linux Networking and Network Devices APIs
=========================================
Linux Networking
================
Networking Base Types
---------------------
.. kernel-doc:: include/linux/net.h
:internal:
Socket Buffer Functions
-----------------------
.. kernel-doc:: include/linux/skbuff.h
:internal:
.. kernel-doc:: include/net/sock.h
:internal:
.. kernel-doc:: net/socket.c
:export:
.. kernel-doc:: net/core/skbuff.c
:export:
.. kernel-doc:: net/core/sock.c
:export:
.. kernel-doc:: net/core/datagram.c
:export:
.. kernel-doc:: net/core/stream.c
:export:
Socket Filter
-------------
.. kernel-doc:: net/core/filter.c
:export:
Generic Network Statistics
--------------------------
.. kernel-doc:: include/uapi/linux/gen_stats.h
:internal:
.. kernel-doc:: net/core/gen_stats.c
:export:
.. kernel-doc:: net/core/gen_estimator.c
:export:
SUN RPC subsystem
-----------------
.. kernel-doc:: net/sunrpc/xdr.c
:export:
.. kernel-doc:: net/sunrpc/svc_xprt.c
:export:
.. kernel-doc:: net/sunrpc/xprt.c
:export:
.. kernel-doc:: net/sunrpc/sched.c
:export:
.. kernel-doc:: net/sunrpc/socklib.c
:export:
.. kernel-doc:: net/sunrpc/stats.c
:export:
.. kernel-doc:: net/sunrpc/rpc_pipe.c
:export:
.. kernel-doc:: net/sunrpc/rpcb_clnt.c
:export:
.. kernel-doc:: net/sunrpc/clnt.c
:export:
Network device support
======================
Driver Support
--------------
.. kernel-doc:: net/core/dev.c
:export:
.. kernel-doc:: net/ethernet/eth.c
:export:
.. kernel-doc:: net/sched/sch_generic.c
:export:
.. kernel-doc:: include/linux/etherdevice.h
:internal:
.. kernel-doc:: include/linux/netdevice.h
:internal:
.. kernel-doc:: include/net/net_shaper.h
:internal:
PHY Support
-----------
.. kernel-doc:: drivers/net/phy/phy.c
:export:
.. kernel-doc:: drivers/net/phy/phy.c
:internal:
.. kernel-doc:: drivers/net/phy/phy-core.c
:export:
.. kernel-doc:: drivers/net/phy/phy-c45.c
:export:
.. kernel-doc:: include/linux/phy.h
:internal:
.. kernel-doc:: drivers/net/phy/phy_device.c
:export:
.. kernel-doc:: drivers/net/phy/phy_device.c
:internal:
.. kernel-doc:: drivers/net/phy/mdio_bus.c
:export:
.. kernel-doc:: drivers/net/phy/mdio_bus.c
:internal:
PHYLINK
-------
PHYLINK interfaces traditional network drivers with PHYLIB, fixed-links,
and SFF modules (eg, hot-pluggable SFP) that may contain PHYs. PHYLINK
provides management of the link state and link modes.
.. kernel-doc:: include/linux/phylink.h
:internal:
.. kernel-doc:: drivers/net/phy/phylink.c
SFP support
-----------
.. kernel-doc:: drivers/net/phy/sfp-bus.c
:internal:
.. kernel-doc:: include/linux/sfp.h
:internal:
.. kernel-doc:: drivers/net/phy/sfp-bus.c
:export:
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
네트워킹 기본 형식과 소켓 버퍼 API
1-37이 문서는 Linux 네트워킹 커널 API를 실제 선언과 구현 소스의 kernel-doc에서 모아 보여 주는 색인입니다. 네트워킹 기본 형식은 `include/linux/net.h`의 내부 선언을 포함합니다.
소켓 버퍼 영역은 `include/linux/skbuff.h`, `include/net/sock.h`의 내부 API와 `net/socket.c`, `net/core/skbuff.c`, `net/core/sock.c`, `net/core/datagram.c`, `net/core/stream.c`가 내보내는 함수 문서를 결합합니다. 따라서 `sk_buff`, socket core, datagram과 stream 처리 API를 찾을 때 이 구간을 출발점으로 삼습니다.
=========================================
Linux Networking and Network Devices APIs
=========================================
Linux Networking
================
Networking Base Types
---------------------
.. kernel-doc:: include/linux/net.h
:internal:
Socket Buffer Functions
-----------------------
.. kernel-doc:: include/linux/skbuff.h
:internal:
.. kernel-doc:: include/net/sock.h
:internal:
.. kernel-doc:: net/socket.c
:export:
.. kernel-doc:: net/core/skbuff.c
:export:
.. kernel-doc:: net/core/sock.c
:export:
.. kernel-doc:: net/core/datagram.c
:export:
.. kernel-doc:: net/core/stream.c
:export:
소켓 필터와 일반 네트워크 통계
38-55소켓 필터 API는 `net/core/filter.c`가 export하는 kernel-doc에서 생성됩니다. 일반 네트워크 통계는 UAPI 형식인 `include/uapi/linux/gen_stats.h`와 통계·estimator 구현인 `net/core/gen_stats.c`, `net/core/gen_estimator.c`의 문서를 포함합니다.
Socket Filter
-------------
.. kernel-doc:: net/core/filter.c
:export:
Generic Network Statistics
--------------------------
.. kernel-doc:: include/uapi/linux/gen_stats.h
:internal:
.. kernel-doc:: net/core/gen_stats.c
:export:
.. kernel-doc:: net/core/gen_estimator.c
:export:
SUN RPC 하위 시스템
56-85SUN RPC 영역은 XDR 처리 `net/sunrpc/xdr.c`, 서비스 transport `svc_xprt.c`, 클라이언트 transport `xprt.c`, 스케줄러 `sched.c`, 공통 소켓 보조 함수 `socklib.c`, 통계 `stats.c`, RPC pipe `rpc_pipe.c`, rpcbind 클라이언트 `rpcb_clnt.c`, RPC 클라이언트 `clnt.c`가 export하는 API 문서를 모읍니다.
SUN RPC subsystem
-----------------
.. kernel-doc:: net/sunrpc/xdr.c
:export:
.. kernel-doc:: net/sunrpc/svc_xprt.c
:export:
.. kernel-doc:: net/sunrpc/xprt.c
:export:
.. kernel-doc:: net/sunrpc/sched.c
:export:
.. kernel-doc:: net/sunrpc/socklib.c
:export:
.. kernel-doc:: net/sunrpc/stats.c
:export:
.. kernel-doc:: net/sunrpc/rpc_pipe.c
:export:
.. kernel-doc:: net/sunrpc/rpcb_clnt.c
:export:
.. kernel-doc:: net/sunrpc/clnt.c
:export:
네트워크 장치 드라이버 지원
86-109네트워크 장치 지원은 core device 처리 `net/core/dev.c`, Ethernet 공통 처리 `net/ethernet/eth.c`, 일반 qdisc `net/sched/sch_generic.c`의 export API와 `include/linux/etherdevice.h`, `include/linux/netdevice.h`, `include/net/net_shaper.h`의 내부 선언을 다룹니다. 네트워크 드라이버가 장치를 등록하고 Ethernet 프레임과 queueing, traffic shaper를 연동할 때 필요한 공통 인터페이스입니다.
Network device support
======================
Driver Support
--------------
.. kernel-doc:: net/core/dev.c
:export:
.. kernel-doc:: net/ethernet/eth.c
:export:
.. kernel-doc:: net/sched/sch_generic.c
:export:
.. kernel-doc:: include/linux/etherdevice.h
:internal:
.. kernel-doc:: include/linux/netdevice.h
:internal:
.. kernel-doc:: include/net/net_shaper.h
:internal:
PHY, PHYLINK와 SFP 지원
110-162PHY 지원은 `drivers/net/phy/phy.c`의 export·internal 문서, PHY core와 Clause 45 구현, `include/linux/phy.h`, PHY device와 MDIO bus의 공개·내부 API를 모읍니다.
PHYLINK는 전통적인 네트워크 드라이버를 PHYLIB, fixed-link, PHY를 포함할 수 있는 SFF 모듈(예: hot-pluggable SFP)과 연결합니다. PHYLINK가 링크 상태와 지원 링크 모드를 관리하며, 인터페이스는 `include/linux/phylink.h`와 `drivers/net/phy/phylink.c`에서 문서화됩니다.
SFP 지원은 `drivers/net/phy/sfp-bus.c`의 내부·export API와 `include/linux/sfp.h`의 내부 인터페이스를 제공합니다.
PHY Support
-----------
.. kernel-doc:: drivers/net/phy/phy.c
:export:
.. kernel-doc:: drivers/net/phy/phy.c
:internal:
.. kernel-doc:: drivers/net/phy/phy-core.c
:export:
.. kernel-doc:: drivers/net/phy/phy-c45.c
:export:
.. kernel-doc:: include/linux/phy.h
:internal:
.. kernel-doc:: drivers/net/phy/phy_device.c
:export:
.. kernel-doc:: drivers/net/phy/phy_device.c
:internal:
.. kernel-doc:: drivers/net/phy/mdio_bus.c
:export:
.. kernel-doc:: drivers/net/phy/mdio_bus.c
:internal:
PHYLINK
-------
PHYLINK interfaces traditional network drivers with PHYLIB, fixed-links,
and SFF modules (eg, hot-pluggable SFP) that may contain PHYs. PHYLINK
provides management of the link state and link modes.
.. kernel-doc:: include/linux/phylink.h
:internal:
.. kernel-doc:: drivers/net/phy/phylink.c
SFP support
-----------
.. kernel-doc:: drivers/net/phy/sfp-bus.c
:internal:
.. kernel-doc:: include/linux/sfp.h
:internal:
.. kernel-doc:: drivers/net/phy/sfp-bus.c
:export:
요약·해설
kapi.rst:1-162네트워킹 하위 시스템 개발자가 관련 API 선언과 구현을 한 페이지에서 찾도록 여러 헤더와 C 파일의 kernel-doc을 묶습니다. 실제 설명은 빌드 시 각 `.. kernel-doc::` source path에서 추출됩니다.
문서가 참조하는 주요 source path 묶음입니다.