dsphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextEnglish}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget/networking/netif-msgmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget(/translations/zh_TW/networking/netif-msgmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget(/translations/it_IT/networking/netif-msgmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget(/translations/ja_JP/networking/netif-msgmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget(/translations/ko_KR/networking/netif-msgmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hPortuguese (Brazilian)}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget(/translations/pt_BR/networking/netif-msgmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget(/translations/sp_SP/networking/netif-msgmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageChinese (Simplified)uh1h hh _documenthsourceNlineNubhcomment)}(h SPDX-License-Identifier: GPL-2.0h]h SPDX-License-Identifier: GPL-2.0}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhU/var/lib/git/docbuild/linux/Documentation/translations/zh_CN/networking/netif-msg.rsthKubhnote)}(hX{此文件的目的是为让中文读者更容易阅读和理解,而不是作为一个分支。 因此, 如果您对此文件有任何意见或更新,请先尝试更新原始英文文件。 如果您发现本文档与原始文件有任何不同或者有翻译问题,请发建议或者补丁给 该文件的译者,或者请求中文文档维护者和审阅者的帮助。h]h paragraph)}(hX{此文件的目的是为让中文读者更容易阅读和理解,而不是作为一个分支。 因此, 如果您对此文件有任何意见或更新,请先尝试更新原始英文文件。 如果您发现本文档与原始文件有任何不同或者有翻译问题,请发建议或者补丁给 该文件的译者,或者请求中文文档维护者和审阅者的帮助。h]hX{此文件的目的是为让中文读者更容易阅读和理解,而不是作为一个分支。 因此, 如果您对此文件有任何意见或更新,请先尝试更新原始英文文件。 如果您发现本文档与原始文件有任何不同或者有翻译问题,请发建议或者补丁给 该文件的译者,或者请求中文文档维护者和审阅者的帮助。}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hh5Documentation/translations/zh_CN/disclaimer-zh_CN.rsthKhhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh field_list)}(hhh](hfield)}(hhh](h field_name)}(hOriginalh]hOriginal}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhKubh field_body)}(h'Documentation/networking/netif-msg.rst h]h)}(h&Documentation/networking/netif-msg.rsth]h&Documentation/networking/netif-msg.rst}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhhubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hhh](h)}(h翻译h]h翻译}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhKubj)}(h-王亚鑫 Wang Yaxin h]h)}(h,王亚鑫 Wang Yaxin h](h王亚鑫 Wang Yaxin <}(hj4hhhNhNubh reference)}(hwang.yaxin@zte.com.cnh]hwang.yaxin@zte.com.cn}(hj>hhhNhNubah}(h]h ]h"]h$]h&]refurimailto:wang.yaxin@zte.com.cnuh1j<hj4ubh>}(hj4hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK hj0ubah}(h]h ]h"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubeh}(h]h ]h"]h$]h&]uh1hhhhhhhhKubhsection)}(hhh](htitle)}(h网络接口消息级别h]h网络接口消息级别}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1johjlhhhhhK ubh)}(h0网络接口消息级别设置的设计方案。h]h0网络接口消息级别设置的设计方案。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjlhhubjk)}(hhh](jp)}(h 历史背景h]h 历史背景}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjhhhhhKubh)}(h调试消息接口的设计遵循并受制于向后兼容性及历史实践。理解其发展历史有助于把握 当前实践,并将其与旧版驱动代码相关联。h]h调试消息接口的设计遵循并受制于向后兼容性及历史实践。理解其发展历史有助于把握 当前实践,并将其与旧版驱动代码相关联。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(h自Linux诞生之初,每个网络设备驱动均包含一个本地整型变量以控制调试消息级别。 消息级别范围为0至7,数值越大表示输出越详细。h]h自Linux诞生之初,每个网络设备驱动均包含一个本地整型变量以控制调试消息级别。 消息级别范围为0至7,数值越大表示输出越详细。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(h消息级别的定义在3级之后未明确细化,但实际实现通常与指定级别相差±1。驱动程序 成熟后,冗余的详细级别消息常被移除。h]h消息级别的定义在3级之后未明确细化,但实际实现通常与指定级别相差±1。驱动程序 成熟后,冗余的详细级别消息常被移除。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh block_quote)}(hX- 0 最简消息,仅显示致命错误的关键信息。 - 1 标准消息,初始化状态。无运行时消息。 - 2 特殊介质选择消息,通常由定时器驱动。 - 3 接口开启和停止消息,包括正常状态信息。 - 4 Tx/Rx帧错误消息及异常驱动操作。 - 5 Tx数据包队列信息、中断事件。 - 6 每个完成的Tx数据包和接收的Rx数据包状态。 - 7 Tx/Rx数据包初始内容。 h]h bullet_list)}(hhh](h list_item)}(h90 最简消息,仅显示致命错误的关键信息。h]h)}(hjh]h90 最简消息,仅显示致命错误的关键信息。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h91 标准消息,初始化状态。无运行时消息。h]h)}(hjh]h91 标准消息,初始化状态。无运行时消息。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h92 特殊介质选择消息,通常由定时器驱动。h]h)}(hjh]h92 特殊介质选择消息,通常由定时器驱动。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h<3 接口开启和停止消息,包括正常状态信息。h]h)}(hjh]h<3 接口开启和停止消息,包括正常状态信息。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h/4 Tx/Rx帧错误消息及异常驱动操作。h]h)}(hj3h]h/4 Tx/Rx帧错误消息及异常驱动操作。}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK!hj1ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h,5 Tx数据包队列信息、中断事件。h]h)}(hjJh]h,5 Tx数据包队列信息、中断事件。}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK"hjHubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h=6 每个完成的Tx数据包和接收的Rx数据包状态。h]h)}(hjah]h=6 每个完成的Tx数据包和接收的Rx数据包状态。}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK#hj_ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h!7 Tx/Rx数据包初始内容。 h]h)}(h 7 Tx/Rx数据包初始内容。h]h 7 Tx/Rx数据包初始内容。}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK$hjvubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]bullet-uh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1jhhhKhjhhubh)}(h最初,该消息级别变量在各驱动中具有唯一名称(如"lance_debug"),便于通过 内核符号调试器定位和修改其设置。模块化内核出现后,变量统一重命名为"debug", 并作为模块参数设置。h]h最初,该消息级别变量在各驱动中具有唯一名称(如”lance_debug”),便于通过 内核符号调试器定位和修改其设置。模块化内核出现后,变量统一重命名为”debug”, 并作为模块参数设置。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK&hjhhubh)}(h这种方法效果良好。然而,人们始终对附加功能存在需求。多年来,以下功能逐渐 成为合理且易于实现的增强方案:h]h这种方法效果良好。然而,人们始终对附加功能存在需求。多年来,以下功能逐渐 成为合理且易于实现的增强方案:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK*hjhhubj)}(h- 通过ioctl()调用修改消息级别。 - 按接口而非驱动设置消息级别。 - 对发出的消息类型进行更具选择性的控制。 h]j)}(hhh](j)}(h(通过ioctl()调用修改消息级别。h]h)}(hjh]h(通过ioctl()调用修改消息级别。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK-hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h*按接口而非驱动设置消息级别。h]h)}(hjh]h*按接口而非驱动设置消息级别。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK.hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h:对发出的消息类型进行更具选择性的控制。 h]h)}(h9对发出的消息类型进行更具选择性的控制。h]h9对发出的消息类型进行更具选择性的控制。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK/hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]jjuh1jhhhK-hjubah}(h]h ]h"]h$]h&]uh1jhhhK-hjhhubh)}(hdnetif_msg 建议添加了这些功能,仅带来了轻微的复杂性增加和代码规模增长。h]hdnetif_msg 建议添加了这些功能,仅带来了轻微的复杂性增加和代码规模增长。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK1hjhhubh)}(h推荐方案如下:h]h推荐方案如下:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK3hjhhubj)}(hX- 保留驱动级整型变量"debug"作为模块参数,默认值为'1'。 - 添加一个名为 "msg_enable" 的接口私有变量。该变量是位图而非级别, 并按如下方式初始化:: 1 << debug 或更精确地说:: debug < 0 ? 0 : 1 << min(sizeof(int)-1, debug) 消息应从以下形式更改:: if (debug > 1) printk(MSG_DEBUG "%s: ... 改为:: if (np->msg_enable & NETIF_MSG_LINK) printk(MSG_DEBUG "%s: ... h]j)}(hhh](j)}(hJ保留驱动级整型变量"debug"作为模块参数,默认值为'1'。 h]h)}(hI保留驱动级整型变量"debug"作为模块参数,默认值为'1'。h]hQ保留驱动级整型变量”debug”作为模块参数,默认值为’1’。}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK5hj4ubah}(h]h ]h"]h$]h&]uh1jhj1ubj)}(hXz添加一个名为 "msg_enable" 的接口私有变量。该变量是位图而非级别, 并按如下方式初始化:: 1 << debug 或更精确地说:: debug < 0 ? 0 : 1 << min(sizeof(int)-1, debug) 消息应从以下形式更改:: if (debug > 1) printk(MSG_DEBUG "%s: ... 改为:: if (np->msg_enable & NETIF_MSG_LINK) printk(MSG_DEBUG "%s: ... h](h)}(hw添加一个名为 "msg_enable" 的接口私有变量。该变量是位图而非级别, 并按如下方式初始化::h]hz添加一个名为 “msg_enable” 的接口私有变量。该变量是位图而非级别, 并按如下方式初始化:}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK7hjLubh literal_block)}(hU 1 << debug 或更精确地说:: debug < 0 ? 0 : 1 << min(sizeof(int)-1, debug)h]hU 1 << debug 或更精确地说:: debug < 0 ? 0 : 1 << min(sizeof(int)-1, debug)}hj`sbah}(h]h ]h"]h$]h&]hhuh1j^hhhK:hjLubh)}(h 消息应从以下形式更改::h]h消息应从以下形式更改:}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK@hjLubj_)}(h-if (debug > 1) printk(MSG_DEBUG "%s: ...h]h-if (debug > 1) printk(MSG_DEBUG "%s: ...}hj|sbah}(h]h ]h"]h$]h&]hhuh1j^hhhKBhjLubh)}(h改为::h]h改为:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKEhjLubj_)}(hCif (np->msg_enable & NETIF_MSG_LINK) printk(MSG_DEBUG "%s: ...h]hCif (np->msg_enable & NETIF_MSG_LINK) printk(MSG_DEBUG "%s: ...}hjsbah}(h]h ]h"]h$]h&]hhuh1j^hhhKGhjLubeh}(h]h ]h"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]jjuh1jhhhK5hj-ubah}(h]h ]h"]h$]h&]uh1jhhhK5hjhhubh)}(h消息级别命名对应关系h]h消息级别命名对应关系}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKJhjhhubj)}(hX========= =================== ============ 旧级别 名称 位位置 ========= =================== ============ 1 NETIF_MSG_PROBE 0x0002 2 NETIF_MSG_LINK 0x0004 2 NETIF_MSG_TIMER 0x0004 3 NETIF_MSG_IFDOWN 0x0008 3 NETIF_MSG_IFUP 0x0008 4 NETIF_MSG_RX_ERR 0x0010 4 NETIF_MSG_TX_ERR 0x0010 5 NETIF_MSG_TX_QUEUED 0x0020 5 NETIF_MSG_INTR 0x0020 6 NETIF_MSG_TX_DONE 0x0040 6 NETIF_MSG_RX_STATUS 0x0040 7 NETIF_MSG_PKTDATA 0x0080 ========= =================== ============h]htable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK uh1jhjubhthead)}(hhh]hrow)}(hhh](hentry)}(hhh]h)}(h 旧级别h]h 旧级别}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKNhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h名称h]h名称}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKNhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h 位位置h]h 位位置}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKNhj.ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubhtbody)}(hhh](j)}(hhh](j)}(hhh]h)}(h1h]h1}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhjYubah}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh]h)}(hNETIF_MSG_PROBEh]hNETIF_MSG_PROBE}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhjpubah}(h]h ]h"]h$]h&]uh1jhjVubj)}(hhh]h)}(h0x0002h]h0x0002}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhjubah}(h]h ]h"]h$]h&]uh1jhjVubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh](j)}(hhh]h)}(h2h]h2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKQhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hNETIF_MSG_LINKh]hNETIF_MSG_LINK}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKQhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h0x0004h]h0x0004}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKQhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh](j)}(hhh]h)}(hjh]h2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hNETIF_MSG_TIMERh]hNETIF_MSG_TIMER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h0x0004h]h0x0004}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhj"ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh](j)}(hhh]h)}(h3h]h3}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKShjBubah}(h]h ]h"]h$]h&]uh1jhj?ubj)}(hhh]h)}(hNETIF_MSG_IFDOWNh]hNETIF_MSG_IFDOWN}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKShjYubah}(h]h ]h"]h$]h&]uh1jhj?ubj)}(hhh]h)}(h0x0008h]h0x0008}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKShjpubah}(h]h ]h"]h$]h&]uh1jhj?ubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh](j)}(hhh]h)}(hjGh]h3}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKThjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hNETIF_MSG_IFUPh]hNETIF_MSG_IFUP}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKThjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h0x0008h]h0x0008}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKThjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh](j)}(hhh]h)}(h4h]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKUhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hNETIF_MSG_RX_ERRh]hNETIF_MSG_RX_ERR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKUhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h0x0010h]h0x0010}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKUhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh](j)}(hhh]h)}(hjh]h4}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKVhj+ubah}(h]h ]h"]h$]h&]uh1jhj(ubj)}(hhh]h)}(hNETIF_MSG_TX_ERRh]hNETIF_MSG_TX_ERR}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKVhjAubah}(h]h ]h"]h$]h&]uh1jhj(ubj)}(hhh]h)}(h0x0010h]h0x0010}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKVhjXubah}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh](j)}(hhh]h)}(h5h]h5}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKWhjxubah}(h]h ]h"]h$]h&]uh1jhjuubj)}(hhh]h)}(hNETIF_MSG_TX_QUEUEDh]hNETIF_MSG_TX_QUEUED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKWhjubah}(h]h ]h"]h$]h&]uh1jhjuubj)}(hhh]h)}(h0x0020h]h0x0020}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKWhjubah}(h]h ]h"]h$]h&]uh1jhjuubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh](j)}(hhh]h)}(hj}h]h5}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKXhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hNETIF_MSG_INTRh]hNETIF_MSG_INTR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKXhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h0x0020h]h0x0020}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKXhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh](j)}(hhh]h)}(h6h]h6}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKYhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hNETIF_MSG_TX_DONEh]hNETIF_MSG_TX_DONE}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKYhj*ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h0x0040h]h0x0040}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKYhjAubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh](j)}(hhh]h)}(hjh]h6}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKZhjaubah}(h]h ]h"]h$]h&]uh1jhj^ubj)}(hhh]h)}(hNETIF_MSG_RX_STATUSh]hNETIF_MSG_RX_STATUS}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKZhjwubah}(h]h ]h"]h$]h&]uh1jhj^ubj)}(hhh]h)}(h0x0040h]h0x0040}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKZhjubah}(h]h ]h"]h$]h&]uh1jhj^ubeh}(h]h ]h"]h$]h&]uh1jhjSubj)}(hhh](j)}(hhh]h)}(h7h]h7}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK[hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hNETIF_MSG_PKTDATAh]hNETIF_MSG_PKTDATA}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK[hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h0x0080h]h0x0080}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK[hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]uh1jQhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhKMhjhhubeh}(h]id2ah ]h"] 历史背景ah$]h&]uh1jjhjlhhhhhKubeh}(h]id1ah ]h"]网络接口消息级别ah$]h&]uh1jjhhhhhhhK ubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(joN generatorN datestampN source_linkN source_urlN toc_backlinksjfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjDerror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourcehnj _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(jjjju nametypes}(jjuh}(jjljju footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}jRKsRparse_messages]transform_messages] transformerN include_log]9Documentation/translations/zh_CN/networking/netif-msg.rst(NNNNta decorationNhhub.