Skip to content

Commit e7c6409

Browse files
Yanteng SiJonathan Corbet
authored andcommitted
docs/zh_CN: add infiniband opa_vnic translation
Translate Documentation/infiniband/opa_vnic.rst into Chinese. Signed-off-by: Yanteng Si <[email protected]> Reviewed-by: Alex Shi <[email protected]> Reviewed-by: Puyu Wang <[email protected]> Link: https://lore.kernel.org/r/828550a6fb7fded8172c123c37d4c643d2593e53.1628218477.git.siyanteng@loongson.cn Signed-off-by: Jonathan Corbet <[email protected]>
1 parent 88e37e3 commit e7c6409

File tree

2 files changed

+157
-1
lines changed

2 files changed

+157
-1
lines changed

Documentation/translations/zh_CN/infiniband/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ infiniband
2424

2525
core_locking
2626
ipoib
27+
opa_vnic
2728

2829
TODOLIST:
2930

30-
opa_vnic
3131
sysfs
3232
tag_matching
3333
user_mad
Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
.. include:: ../disclaimer-zh_CN.rst
2+
3+
:Original: Documentation/infiniband/opa_vnic.rst
4+
5+
:翻译:
6+
7+
司延腾 Yanteng Si <[email protected]>
8+
9+
:校译:
10+
11+
王普宇 Puyu Wang <[email protected]>
12+
时奎亮 Alex Shi <[email protected]>
13+
14+
.. _cn_infiniband_opa_vnic:
15+
16+
=============================================
17+
英特尔全路径(OPA)虚拟网络接口控制器(VNIC)
18+
=============================================
19+
20+
英特尔全路径(OPA)虚拟网络接口控制器(VNIC)功能通过封装HFI节点之间的以
21+
太网数据包,支持Omni-Path结构上的以太网功能。
22+
23+
体系结构
24+
========
25+
26+
Omni-Path封装的以太网数据包的交换模式涉及Omni-Path结构拓扑上覆盖的一个或
27+
多个虚拟以太网交换机。Omni-Path结构上的HFI节点的一个子集被允许在特定的虚
28+
拟以太网交换机上交换封装的以太网数据包。虚拟以太网交换机是通过配置结构上的
29+
HFI节点实现的逻辑抽象,用于生成和处理报头。在最简单的配置中,整个结构的所有
30+
HFI节点通过一个虚拟以太网交换机交换封装的以太网数据包。一个虚拟以太网交换机,
31+
实际上是一个独立的以太网网络。该配置由以太网管理器(EM)执行,它是可信的结
32+
构管理器(FM)应用程序的一部分。HFI节点可以有多个VNIC,每个连接到不同的虚
33+
拟以太网交换机。下图介绍了两个虚拟以太网交换机与两个HFI节点的情况::
34+
35+
+-------------------+
36+
| 子网/ |
37+
| 以太网 |
38+
| 管理 |
39+
+-------------------+
40+
/ /
41+
/ /
42+
/ /
43+
/ /
44+
+-----------------------------+ +------------------------------+
45+
| 虚拟以太网切换 | | 虚拟以太网切换 |
46+
| +---------+ +---------+ | | +---------+ +---------+ |
47+
| | VPORT | | VPORT | | | | VPORT | | VPORT | |
48+
+--+---------+----+---------+-+ +-+---------+----+---------+---+
49+
| \ / |
50+
| \ / |
51+
| \/ |
52+
| / \ |
53+
| / \ |
54+
+-----------+------------+ +-----------+------------+
55+
| VNIC | VNIC | | VNIC | VNIC |
56+
+-----------+------------+ +-----------+------------+
57+
| HFI | | HFI |
58+
+------------------------+ +------------------------+
59+
60+
61+
Omni-Path封装的以太网数据包格式如下所述。
62+
63+
==================== ================================
64+
位 域
65+
==================== ================================
66+
Quad Word 0:
67+
0-19 SLID (低20位)
68+
20-30 长度 (以四字为单位)
69+
31 BECN 位
70+
32-51 DLID (低20位)
71+
52-56 SC (服务级别)
72+
57-59 RC (路由控制)
73+
60 FECN 位
74+
61-62 L2 (=10, 16B 格式)
75+
63 LT (=1, 链路传输头 Flit)
76+
77+
Quad Word 1:
78+
0-7 L4 type (=0x78 ETHERNET)
79+
8-11 SLID[23:20]
80+
12-15 DLID[23:20]
81+
16-31 PKEY
82+
32-47 熵
83+
48-63 保留
84+
85+
Quad Word 2:
86+
0-15 保留
87+
16-31 L4 头
88+
32-63 以太网数据包
89+
90+
Quad Words 3 to N-1:
91+
0-63 以太网数据包 (pad拓展)
92+
93+
Quad Word N (last):
94+
0-23 以太网数据包 (pad拓展)
95+
24-55 ICRC
96+
56-61 尾
97+
62-63 LT (=01, 链路传输尾 Flit)
98+
==================== ================================
99+
100+
以太网数据包在传输端被填充,以确保VNIC OPA数据包是四字对齐的。“尾”字段
101+
包含填充的字节数。在接收端,“尾”字段被读取,在将数据包向上传递到网络堆
102+
栈之前,填充物被移除(与ICRC、尾和OPA头一起)。
103+
104+
L4头字段包含VNIC端口所属的虚拟以太网交换机ID。在接收端,该字段用于将收
105+
到的VNIC数据包去多路复用到不同的VNIC端口。
106+
107+
驱动设计
108+
========
109+
110+
英特尔OPA VNIC的软件设计如下图所示。OPA VNIC功能有一个依赖于硬件的部分
111+
和一个独立于硬件的部分。
112+
113+
对IB设备分配和释放RDMA netdev设备的支持已经被加入。RDMA netdev支持与
114+
网络堆栈的对接,从而创建标准的网络接口。OPA_VNIC是一个RDMA netdev设备
115+
类型。
116+
117+
依赖于HW的VNIC功能是HFI1驱动的一部分。它实现了分配和释放OPA_VNIC RDMA
118+
netdev的动作。它涉及VNIC功能的HW资源分配/管理。它与网络堆栈接口并实现所
119+
需的net_device_ops功能。它在传输路径中期待Omni-Path封装的以太网数据包,
120+
并提供对它们的HW访问。在将数据包向上传递到网络堆栈之前,它把Omni-Path头
121+
从接收的数据包中剥离。它还实现了RDMA netdev控制操作。
122+
123+
OPA VNIC模块实现了独立于硬件的VNIC功能。它由两部分组成。VNIC以太网管理
124+
代理(VEMA)作为一个IB客户端向IB核心注册,并与IB MAD栈接口。它与以太网
125+
管理器(EM)和VNIC netdev交换管理信息。VNIC netdev部分分配和释放OPA_VNIC
126+
RDMA netdev设备。它在需要时覆盖由依赖HW的VNIC驱动设置的net_device_ops函数,
127+
以适应任何控制操作。它还处理以太网数据包的封装,在传输路径中使用Omni-Path头。
128+
对于每个VNIC接口,封装所需的信息是由EM通过VEMA MAD接口配置的。它还通过调用
129+
RDMA netdev控制操作将任何控制信息传递给依赖于HW的驱动程序::
130+
131+
+-------------------+ +----------------------+
132+
| | | Linux |
133+
| IB MAD | | 网络 |
134+
| | | 栈 |
135+
+-------------------+ +----------------------+
136+
| | |
137+
| | |
138+
+----------------------------+ |
139+
| | |
140+
| OPA VNIC 模块 | |
141+
| (OPA VNIC RDMA Netdev | |
142+
| & EMA 函数) | |
143+
| | |
144+
+----------------------------+ |
145+
| |
146+
| |
147+
+------------------+ |
148+
| IB 核心 | |
149+
+------------------+ |
150+
| |
151+
| |
152+
+--------------------------------------------+
153+
| |
154+
| HFI1 驱动和 VNIC 支持 |
155+
| |
156+
+--------------------------------------------+

0 commit comments

Comments
 (0)