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

Linux 6.18.37 · Driver API / 802.11

cfg80211 Subsystem

cfg80211의 device 등록, 구성 동작, scan·BSS, data path, regulatory, RFkill과 testmode API 문서 구성을 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

cfg80211.rst:1-178

cfg80211의 device 등록, 구성 동작, scan·BSS, data path, regulatory, RFkill과 testmode API 문서 구성을 설명합니다. 영어 원문 전체와 한국어 전문 번역을 함께 제공하며 kernel-doc directive, 함수명, symbol, source path와 원문 줄 좌표를 보존합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 ==================
2 cfg80211 subsystem
3 ==================
4
5 .. kernel-doc:: include/net/cfg80211.h
6 :doc: Introduction
7
8 Device registration
9 ===================
10
11 .. kernel-doc:: include/net/cfg80211.h
12 :doc: Device registration
13
14 .. kernel-doc:: include/net/cfg80211.h
15 :functions:
16 ieee80211_channel_flags
17 ieee80211_channel
18 ieee80211_rate_flags
19 ieee80211_rate
20 ieee80211_sta_ht_cap
21 ieee80211_supported_band
22 cfg80211_signal_type
23 wiphy_params_flags
24 wiphy_flags
25 wiphy
26 wireless_dev
27 wiphy_new
28 wiphy_read_of_freq_limits
29 wiphy_register
30 wiphy_unregister
31 wiphy_free
32 wiphy_name
33 wiphy_dev
34 wiphy_priv
35 priv_to_wiphy
36 set_wiphy_dev
37 wdev_priv
38 ieee80211_iface_limit
39 ieee80211_iface_combination
40 cfg80211_check_combinations
41
42 Actions and configuration
43 =========================
44
45 .. kernel-doc:: include/net/cfg80211.h
46 :doc: Actions and configuration
47
48 .. kernel-doc:: include/net/cfg80211.h
49 :functions:
50 cfg80211_ops
51 vif_params
52 key_params
53 survey_info_flags
54 survey_info
55 cfg80211_beacon_data
56 cfg80211_ap_settings
57 station_parameters
58 rate_info_flags
59 rate_info
60 station_info
61 monitor_flags
62 mpath_info_flags
63 mpath_info
64 bss_parameters
65 ieee80211_txq_params
66 cfg80211_crypto_settings
67 cfg80211_auth_request
68 cfg80211_assoc_request
69 cfg80211_deauth_request
70 cfg80211_disassoc_request
71 cfg80211_ibss_params
72 cfg80211_connect_params
73 cfg80211_pmksa
74 cfg80211_rx_mlme_mgmt
75 cfg80211_auth_timeout
76 cfg80211_rx_assoc_resp
77 cfg80211_assoc_timeout
78 cfg80211_tx_mlme_mgmt
79 cfg80211_ibss_joined
80 cfg80211_connect_resp_params
81 cfg80211_connect_done
82 cfg80211_connect_result
83 cfg80211_connect_bss
84 cfg80211_connect_timeout
85 cfg80211_roamed
86 cfg80211_disconnected
87 cfg80211_ready_on_channel
88 cfg80211_remain_on_channel_expired
89 cfg80211_new_sta
90 cfg80211_rx_mgmt
91 cfg80211_mgmt_tx_status
92 cfg80211_cqm_rssi_notify
93 cfg80211_cqm_pktloss_notify
94 cfg80211_michael_mic_failure
95
96 Scanning and BSS list handling
97 ==============================
98
99 .. kernel-doc:: include/net/cfg80211.h
100 :doc: Scanning and BSS list handling
101
102 .. kernel-doc:: include/net/cfg80211.h
103 :functions:
104 cfg80211_ssid
105 cfg80211_scan_request
106 cfg80211_scan_done
107 cfg80211_bss
108 cfg80211_inform_bss
109 cfg80211_inform_bss_frame_data
110 cfg80211_inform_bss_data
111 cfg80211_unlink_bss
112 cfg80211_find_ie
113 ieee80211_bss_get_ie
114
115 Utility functions
116 =================
117
118 .. kernel-doc:: include/net/cfg80211.h
119 :doc: Utility functions
120
121 .. kernel-doc:: include/net/cfg80211.h
122 :functions:
123 ieee80211_channel_to_frequency
124 ieee80211_frequency_to_channel
125 ieee80211_get_channel
126 ieee80211_get_response_rate
127 ieee80211_hdrlen
128 ieee80211_get_hdrlen_from_skb
129 ieee80211_radiotap_iterator
130
131 Data path helpers
132 =================
133
134 .. kernel-doc:: include/net/cfg80211.h
135 :doc: Data path helpers
136
137 .. kernel-doc:: include/net/cfg80211.h
138 :functions:
139 ieee80211_data_to_8023
140 ieee80211_amsdu_to_8023s
141 cfg80211_classify8021d
142
143 Regulatory enforcement infrastructure
144 =====================================
145
146 .. kernel-doc:: include/net/cfg80211.h
147 :doc: Regulatory enforcement infrastructure
148
149 .. kernel-doc:: include/net/cfg80211.h
150 :functions:
151 regulatory_hint
152 wiphy_apply_custom_regulatory
153 freq_reg_info
154
155 RFkill integration
156 ==================
157
158 .. kernel-doc:: include/net/cfg80211.h
159 :doc: RFkill integration
160
161 .. kernel-doc:: include/net/cfg80211.h
162 :functions:
163 wiphy_rfkill_set_hw_state
164 wiphy_rfkill_start_polling
165 wiphy_rfkill_stop_polling
166
167 Test mode
168 =========
169
170 .. kernel-doc:: include/net/cfg80211.h
171 :doc: Test mode
172
173 .. kernel-doc:: include/net/cfg80211.h
174 :functions:
175 cfg80211_testmode_alloc_reply_skb
176 cfg80211_testmode_reply
177 cfg80211_testmode_alloc_event_skb
178 cfg80211_testmode_event
179

3. 한국어 전문 번역

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

cfg80211 subsystem 개요

1-7

`cfg80211`은 Linux 802.11 wireless 구성의 중심 subsystem입니다. 이 절은 `include/net/cfg80211.h`에 있는 `Introduction` kernel-doc 문단을 포함합니다.

.. kernel-doc:: include/net/cfg80211.h
   :doc: Introduction

device 등록

8-41

device registration 절은 `include/net/cfg80211.h`의 같은 이름 문단과 channel·rate·band capability, `wiphy`, `wireless_dev`, interface combination, wiphy 생성·등록·해제와 private data 접근 API의 kernel-doc을 포함합니다.

.. kernel-doc:: include/net/cfg80211.h
   :doc: Device registration

.. kernel-doc:: include/net/cfg80211.h
   :functions:
        ieee80211_channel_flags
        ieee80211_channel
        ieee80211_rate_flags
        ieee80211_rate
        ieee80211_sta_ht_cap
        ieee80211_supported_band
        cfg80211_signal_type
        wiphy_params_flags
        wiphy_flags
        wiphy
        wireless_dev
        wiphy_new
        wiphy_read_of_freq_limits
        wiphy_register
        wiphy_unregister
        wiphy_free
        wiphy_name
        wiphy_dev
        wiphy_priv
        priv_to_wiphy
        set_wiphy_dev
        wdev_priv
        ieee80211_iface_limit
        ieee80211_iface_combination
        cfg80211_check_combinations

동작과 구성

42-95

actions and configuration 절은 driver callback 집합 `cfg80211_ops`와 virtual interface, key, survey, beacon, AP, station, rate, monitor, mesh path, BSS, TX queue, crypto 설정 자료 구조를 포함합니다.

또한 인증·연결·association·deauthentication·disassociation·IBSS 요청과 응답, timeout, roaming, disconnect, remain-on-channel, 새 station, management frame, CQM, packet loss, Michael MIC failure를 보고하는 cfg80211 API의 kernel-doc을 포함합니다.

.. kernel-doc:: include/net/cfg80211.h
   :doc: Actions and configuration

.. kernel-doc:: include/net/cfg80211.h
   :functions:
        cfg80211_ops
        vif_params
        key_params
        survey_info_flags
        survey_info
        cfg80211_beacon_data
        cfg80211_ap_settings
        station_parameters
        rate_info_flags
        rate_info
        station_info
        monitor_flags
        mpath_info_flags
        mpath_info
        bss_parameters
        ieee80211_txq_params
        cfg80211_crypto_settings
        cfg80211_auth_request
        cfg80211_assoc_request
        cfg80211_deauth_request
        cfg80211_disassoc_request
        cfg80211_ibss_params
        cfg80211_connect_params
        cfg80211_pmksa
        cfg80211_rx_mlme_mgmt
        cfg80211_auth_timeout
        cfg80211_rx_assoc_resp
        cfg80211_assoc_timeout
        cfg80211_tx_mlme_mgmt
        cfg80211_ibss_joined
        cfg80211_connect_resp_params
        cfg80211_connect_done
        cfg80211_connect_result
        cfg80211_connect_bss
        cfg80211_connect_timeout
        cfg80211_roamed
        cfg80211_disconnected
        cfg80211_ready_on_channel
        cfg80211_remain_on_channel_expired
        cfg80211_new_sta
        cfg80211_rx_mgmt
        cfg80211_mgmt_tx_status
        cfg80211_cqm_rssi_notify
        cfg80211_cqm_pktloss_notify
        cfg80211_michael_mic_failure

scan과 BSS 목록 처리

96-114

scanning and BSS list handling 절은 SSID와 scan request, scan completion, `cfg80211_bss`, BSS·frame 정보를 알리는 함수, BSS unlink, information element 검색 API를 포함합니다.

.. kernel-doc:: include/net/cfg80211.h
   :doc: Scanning and BSS list handling

.. kernel-doc:: include/net/cfg80211.h
   :functions:
        cfg80211_ssid
        cfg80211_scan_request
        cfg80211_scan_done
        cfg80211_bss
        cfg80211_inform_bss
        cfg80211_inform_bss_frame_data
        cfg80211_inform_bss_data
        cfg80211_unlink_bss
        cfg80211_find_ie
        ieee80211_bss_get_ie

utility 함수

115-130

utility 절은 IEEE 802.11 channel과 frequency 변환, channel 조회, response rate 선택, header 길이 계산과 radiotap iterator의 kernel-doc을 포함합니다.

.. kernel-doc:: include/net/cfg80211.h
   :doc: Utility functions

.. kernel-doc:: include/net/cfg80211.h
   :functions:
        ieee80211_channel_to_frequency
        ieee80211_frequency_to_channel
        ieee80211_get_channel
        ieee80211_get_response_rate
        ieee80211_hdrlen
        ieee80211_get_hdrlen_from_skb
        ieee80211_radiotap_iterator

data path helper

131-142

data path helper 절은 802.11 frame을 802.3 frame으로 변환하고 A-MSDU를 여러 802.3 frame으로 분리하며 packet을 802.1D priority로 분류하는 API를 포함합니다.

.. kernel-doc:: include/net/cfg80211.h
   :doc: Data path helpers

.. kernel-doc:: include/net/cfg80211.h
   :functions:
        ieee80211_data_to_8023
        ieee80211_amsdu_to_8023s
        cfg80211_classify8021d

regulatory enforcement 기반 시설

143-154

regulatory enforcement 절은 regulatory hint를 전달하고 wiphy별 custom regulatory domain을 적용하며 주파수의 regulatory 정보를 조회하는 API를 포함합니다.

.. kernel-doc:: include/net/cfg80211.h
   :doc: Regulatory enforcement infrastructure

.. kernel-doc:: include/net/cfg80211.h
   :functions:
        regulatory_hint
        wiphy_apply_custom_regulatory
        freq_reg_info

RFkill 통합

155-166

RFkill integration 절은 wiphy의 hardware RFkill 상태를 알리고 polling을 시작하거나 중지하는 API를 포함합니다.

.. kernel-doc:: include/net/cfg80211.h
   :doc: RFkill integration

.. kernel-doc:: include/net/cfg80211.h
   :functions:
        wiphy_rfkill_set_hw_state
        wiphy_rfkill_start_polling
        wiphy_rfkill_stop_polling

test mode

167-178

test mode 절은 testmode reply와 event에 사용할 skb를 할당하고 reply 또는 event를 userspace로 전달하는 cfg80211 API를 포함합니다.

.. kernel-doc:: include/net/cfg80211.h
   :doc: Test mode

.. kernel-doc:: include/net/cfg80211.h
   :functions:
        cfg80211_testmode_alloc_reply_skb
        cfg80211_testmode_reply
        cfg80211_testmode_alloc_event_skb
        cfg80211_testmode_event