Skip to content

Commit 8c4ea56

Browse files
authored
Merge pull request #728 from iqiyi/devel
Release v1.8.10
2 parents 5346e4c + 2201585 commit 8c4ea56

Some content is hidden

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

81 files changed

+4807
-2048
lines changed

.github/workflows/build.yaml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: Build
2+
3+
on:
4+
push:
5+
branches: [master, devel]
6+
release:
7+
branches: [master]
8+
types: [published]
9+
schedule:
10+
- cron: '30 2 * * 1'
11+
pull_request:
12+
branches: [master, devel]
13+
types: [labeled]
14+
15+
jobs:
16+
build-basic:
17+
runs-on: self-hosted
18+
env:
19+
RTE_SDK: /data/dpdk/intel/dpdk-stable-18.11.2
20+
RTE_TARGET: x86_64-native-linuxapp-gcc
21+
steps:
22+
- uses: actions/checkout@v2
23+
- name: make
24+
run: make -j32
25+
26+
build-mlnx:
27+
runs-on: self-hosted
28+
env:
29+
RTE_SDK: /data/dpdk/mlnx/dpdk-stable-18.11.2
30+
RTE_TARGET: x86_64-native-linuxapp-gcc
31+
steps:
32+
- uses: actions/checkout@v2
33+
- name: config
34+
run: sed -i 's/^CONFIG_MLX5=./CONFIG_MLX5=y/' src/config.mk
35+
- name: make
36+
run: make -j32
37+
38+
build-debug:
39+
runs-on: self-hosted
40+
env:
41+
RTE_SDK: /data/dpdk/intel/dpdk-stable-18.11.2
42+
RTE_TARGET: x86_64-native-linuxapp-gcc
43+
steps:
44+
- uses: actions/checkout@v2
45+
- name: config
46+
run: sed -i 's/#CFLAGS +=/CFLAGS +=/' src/config.mk && sed -i 's/^#DEBUG := 1/DEBUG := 1/' src/Makefile
47+
- name: make
48+
run: make -j32
49+
50+
build-olddpdk:
51+
runs-on: self-hosted
52+
env:
53+
RTE_SDK: /data/dpdk/intel/dpdk-stable-17.11.6
54+
RTE_TARGET: x86_64-native-linuxapp-gcc
55+
steps:
56+
- uses: actions/checkout@v2
57+
- name: make
58+
run: make -j32
59+

.github/workflows/run.yaml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Run
2+
3+
on:
4+
push:
5+
branches: [master, devel]
6+
release:
7+
branches: [master]
8+
types: [published]
9+
schedule:
10+
- cron: '30 3 * * 1'
11+
pull_request:
12+
branches: [master, devel]
13+
types: [labeled]
14+
15+
jobs:
16+
run-dpvs:
17+
runs-on: self-hosted
18+
env:
19+
RTE_SDK: /data/dpdk/intel/dpdk-stable-18.11.2
20+
RTE_TARGET: x86_64-native-linuxapp-gcc
21+
steps:
22+
- uses: actions/checkout@v2
23+
- name: make
24+
run: make -j32
25+
- name: install
26+
run: make install
27+
- name: run-dpvs
28+
run: sudo dpvsci $(pwd)/bin/dpvs

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
![Build](https://github.com/iqiyi/dpvs/workflows/Build/badge.svg) ![Run](https://github.com/iqiyi/dpvs/workflows/Run/badge.svg)
2+
13
![dpvs-logo.png](./pic/DPVS-logo.png)
24

35
# Introduction
@@ -27,7 +29,7 @@ Major features of `DPVS` including:
2729
* Different *schedule algorithms* like RR, WLC, WRR, MH(Maglev Hashing), Conhash(Consistent Hashing) etc.
2830
* User-space *Lite IP stack* (IPv4/IPv6, Routing, ARP, Neighbor, ICMP ...).
2931
* Support *KNI*, *VLAN*, *Bonding*, *Tunneling* for different IDC environment.
30-
* Security aspect, support *TCP syn-proxy*, *Conn-Limit*, *black-list*.
32+
* Security aspect, support *TCP syn-proxy*, *Conn-Limit*, *black-list**white-list*.
3133
* QoS: *Traffic Control*.
3234

3335
`DPVS` feature modules are illustrated as following picture.

conf/dpvs.bond.conf.sample

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,9 @@ netif_defs {
3838
pballoc 64k
3939
status matched
4040
}
41+
! mtu 1500
4142
! promisc_mode
42-
! kni_name dpdk0.kni
43+
! kni_name dpdk0.kni
4344
}
4445

4546
<init> device dpdk1 {
@@ -57,6 +58,7 @@ netif_defs {
5758
pballoc 64k
5859
status matched
5960
}
61+
! mtu 1500
6062
! promisc_mode
6163
! kni_name dpdk1.kni
6264
}
@@ -77,8 +79,9 @@ netif_defs {
7779
pballoc 64k
7880
status matched
7981
}
82+
! mtu 1500
8083
! promisc_mode
81-
! kni_name dpdk2.kni
84+
! kni_name dpdk2.kni
8285
}
8386

8487
<init> device dpdk3 {
@@ -96,8 +99,9 @@ netif_defs {
9699
pballoc 64k
97100
status matched
98101
}
102+
! mtu 1500
99103
! promisc_mode
100-
! kni_name dpdk3.kni
104+
! kni_name dpdk3.kni
101105
}
102106

103107
<init> bonding bond0 {
@@ -246,6 +250,7 @@ worker_defs {
246250
<init> worker cpu8 {
247251
type slave
248252
cpu_id 8
253+
icmp_redirect_core
249254
port bond0 {
250255
rx_queue_ids 7
251256
tx_queue_ids 7

conf/dpvs.conf.items

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ netif_defs {
4040
pballoc 64k <64k, 64k|128k|256k>
4141
status matched <matched, close|matched|always>
4242
}
43+
! mtu 1500 <1500,0-9000>
4344
! promisc_mode <disable>
4445
! kni_name dpdk0.kni <char[32]>
4546
}
@@ -55,6 +56,7 @@ netif_defs {
5556
queue_number 4
5657
descriptor_number 256
5758
}
59+
! mtu 1500
5860
! promisc_mode
5961
! kni_name dpdk1.kni
6062
}
@@ -135,6 +137,7 @@ worker_defs {
135137
<init> worker cpu5 {
136138
type kni
137139
cpu_id 5
140+
icmp_redirect_core
138141
port dpdk0 {
139142
tx_queue_ids 6
140143
}

conf/dpvs.conf.sample

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ netif_defs {
3838
pballoc 64k
3939
status matched
4040
}
41+
! mtu 1500
4142
! promisc_mode
4243
kni_name dpdk0.kni
4344
}
@@ -57,6 +58,7 @@ netif_defs {
5758
pballoc 64k
5859
status matched
5960
}
61+
! mtu 1500
6062
! promisc_mode
6163
kni_name dpdk1.kni
6264
}
@@ -199,6 +201,7 @@ worker_defs {
199201
<init> worker cpu8 {
200202
type slave
201203
cpu_id 8
204+
icmp_redirect_core
202205
port dpdk0 {
203206
rx_queue_ids 7
204207
tx_queue_ids 7

conf/dpvs.conf.single-bond.sample

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,9 @@ netif_defs {
3737
pballoc 64k
3838
status matched
3939
}
40+
! mtu 1500
4041
! promisc_mode
41-
! kni_name dpdk0.kni
42+
! kni_name dpdk0.kni
4243
}
4344

4445
<init> device dpdk2 {
@@ -56,8 +57,9 @@ netif_defs {
5657
pballoc 64k
5758
status matched
5859
}
60+
! mtu 1500
5961
! promisc_mode
60-
! kni_name dpdk2.kni
62+
! kni_name dpdk2.kni
6163
}
6264

6365
<init> bonding bond0 {
@@ -156,6 +158,7 @@ worker_defs {
156158
<init> worker cpu8 {
157159
type slave
158160
cpu_id 8
161+
icmp_redirect_core
159162
port bond0 {
160163
rx_queue_ids 7
161164
tx_queue_ids 7

conf/dpvs.conf.single-nic.sample

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ netif_defs {
3737
pballoc 64k
3838
status matched
3939
}
40+
! mtu 1500
4041
! promisc_mode
4142
kni_name dpdk0.kni
4243
}
@@ -129,6 +130,7 @@ worker_defs {
129130
<init> worker cpu8 {
130131
type slave
131132
cpu_id 8
133+
icmp_redirect_core
132134
port dpdk0 {
133135
rx_queue_ids 7
134136
tx_queue_ids 7

doc/TODO.md

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,24 +6,29 @@ DPVS TODO list
66
* [ ] NIC without Flow-Director (FDIR)
77
- [x] Packet redirect to workers
88
- [ ] RSS pre-calcuating
9+
- [ ] Replace fdir with Generic Flow(rte_flow)
910
* [x] Merge DPDK stable 18.11
1011
* [ ] Merge DPDK stable 20.11
11-
* [ ] Service whitelist ACL
12-
* [ ] SNAT ACL
12+
* [x] Service whitelist ACL
13+
* [ ] IPset Support
14+
- [ ] SNAT ACL with IPset
15+
- [ ] TC policing with IPset
1316
* [x] Refactor Keepalived (porting latest stable keepalived)
17+
* [ ] Keepalived stability test and optimization.
1418
* [x] Packet Capture and Tcpdump Support
1519
* [ ] Logging
1620
- [ ] Packet based logging
1721
- [ ] Session based logging (creation, expire, statistics)
18-
* [ ] CI, Test Automation Setup
22+
* [x] CI, Test Automation Setup
1923
* [ ] Performance Optimization
24+
- [ ] Performance test tools and docs
2025
- [x] CPU Performance Tuning
2126
- [x] Memory Performance Tuning
2227
- [ ] Numa-aware NIC
2328
- [ ] Minimal Running Resource
2429
- [x] KNI performance Tuning
2530
- [ ] Multi-core Performance Tuning
26-
- [ ] TC performance Tuning
31+
- [x] TC performance Tuning
2732
* [x] 25G/40G NIC Supports
2833
* [ ] VxLAN Support
2934
* [ ] IPv6 Tunnel Device

doc/pics/tc/fifo-qsch.png

14.6 KB
Loading

0 commit comments

Comments
 (0)