요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
=============================
mac80211 subsystem (advanced)
=============================
Information contained within this part of the book is of interest only
for advanced interaction of mac80211 with drivers to exploit more
hardware capabilities and improve performance.
LED support
===========
Mac80211 supports various ways of blinking LEDs. Wherever possible,
device LEDs should be exposed as LED class devices and hooked up to the
appropriate trigger, which will then be triggered appropriately by
mac80211.
.. kernel-doc:: include/net/mac80211.h
:functions:
ieee80211_get_tx_led_name
ieee80211_get_rx_led_name
ieee80211_get_assoc_led_name
ieee80211_get_radio_led_name
ieee80211_tpt_blink
ieee80211_tpt_led_trigger_flags
ieee80211_create_tpt_led_trigger
Hardware crypto acceleration
============================
.. kernel-doc:: include/net/mac80211.h
:doc: Hardware crypto acceleration
.. kernel-doc:: include/net/mac80211.h
:functions:
set_key_cmd
ieee80211_key_conf
ieee80211_key_flags
ieee80211_get_tkip_p1k
ieee80211_get_tkip_p1k_iv
ieee80211_get_tkip_p2k
Powersave support
=================
.. kernel-doc:: include/net/mac80211.h
:doc: Powersave support
Beacon filter support
=====================
.. kernel-doc:: include/net/mac80211.h
:doc: Beacon filter support
.. kernel-doc:: include/net/mac80211.h
:functions: ieee80211_beacon_loss
Multiple queues and QoS support
===============================
TBD
.. kernel-doc:: include/net/mac80211.h
:functions: ieee80211_tx_queue_params
Access point mode support
=========================
TBD
Some parts of the if_conf should be discussed here instead
Insert notes about VLAN interfaces with hw crypto here or in the hw
crypto chapter.
support for powersaving clients
-------------------------------
.. kernel-doc:: include/net/mac80211.h
:doc: AP support for powersaving clients
.. kernel-doc:: include/net/mac80211.h
:functions:
ieee80211_get_buffered_bc
ieee80211_beacon_get
ieee80211_sta_eosp
ieee80211_frame_release_type
ieee80211_sta_ps_transition
ieee80211_sta_ps_transition_ni
ieee80211_sta_set_buffered
ieee80211_sta_block_awake
Supporting multiple virtual interfaces
======================================
TBD
Note: WDS with identical MAC address should almost always be OK
Insert notes about having multiple virtual interfaces with different MAC
addresses here, note which configurations are supported by mac80211, add
notes about supporting hw crypto with it.
.. kernel-doc:: include/net/mac80211.h
:functions:
ieee80211_iterate_active_interfaces
ieee80211_iterate_active_interfaces_atomic
Station handling
================
TODO
.. kernel-doc:: include/net/mac80211.h
:functions:
ieee80211_sta
sta_notify_cmd
ieee80211_find_sta
ieee80211_find_sta_by_ifaddr
Hardware scan offload
=====================
TBD
.. kernel-doc:: include/net/mac80211.h
:functions: ieee80211_scan_completed
Aggregation
===========
TX A-MPDU aggregation
---------------------
.. kernel-doc:: net/mac80211/agg-tx.c
:doc: TX A-MPDU aggregation
.. WARNING: DOCPROC directive not supported: !Cnet/mac80211/agg-tx.c
RX A-MPDU aggregation
---------------------
.. kernel-doc:: net/mac80211/agg-rx.c
:doc: RX A-MPDU aggregation
.. WARNING: DOCPROC directive not supported: !Cnet/mac80211/agg-rx.c
.. kernel-doc:: include/net/mac80211.h
:functions: ieee80211_ampdu_mlme_action
Spatial Multiplexing Powersave (SMPS)
=====================================
.. kernel-doc:: include/net/mac80211.h
:doc: Spatial multiplexing power save
.. kernel-doc:: include/net/mac80211.h
:functions:
ieee80211_request_smps
ieee80211_smps_mode
TBD
This part of the book describes the rate control algorithm interface and
how it relates to mac80211 and drivers.
Rate Control API
================
TBD
.. kernel-doc:: include/net/mac80211.h
:functions:
ieee80211_start_tx_ba_session
ieee80211_start_tx_ba_cb_irqsafe
ieee80211_stop_tx_ba_session
ieee80211_stop_tx_ba_cb_irqsafe
ieee80211_rate_control_changed
ieee80211_tx_rate_control
TBD
This part of the book describes mac80211 internals.
Key handling
============
Key handling basics
-------------------
.. kernel-doc:: net/mac80211/key.c
:doc: Key handling basics
MORE TBD
--------
TBD
Receive processing
==================
TBD
Transmit processing
===================
TBD
Station info handling
=====================
Programming information
-----------------------
.. kernel-doc:: net/mac80211/sta_info.h
:functions:
sta_info
ieee80211_sta_info_flags
STA information lifetime rules
------------------------------
.. kernel-doc:: net/mac80211/sta_info.c
:doc: STA information lifetime rules
Aggregation Functions
=====================
.. kernel-doc:: net/mac80211/sta_info.h
:functions:
sta_ampdu_mlme
tid_ampdu_tx
tid_ampdu_rx
Synchronisation Functions
=========================
TBD
Locking, lots of RCU
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
고급 mac80211 드라이버 상호 작용
1-8이 문서 부분은 더 많은 하드웨어 기능을 활용하고 성능을 개선하기 위해 mac80211이 드라이버와 수행하는 고급 상호 작용을 다룹니다.
LED 지원
9-26mac80211은 여러 가지 LED 점멸 방식을 지원합니다. 가능한 경우 장치 LED를 LED 클래스 장치로 노출하고 알맞은 트리거에 연결해야 하며, 그러면 mac80211이 상황에 맞게 해당 트리거를 작동시킵니다.
다음 원문 블록은 TX, RX, 연결, 라디오 LED 이름 조회와 처리량 기반 점멸, 트리거 플래그, 처리량 LED 트리거 생성 API를 지정합니다.
.. kernel-doc:: include/net/mac80211.h
:functions:
ieee80211_get_tx_led_name
ieee80211_get_rx_led_name
ieee80211_get_assoc_led_name
ieee80211_get_radio_led_name
ieee80211_tpt_blink
ieee80211_tpt_led_trigger_flags
ieee80211_create_tpt_led_trigger
하드웨어 암호화 가속
27-41하드웨어 암호화 가속 절은 `include/net/mac80211.h`의 같은 이름 문단과 키 설정 명령, 키 구성 및 플래그, TKIP 1단계와 2단계 키 계산 API 문서를 포함합니다.
.. kernel-doc:: include/net/mac80211.h
:doc: Hardware crypto acceleration
.. kernel-doc:: include/net/mac80211.h
:functions:
set_key_cmd
ieee80211_key_conf
ieee80211_key_flags
ieee80211_get_tkip_p1k
ieee80211_get_tkip_p1k_iv
ieee80211_get_tkip_p2k
절전 및 비콘 필터 지원
42-56절전 지원 절은 `include/net/mac80211.h`의 `Powersave support` kernel-doc 문단을 포함합니다.
.. kernel-doc:: include/net/mac80211.h
:doc: Powersave support
비콘 필터 지원 절은 같은 헤더의 `Beacon filter support` 문단과 비콘 손실을 mac80211에 알리는 `ieee80211_beacon_loss` 함수 문서를 포함합니다.
.. kernel-doc:: include/net/mac80211.h
:doc: Beacon filter support
.. kernel-doc:: include/net/mac80211.h
:functions: ieee80211_beacon_loss
다중 큐와 QoS 지원
57-64다중 큐와 QoS 지원의 본문 설명은 아직 `TBD`입니다. 현재 원문은 전송 큐 매개변수 자료 구조인 `ieee80211_tx_queue_params`의 kernel-doc을 연결합니다.
.. kernel-doc:: include/net/mac80211.h
:functions: ieee80211_tx_queue_params
액세스 포인트 모드와 절전 클라이언트
65-91액세스 포인트 모드 지원의 상세 설명은 아직 `TBD`이며, 원문은 `if_conf`의 일부를 여기에서 논의해야 한다고 메모합니다.
하드웨어 암호화를 사용하는 VLAN 인터페이스에 관한 설명도 이 절이나 하드웨어 암호화 장에 추가해야 한다고 적혀 있습니다.
절전 클라이언트 지원 하위 절은 AP의 절전 클라이언트 지원 문단과 버퍼된 브로드캐스트, 비콘 조회, EOSP, 프레임 해제 유형, 절전 상태 전환, 버퍼 상태 설정 및 깨어남 차단 API를 포함합니다.
.. kernel-doc:: include/net/mac80211.h
:doc: AP support for powersaving clients
.. kernel-doc:: include/net/mac80211.h
:functions:
ieee80211_get_buffered_bc
ieee80211_beacon_get
ieee80211_sta_eosp
ieee80211_frame_release_type
ieee80211_sta_ps_transition
ieee80211_sta_ps_transition_ni
ieee80211_sta_set_buffered
ieee80211_sta_block_awake
여러 가상 인터페이스 지원
92-107여러 가상 인터페이스 지원의 상세 설명은 아직 `TBD`입니다. 동일한 MAC 주소를 사용하는 WDS는 거의 언제나 문제없이 동작해야 한다는 참고가 있습니다.
서로 다른 MAC 주소를 가진 여러 가상 인터페이스, mac80211이 지원하는 구성, 그리고 해당 구성에서의 하드웨어 암호화 지원에 관한 설명을 추가해야 한다고 원문에 적혀 있습니다.
.. kernel-doc:: include/net/mac80211.h
:functions:
ieee80211_iterate_active_interfaces
ieee80211_iterate_active_interfaces_atomic
스테이션 처리와 하드웨어 스캔 오프로딩
108-127스테이션 처리의 본문은 아직 `TODO`이며, 현재 원문은 `ieee80211_sta`, 스테이션 알림 명령, 주소 기반 스테이션 조회 API를 연결합니다.
.. kernel-doc:: include/net/mac80211.h
:functions:
ieee80211_sta
sta_notify_cmd
ieee80211_find_sta
ieee80211_find_sta_by_ifaddr
하드웨어 스캔 오프로딩의 본문도 아직 `TBD`이며, 스캔 완료를 알리는 `ieee80211_scan_completed` 함수 문서를 포함합니다.
.. kernel-doc:: include/net/mac80211.h
:functions: ieee80211_scan_completed
TX 및 RX A-MPDU 집계
128-149집계 절은 TX A-MPDU와 RX A-MPDU 집계를 각각 `net/mac80211/agg-tx.c`와 `net/mac80211/agg-rx.c`의 kernel-doc 문단으로 연결합니다.
두 소스에 대한 기존 DOCPROC 지시문은 지원되지 않는다는 경고가 원문에 그대로 남아 있습니다.
.. kernel-doc:: net/mac80211/agg-tx.c
:doc: TX A-MPDU aggregation
.. WARNING: DOCPROC directive not supported: !Cnet/mac80211/agg-tx.c
RX A-MPDU aggregation
---------------------
.. kernel-doc:: net/mac80211/agg-rx.c
:doc: RX A-MPDU aggregation
.. WARNING: DOCPROC directive not supported: !Cnet/mac80211/agg-rx.c
이 절은 AMPDU MLME 동작을 지시하는 `ieee80211_ampdu_mlme_action` 함수 문서도 포함합니다.
.. kernel-doc:: include/net/mac80211.h
:functions: ieee80211_ampdu_mlme_action
공간 다중화 절전
150-165공간 다중화 절전(SMPS) 절은 관련 개요 문단과 `ieee80211_request_smps`, `ieee80211_smps_mode` API 문서를 포함합니다.
.. kernel-doc:: include/net/mac80211.h
:doc: Spatial multiplexing power save
.. kernel-doc:: include/net/mac80211.h
:functions:
ieee80211_request_smps
ieee80211_smps_mode
추가 설명은 아직 `TBD`입니다. 이어지는 부분은 속도 제어 알고리즘 인터페이스와 그것이 mac80211 및 드라이버와 맺는 관계를 설명합니다.
속도 제어 API
166-183속도 제어 API의 상세 설명은 아직 `TBD`입니다. 원문은 TX 블록 확인 세션 시작과 중지, IRQ 안전 콜백, 속도 제어 변경 통지 및 TX 속도 제어 API를 연결합니다.
.. kernel-doc:: include/net/mac80211.h
:functions:
ieee80211_start_tx_ba_session
ieee80211_start_tx_ba_cb_irqsafe
ieee80211_stop_tx_ba_session
ieee80211_stop_tx_ba_cb_irqsafe
ieee80211_rate_control_changed
ieee80211_tx_rate_control
후속 설명도 `TBD`이며, 다음 부분부터는 mac80211 내부 구현을 다룹니다.
키, 수신 및 송신 내부 처리
184-207키 처리의 기본 사항 절은 `net/mac80211/key.c`의 `Key handling basics` kernel-doc 문단을 포함합니다.
.. kernel-doc:: net/mac80211/key.c
:doc: Key handling basics
`MORE TBD` 하위 절과 키 처리의 후속 본문은 아직 `TBD`입니다. 수신 처리와 송신 처리 절의 상세 설명도 각각 아직 `TBD`로 남아 있습니다.
스테이션 정보와 집계 자료 구조
208-233스테이션 정보 처리의 프로그래밍 정보 절은 내부 `sta_info` 자료 구조와 `ieee80211_sta_info_flags` 플래그의 kernel-doc을 포함합니다.
.. kernel-doc:: net/mac80211/sta_info.h
:functions:
sta_info
ieee80211_sta_info_flags
STA 정보 수명 규칙 절은 `net/mac80211/sta_info.c`의 같은 이름 kernel-doc 문단을 연결합니다.
.. kernel-doc:: net/mac80211/sta_info.c
:doc: STA information lifetime rules
집계 함수 절은 스테이션별 AMPDU MLME 상태와 TX 및 RX TID 집계 상태를 나타내는 자료 구조 문서를 포함합니다.
.. kernel-doc:: net/mac80211/sta_info.h
:functions:
sta_ampdu_mlme
tid_ampdu_tx
tid_ampdu_rx
동기화 함수와 잠금
234-239동기화 함수의 상세 설명은 아직 `TBD`입니다. 원문은 잠금과 다수의 RCU 사용을 후속 작성 항목으로 남겨 둡니다.
요약과 해설
mac80211-advanced.rst:1-239mac80211의 LED, 암호화, 절전, AP, 가상 인터페이스, 스캔, 집계, SMPS, 속도 제어와 내부 스테이션 처리를 설명합니다. 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, 미완성된 TBD 및 TODO 표기, kernel-doc 지시문, 함수명, 심볼, 소스 경로와 원문 줄 좌표를 보존합니다.