Documentation/driver-api/80211/mac80211-advanced.rst GitHub 원문 ↗

Linux 6.18.37 · Driver API / 802.11

mac80211 Subsystem Advanced Topics

mac80211의 LED, 암호화, 절전, AP, 가상 인터페이스, 스캔, 집계, SMPS, 속도 제어와 내부 스테이션 처리를 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

mac80211-advanced.rst:1-239

mac80211의 LED, 암호화, 절전, AP, 가상 인터페이스, 스캔, 집계, SMPS, 속도 제어와 내부 스테이션 처리를 설명합니다. 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, 미완성된 TBD 및 TODO 표기, kernel-doc 지시문, 함수명, 심볼, 소스 경로와 원문 줄 좌표를 보존합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 =============================
2 mac80211 subsystem (advanced)
3 =============================
4
5 Information contained within this part of the book is of interest only
6 for advanced interaction of mac80211 with drivers to exploit more
7 hardware capabilities and improve performance.
8
9 LED support
10 ===========
11
12 Mac80211 supports various ways of blinking LEDs. Wherever possible,
13 device LEDs should be exposed as LED class devices and hooked up to the
14 appropriate trigger, which will then be triggered appropriately by
15 mac80211.
16
17 .. kernel-doc:: include/net/mac80211.h
18 :functions:
19 ieee80211_get_tx_led_name
20 ieee80211_get_rx_led_name
21 ieee80211_get_assoc_led_name
22 ieee80211_get_radio_led_name
23 ieee80211_tpt_blink
24 ieee80211_tpt_led_trigger_flags
25 ieee80211_create_tpt_led_trigger
26
27 Hardware crypto acceleration
28 ============================
29
30 .. kernel-doc:: include/net/mac80211.h
31 :doc: Hardware crypto acceleration
32
33 .. kernel-doc:: include/net/mac80211.h
34 :functions:
35 set_key_cmd
36 ieee80211_key_conf
37 ieee80211_key_flags
38 ieee80211_get_tkip_p1k
39 ieee80211_get_tkip_p1k_iv
40 ieee80211_get_tkip_p2k
41
42 Powersave support
43 =================
44
45 .. kernel-doc:: include/net/mac80211.h
46 :doc: Powersave support
47
48 Beacon filter support
49 =====================
50
51 .. kernel-doc:: include/net/mac80211.h
52 :doc: Beacon filter support
53
54 .. kernel-doc:: include/net/mac80211.h
55 :functions: ieee80211_beacon_loss
56
57 Multiple queues and QoS support
58 ===============================
59
60 TBD
61
62 .. kernel-doc:: include/net/mac80211.h
63 :functions: ieee80211_tx_queue_params
64
65 Access point mode support
66 =========================
67
68 TBD
69
70 Some parts of the if_conf should be discussed here instead
71
72 Insert notes about VLAN interfaces with hw crypto here or in the hw
73 crypto chapter.
74
75 support for powersaving clients
76 -------------------------------
77
78 .. kernel-doc:: include/net/mac80211.h
79 :doc: AP support for powersaving clients
80
81 .. kernel-doc:: include/net/mac80211.h
82 :functions:
83 ieee80211_get_buffered_bc
84 ieee80211_beacon_get
85 ieee80211_sta_eosp
86 ieee80211_frame_release_type
87 ieee80211_sta_ps_transition
88 ieee80211_sta_ps_transition_ni
89 ieee80211_sta_set_buffered
90 ieee80211_sta_block_awake
91
92 Supporting multiple virtual interfaces
93 ======================================
94
95 TBD
96
97 Note: WDS with identical MAC address should almost always be OK
98
99 Insert notes about having multiple virtual interfaces with different MAC
100 addresses here, note which configurations are supported by mac80211, add
101 notes about supporting hw crypto with it.
102
103 .. kernel-doc:: include/net/mac80211.h
104 :functions:
105 ieee80211_iterate_active_interfaces
106 ieee80211_iterate_active_interfaces_atomic
107
108 Station handling
109 ================
110
111 TODO
112
113 .. kernel-doc:: include/net/mac80211.h
114 :functions:
115 ieee80211_sta
116 sta_notify_cmd
117 ieee80211_find_sta
118 ieee80211_find_sta_by_ifaddr
119
120 Hardware scan offload
121 =====================
122
123 TBD
124
125 .. kernel-doc:: include/net/mac80211.h
126 :functions: ieee80211_scan_completed
127
128 Aggregation
129 ===========
130
131 TX A-MPDU aggregation
132 ---------------------
133
134 .. kernel-doc:: net/mac80211/agg-tx.c
135 :doc: TX A-MPDU aggregation
136
137 .. WARNING: DOCPROC directive not supported: !Cnet/mac80211/agg-tx.c
138
139 RX A-MPDU aggregation
140 ---------------------
141
142 .. kernel-doc:: net/mac80211/agg-rx.c
143 :doc: RX A-MPDU aggregation
144
145 .. WARNING: DOCPROC directive not supported: !Cnet/mac80211/agg-rx.c
146
147 .. kernel-doc:: include/net/mac80211.h
148 :functions: ieee80211_ampdu_mlme_action
149
150 Spatial Multiplexing Powersave (SMPS)
151 =====================================
152
153 .. kernel-doc:: include/net/mac80211.h
154 :doc: Spatial multiplexing power save
155
156 .. kernel-doc:: include/net/mac80211.h
157 :functions:
158 ieee80211_request_smps
159 ieee80211_smps_mode
160
161 TBD
162
163 This part of the book describes the rate control algorithm interface and
164 how it relates to mac80211 and drivers.
165
166 Rate Control API
167 ================
168
169 TBD
170
171 .. kernel-doc:: include/net/mac80211.h
172 :functions:
173 ieee80211_start_tx_ba_session
174 ieee80211_start_tx_ba_cb_irqsafe
175 ieee80211_stop_tx_ba_session
176 ieee80211_stop_tx_ba_cb_irqsafe
177 ieee80211_rate_control_changed
178 ieee80211_tx_rate_control
179
180 TBD
181
182 This part of the book describes mac80211 internals.
183
184 Key handling
185 ============
186
187 Key handling basics
188 -------------------
189
190 .. kernel-doc:: net/mac80211/key.c
191 :doc: Key handling basics
192
193 MORE TBD
194 --------
195
196 TBD
197
198 Receive processing
199 ==================
200
201 TBD
202
203 Transmit processing
204 ===================
205
206 TBD
207
208 Station info handling
209 =====================
210
211 Programming information
212 -----------------------
213
214 .. kernel-doc:: net/mac80211/sta_info.h
215 :functions:
216 sta_info
217 ieee80211_sta_info_flags
218
219 STA information lifetime rules
220 ------------------------------
221
222 .. kernel-doc:: net/mac80211/sta_info.c
223 :doc: STA information lifetime rules
224
225 Aggregation Functions
226 =====================
227
228 .. kernel-doc:: net/mac80211/sta_info.h
229 :functions:
230 sta_ampdu_mlme
231 tid_ampdu_tx
232 tid_ampdu_rx
233
234 Synchronisation Functions
235 =========================
236
237 TBD
238
239 Locking, lots of RCU
240

3. 한국어 전문 번역

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

고급 mac80211 드라이버 상호 작용

1-8

이 문서 부분은 더 많은 하드웨어 기능을 활용하고 성능을 개선하기 위해 mac80211이 드라이버와 수행하는 고급 상호 작용을 다룹니다.

LED 지원

9-26

mac80211은 여러 가지 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 사용을 후속 작성 항목으로 남겨 둡니다.