Skip to content

Commit b524e36

Browse files
authored
Merge pull request #847 from iqiyi/devel
Release-v1.9.2
2 parents e094c9d + d38d43f commit b524e36

File tree

121 files changed

+27748
-1250
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

121 files changed

+27748
-1250
lines changed

.github/workflows/build.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ name: Build
22

33
on:
44
push:
5-
branches: [master, devel]
5+
branches: [master, devel, DPVS-1.8-LTS]
66
release:
77
branches: [master]
88
types: [published]
99
schedule:
1010
- cron: '30 2 * * 1'
1111
pull_request:
12-
branches: [master, devel]
12+
branches: [master, devel, DPVS-1.8-LTS]
1313
types: [labeled]
1414

1515
jobs:

.github/workflows/run.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ name: Run
22

33
on:
44
push:
5-
branches: [master, devel]
5+
branches: [master, devel, DPVS-1.8-LTS]
66
release:
77
branches: [master]
88
types: [published]
99
schedule:
1010
- cron: '30 3 * * 1'
1111
pull_request:
12-
branches: [master, devel]
12+
branches: [master, devel, DPVS-1.8-LTS]
1313
types: [labeled]
1414

1515
jobs:

README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ $ mkdir dpdkbuild # user desired build folder
104104
$ meson -Denable_kmods=true -Dprefix=dpdklib dpdkbuild
105105
$ ninja -C dpdkbuild
106106
$ cd dpdkbuild; ninja install
107-
$ export PKG_CONFIG_PATH=$(pwd)/../dpdklib/lib64/pkgconfig/libdpdk.pc
107+
$ export PKG_CONFIG_PATH=$(pwd)/../dpdklib/lib64/pkgconfig/
108108
```
109109

110110
> Tips: You can use script [dpdk-build.sh](./scripts/dpdk-build.sh) to facilitate dpdk build. Run `dpdk-build.sh -h` for the usage of the script.
@@ -146,14 +146,14 @@ $ ./usertools/dpdk-devbind.py -b uio_pci_generic 0000:06:00.0
146146
It's simple, just set `PKG_CONFIG_PATH` and build it.
147147

148148
```bash
149-
$ export PKG_CONFIG_PATH=<path-of-libdpdk.pc> # normally located at dpdklib/lib64/pkgconfig/libdpdk.pc
149+
$ export PKG_CONFIG_PATH=<path-of-libdpdk.pc> # normally located at dpdklib/lib64/pkgconfig/
150150
$ cd <path-of-dpvs>
151151

152152
$ make # or "make -j" to speed up
153153
$ make install
154154
```
155155
> Notes:
156-
> 1. Build dependencies may be needed, such as `pkg-config`(version 0.29.2+),`automake`, `libnl3`, `libnl-genl-3.0`, `openssl`, `popt` and `numactl`. You can install the missing dependencies by using the package manager of the system, e.g., `yum install popt-devel` (CentOS).
156+
> 1. Build dependencies may be needed, such as `pkg-config`(version 0.29.2+),`automake`, `libnl3`, `libnl-genl-3.0`, `openssl`, `popt` and `numactl`. You can install the missing dependencies by using the package manager of the system, e.g., `yum install popt-devel automake` (CentOS) or `apt install libpopt-dev autoconfig` (Ubuntu).
157157
> 2. Early `pkg-config` versions (v0.29.2 before) may cause dpvs build failure. If so, please upgrade this tool.
158158
159159
Output files are installed to `dpvs/bin`.
@@ -253,6 +253,8 @@ Our test shows the forwarding speed (pps) of DPVS is several times than LVS and
253253

254254
![performance](./pic/performance.png)
255255

256+
Click [here](./test/release/v1.9.2/performance.md) for the lastest performance data.
257+
256258
# License
257259

258260
Please refer to the [License](./LICENSE.md) file for details.

conf/dpvs.bond.conf.sample

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -248,17 +248,18 @@ worker_defs {
248248
}
249249
}
250250

251-
!<init> worker cpu9 {
251+
!<init> worker cpu17 {
252252
! type kni
253-
! cpu_id 9
253+
! cpu_id 17
254254
! port bond0 {
255+
! rx_queue_ids 8
255256
! tx_queue_ids 8
256257
! }
257258
! port bond1 {
259+
! rx_queue_ids 8
258260
! tx_queue_ids 8
259261
! }
260262
!}
261-
262263
}
263264

264265
! timer config
@@ -273,6 +274,11 @@ neigh_defs {
273274
<init> timeout 60
274275
}
275276

277+
! dpvs ipset config
278+
ipset_defs {
279+
<init> ipset_hash_pool_size 131072
280+
}
281+
276282
! dpvs ipv4 config
277283
ipv4_defs {
278284
forwarding off

conf/dpvs.conf.items

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,13 @@
1111

1212
! global config
1313
global_defs {
14-
#daemon <disalbe>
15-
log_level INFO <none>
16-
log_file /var/log/dpvs.log <none>
17-
<init> log_async_mode off <off, on|off>
18-
<init> pdump off <off, on|off>
14+
#daemon <disalbe>
15+
log_level INFO <none>
16+
log_file /var/log/dpvs.log <none>
17+
log_with_timestamp off <off, on|off> # note: only effective for async log now
18+
<init> log_async_mode off <off, on|off>
19+
<init> log_async_pool_size 16383 <16383, 1023-unlimited>
20+
<init> pdump off <off, on|off>
1921
}
2022

2123
! netif config
@@ -71,6 +73,12 @@ netif_defs {
7173
}
7274

7375
! worker config (lcores)
76+
! notes:
77+
! 1. rx(tx) queue ids MUST start from 0 and continous
78+
! 2. cpu ids and rx(tx) queue ids MUST be unique, repeated ids is forbidden
79+
! 3. cpu ids identify dpvs workers only, and not correspond to physical cpu cores.
80+
! If you are to specify cpu cores on which to run dpvs, please use dpdk eal options,
81+
! such as "-c", "-l", "--lcores". Use "dpvs -- --help" for supported eal options.
7482
worker_defs {
7583
<init> worker cpu0 {
7684
cpu_id 0
@@ -139,9 +147,11 @@ worker_defs {
139147
cpu_id 5
140148
icmp_redirect_core
141149
port dpdk0 {
150+
rx_queue_ids 4
142151
tx_queue_ids 6
143152
}
144153
port dpdk1 {
154+
rx_queue_ids 4
145155
tx_queue_ids 4
146156
}
147157
}
@@ -159,6 +169,11 @@ neigh_defs {
159169
timeout 60 <60, 1-3600>
160170
}
161171

172+
! dpvs ipset config
173+
ipset_defs {
174+
<init> ipset_hash_pool_size 131072 <131072, 65536-524288>
175+
}
176+
162177
! dpvs ipv4 config
163178
ipv4_defs {
164179
forwarding off <off, on/off>
@@ -245,6 +260,7 @@ ipvs_defs {
245260
! wscale <disable>
246261
! timestamp <disable>
247262
}
263+
close_client_window <enable>
248264
!defer_rs_syn <disable>
249265
rs_syn_max_retry 3 <3, 1-99>
250266
ack_storm_thresh 10 <10, 1-999>

conf/dpvs.conf.sample

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,12 @@ netif_defs {
6565
}
6666

6767
! worker config (lcores)
68+
! notes:
69+
! 1. rx(tx) queue ids MUST start from 0 and continous
70+
! 2. cpu ids and rx(tx) queue ids MUST be unique, repeated ids is forbidden
71+
! 3. cpu ids identify dpvs workers only, and not correspond to physical cpu cores.
72+
! If you are to specify cpu cores on which to run dpvs, please use dpdk eal options,
73+
! such as "-c", "-l", "--lcores". Use "dpvs -- --help" for supported eal options.
6874
worker_defs {
6975
<init> worker cpu0 {
7076
type master
@@ -208,17 +214,18 @@ worker_defs {
208214
}
209215
}
210216

211-
!<init> worker cpu9 {
217+
!<init> worker cpu17 {
212218
! type kni
213-
! cpu_id 9
219+
! cpu_id 17
214220
! port dpdk0 {
221+
! rx_queue_ids 8
215222
! tx_queue_ids 8
216223
! }
217224
! port dpdk1 {
225+
! rx_queue_ids 8
218226
! tx_queue_ids 8
219227
! }
220228
!}
221-
222229
}
223230

224231
! timer config
@@ -233,6 +240,11 @@ neigh_defs {
233240
timeout 60
234241
}
235242

243+
! dpvs ipset config
244+
ipset_defs {
245+
<init> ipset_hash_pool_size 131072
246+
}
247+
236248
! dpvs ipv4 config
237249
ipv4_defs {
238250
forwarding off
@@ -312,6 +324,7 @@ ipvs_defs {
312324
! wscale
313325
! timestamp
314326
}
327+
close_client_window
315328
! defer_rs_syn
316329
rs_syn_max_retry 3
317330
ack_storm_thresh 10

conf/dpvs.conf.single-bond.sample

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -159,14 +159,14 @@ worker_defs {
159159
}
160160
}
161161

162-
!<init> worker cpu9 {
162+
!<init> worker cpu17 {
163163
! type kni
164-
! cpu_id 9
164+
! cpu_id 17
165165
! port bond0 {
166+
! rx_queue_ids 8
166167
! tx_queue_ids 8
167168
! }
168169
!}
169-
170170
}
171171

172172
! timer config
@@ -181,6 +181,11 @@ neigh_defs {
181181
timeout 60
182182
}
183183

184+
! dpvs ipset config
185+
ipset_defs {
186+
<init> ipset_hash_pool_size 131072
187+
}
188+
184189
! dpvs ipv4 config
185190
ipv4_defs {
186191
forwarding off
@@ -260,6 +265,7 @@ ipvs_defs {
260265
! wscale
261266
! timestamp
262267
}
268+
close_client_window
263269
! defer_rs_syn
264270
rs_syn_max_retry 3
265271
ack_storm_thresh 10

conf/dpvs.conf.single-nic.sample

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -134,14 +134,14 @@ worker_defs {
134134
}
135135
}
136136

137-
!<init> worker cpu9 {
137+
!<init> worker cpu17 {
138138
! type kni
139-
! cpu_id 9
139+
! cpu_id 17
140140
! port dpdk0 {
141+
! rx_queue_ids 8
141142
! tx_queue_ids 8
142143
! }
143144
!}
144-
145145
}
146146

147147
! timer config
@@ -156,6 +156,11 @@ neigh_defs {
156156
timeout 60
157157
}
158158

159+
! dpvs ipset config
160+
ipset_defs {
161+
<init> ipset_hash_pool_size 131072
162+
}
163+
159164
! dpvs ipv4 config
160165
ipv4_defs {
161166
forwarding off
@@ -235,6 +240,7 @@ ipvs_defs {
235240
! wscale
236241
! timestamp
237242
}
243+
close_client_window
238244
! defer_rs_syn
239245
rs_syn_max_retry 3
240246
ack_storm_thresh 10

0 commit comments

Comments
 (0)