没有合适的资源?快使用搜索试试~ 我知道了~
首页DPDK sample applications
DPDK sample applications
需积分: 10 75 浏览量
更新于2023-03-16
评论
收藏 2.23MB PDF 举报
DPDK 应用案例,精简介绍,可以作为入门。 DPDK 应用案例,精简介绍,可以作为入门
资源详情
资源评论
资源推荐

Sample Applications User Guide
Release 2.0.0
April 24, 2015

CONTENTS
1 Introduction 2
1.1 Documentation Roadmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Command Line Sample Application 3
2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Compiling the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3 Running the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.4 Explanation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3 Exception Path Sample Application 6
3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2 Compiling the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.3 Running the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.4 Explanation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4 Hello World Sample Application 12
4.1 Compiling the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.2 Running the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.3 Explanation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5 Basic Forwarding Sample Application 14
5.1 Compiling the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.2 Running the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.3 Explanation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6 RX/TX Callbacks Sample Application 19
6.1 Compiling the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.2 Running the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.3 Explanation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
7 IP Fragmentation Sample Application 23
7.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
7.2 Building the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
7.3 Running the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
8 IPv4 Multicast Sample Application 26
8.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.2 Building the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.3 Running the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
8.4 Explanation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
i

9 IP Reassembly Sample Application 32
9.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
9.2 The Longest Prefix Match (LPM for IPv4, LPM6 for IPv6) table is used to
store/lookup an outgoing port number, associated with that IPv4 address. Any
unmatched packets are forwarded to the originating port.Compiling the Appli-
cation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
9.3 Running the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
9.4 Explanation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
10 Kernel NIC Interface Sample Application 37
10.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
10.2 Compiling the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
10.3 Loading the Kernel Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
10.4 Running the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
10.5 KNI Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
10.6 Explanation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
11 L2 Forwarding Sample Application (in Real and Virtualized Environments) with
core load statistics. 47
11.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
11.2 Compiling the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
11.3 Running the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
11.4 Explanation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
12 L2 Forwarding Sample Application (in Real and Virtualized Environments) 58
12.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
12.2 Compiling the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
12.3 Running the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
12.4 Explanation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
13 L3 Forwarding Sample Application 67
13.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
13.2 Compiling the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
13.3 Running the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
13.4 Explanation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
14 L3 Forwarding with Power Management Sample Application 73
14.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
14.2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
14.3 Compiling the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
14.4 Running the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
14.5 Explanation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
15 L3 Forwarding with Access Control Sample Application 80
15.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
15.2 Compiling the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
15.3 Running the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
15.4 Explanation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
16 L3 Forwarding in a Virtualization Environment Sample Application 87
16.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
16.2 Compiling the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
16.3 Running the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
ii

16.4 Explanation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
17 Link Status Interrupt Sample Application 90
17.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
17.2 Compiling the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
17.3 Running the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
17.4 Explanation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
18 Load Balancer Sample Application 98
18.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
18.2 Compiling the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
18.3 Running the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
18.4 Explanation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
19 Multi-process Sample Application 103
19.1 Example Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
20 QoS Metering Sample Application 118
20.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
20.2 Compiling the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
20.3 Running the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
20.4 Explanation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
21 QoS Scheduler Sample Application 121
21.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
21.2 Compiling the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
21.3 Running the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
21.4 Explanation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
22 Intel® QuickAssist Technology Sample Application 127
22.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
22.2 Building the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
22.3 Running the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
23 Quota and Watermark Sample Application 131
23.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
23.2 Compiling the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
23.3 Running the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
23.4 Code Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
24 Timer Sample Application 141
24.1 Compiling the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
24.2 Running the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
24.3 Explanation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
25 Packet Ordering Application 145
25.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
25.2 Compiling the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
25.3 Running the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
26 VMDQ and DCB Forwarding Sample Application 147
26.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
26.2 Compiling the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
iii

26.3 Running the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
26.4 Explanation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
27 Vhost Sample Application 152
27.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
27.2 Sample Code Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
27.3 Supported Distributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
27.4 Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
27.5 Compiling the Sample Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
27.6 Running the Sample Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
27.7 Running the Virtual Machine (QEMU) . . . . . . . . . . . . . . . . . . . . . . . . 162
27.8 Running DPDK in the Virtual Machine . . . . . . . . . . . . . . . . . . . . . . . . 165
27.9 Passing Traffic to the Virtual Machine Device . . . . . . . . . . . . . . . . . . . . 167
28 Netmap Compatibility Sample Application 168
28.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
28.2 Available APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
28.3 Caveats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
28.4 Porting Netmap Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
28.5 Compiling the “bridge” Sample Application . . . . . . . . . . . . . . . . . . . . . 170
28.6 Running the “bridge” Sample Application . . . . . . . . . . . . . . . . . . . . . . 170
29 Internet Protocol (IP) Pipeline Sample Application 171
29.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
29.2 Compiling the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
29.3 Running the Sample Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
30 Test Pipeline Application 173
30.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
30.2 Compiling the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
30.3 Running the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
31 Distributor Sample Application 177
31.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
31.2 Compiling the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
31.3 Running the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
31.4 Explanation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
31.5 Debug Logging Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
31.6 Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
31.7 Application Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
32 VM Power Management Application 181
32.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
32.2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
32.3 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
32.4 Compiling and Running the Host Application . . . . . . . . . . . . . . . . . . . . 185
32.5 Compiling and Running the Guest Applications . . . . . . . . . . . . . . . . . . . 186
iv
剩余192页未读,继续阅读


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0