Skip to content

Commit 53301ce

Browse files
Wang YaxinAlex Shi
authored andcommitted
Docs/zh_CN: Translate netif-msg.rst to Simplified Chinese
translate the "netif-msg.rst" into Simplified Chinese. Update the translation through commit c4d5dff ("docs: networking: convert netif-msg.txt to ReST") Signed-off-by: Wang Yaxin <wang.yaxin@zte.com.cn> Signed-off-by: Jiang Kun <jiang.kun2@zte.com.cn> Reviewed-by: Yanteng Si <siyanteng@cqsoftware.com.cn> Signed-off-by: Alex Shi <alexs@kernel.org>
1 parent 31df833 commit 53301ce

2 files changed

Lines changed: 94 additions & 2 deletions

File tree

Documentation/translations/zh_CN/networking/index.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,9 @@
2121
:maxdepth: 1
2222

2323
msg_zerocopy
24-
napi.rst
24+
napi
2525
vxlan
26+
netif-msg
2627

2728
Todolist:
2829

@@ -101,7 +102,6 @@ Todolist:
101102
* netdev-features
102103
* netdevices
103104
* netfilter-sysctl
104-
* netif-msg
105105
* netmem
106106
* nexthop-group-resilient
107107
* nf_conntrack-sysctl
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
.. SPDX-License-Identifier: GPL-2.0
2+
3+
.. include:: ../disclaimer-zh_CN.rst
4+
5+
:Original: Documentation/networking/netif-msg.rst
6+
7+
:翻译:
8+
9+
王亚鑫 Wang Yaxin <wang.yaxin@zte.com.cn>
10+
11+
================
12+
网络接口消息级别
13+
================
14+
15+
网络接口消息级别设置的设计方案。
16+
17+
历史背景
18+
--------
19+
20+
调试消息接口的设计遵循并受制于向后兼容性及历史实践。理解其发展历史有助于把握
21+
当前实践,并将其与旧版驱动代码相关联。
22+
23+
自Linux诞生之初,每个网络设备驱动均包含一个本地整型变量以控制调试消息级别。
24+
消息级别范围为0至7,数值越大表示输出越详细。
25+
26+
消息级别的定义在3级之后未明确细化,但实际实现通常与指定级别相差±1。驱动程序
27+
成熟后,冗余的详细级别消息常被移除。
28+
29+
- 0 最简消息,仅显示致命错误的关键信息。
30+
- 1 标准消息,初始化状态。无运行时消息。
31+
- 2 特殊介质选择消息,通常由定时器驱动。
32+
- 3 接口开启和停止消息,包括正常状态信息。
33+
- 4 Tx/Rx帧错误消息及异常驱动操作。
34+
- 5 Tx数据包队列信息、中断事件。
35+
- 6 每个完成的Tx数据包和接收的Rx数据包状态。
36+
- 7 Tx/Rx数据包初始内容。
37+
38+
最初,该消息级别变量在各驱动中具有唯一名称(如"lance_debug"),便于通过
39+
内核符号调试器定位和修改其设置。模块化内核出现后,变量统一重命名为"debug",
40+
并作为模块参数设置。
41+
42+
这种方法效果良好。然而,人们始终对附加功能存在需求。多年来,以下功能逐渐
43+
成为合理且易于实现的增强方案:
44+
45+
- 通过ioctl()调用修改消息级别。
46+
- 按接口而非驱动设置消息级别。
47+
- 对发出的消息类型进行更具选择性的控制。
48+
49+
netif_msg 建议添加了这些功能,仅带来了轻微的复杂性增加和代码规模增长。
50+
51+
推荐方案如下:
52+
53+
- 保留驱动级整型变量"debug"作为模块参数,默认值为'1'。
54+
55+
- 添加一个名为 "msg_enable" 的接口私有变量。该变量是位图而非级别,
56+
并按如下方式初始化::
57+
58+
1 << debug
59+
60+
或更精确地说::
61+
62+
debug < 0 ? 0 : 1 << min(sizeof(int)-1, debug)
63+
64+
消息应从以下形式更改::
65+
66+
if (debug > 1)
67+
printk(MSG_DEBUG "%s: ...
68+
69+
改为::
70+
71+
if (np->msg_enable & NETIF_MSG_LINK)
72+
printk(MSG_DEBUG "%s: ...
73+
74+
消息级别命名对应关系
75+
76+
77+
========= =================== ============
78+
旧级别 名称 位位置
79+
========= =================== ============
80+
1 NETIF_MSG_PROBE 0x0002
81+
2 NETIF_MSG_LINK 0x0004
82+
2 NETIF_MSG_TIMER 0x0004
83+
3 NETIF_MSG_IFDOWN 0x0008
84+
3 NETIF_MSG_IFUP 0x0008
85+
4 NETIF_MSG_RX_ERR 0x0010
86+
4 NETIF_MSG_TX_ERR 0x0010
87+
5 NETIF_MSG_TX_QUEUED 0x0020
88+
5 NETIF_MSG_INTR 0x0020
89+
6 NETIF_MSG_TX_DONE 0x0040
90+
6 NETIF_MSG_RX_STATUS 0x0040
91+
7 NETIF_MSG_PKTDATA 0x0080
92+
========= =================== ============

0 commit comments

Comments
 (0)