Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v1.8.10 #728

Merged
merged 57 commits into from
Apr 28, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
b727b17
icmp traceroute
Sep 4, 2020
4eee7b6
added whitelist
Dec 1, 2020
f47b55a
update whitelist
Dec 1, 2020
03e496f
Fix DEBUG level do not work with dpdk-stable-18.11.2, because dpdk-st…
Nov 23, 2020
1ec2892
added ipv6 white list
Dec 22, 2020
4aecd35
fix: UDP checksum not correct if IP options present
Chion82 Jan 5, 2021
59770f6
Merge branch 'devel' into kp
ywc689 Jan 15, 2021
2215ec0
update whtlist and blklist error log
Jan 19, 2021
07b1764
Merge pull request #657 from donghaobo/icmp-trace
ywc689 Jan 20, 2021
3b4bbc6
Merge pull request #691 from ytwang0320/kp
ywc689 Jan 20, 2021
fbc7390
Merge pull request #697 from Chion82/devel
ywc689 Jan 20, 2021
23249b3
Merge pull request #1 from iqiyi/devel
anonymous-zx Jan 26, 2021
379584a
patch: dpdk eal memory debug patch for dpdk-stable-18.11.2
ywc689 Jan 25, 2021
82c07b4
CI: add CI workflow file
ywc689 Jan 25, 2021
8ce85e2
Merge pull request #710 from ywc689/ci
ywc689 Feb 4, 2021
0cbef0f
bugfix: fix issue #711
ywc689 Feb 5, 2021
c984c03
feature: send TCP RST if syn cookie check fails
Chion82 Jan 20, 2021
1f343b3
Merge pull request #706 from Chion82/devel
ywc689 Feb 7, 2021
7bf39b2
obsolete patches dpdk version of 16.07,17.05.02
ywc689 Feb 4, 2021
aeefdda
ipv4: remove superfluous ipv4 checksum functions
ywc689 Feb 4, 2021
c14ef3a
ipvs: rectify mbuf::l4_len for l4 checksum offload
ywc689 Feb 4, 2021
5ec1e60
Merge pull request #713 from ywc689/cksum-bugfix
ywc689 Feb 11, 2021
af149ad
Merge pull request #714 from ywc689/issue711
ywc689 Feb 11, 2021
4c595b5
support mtu config
zos43 Feb 19, 2021
182ffcf
fix:Ping failure in snat mode, beacuse sending and receiving cores ar…
Jan 27, 2021
8297573
fix bug: bond mtu not set; add feature:mtu config option
zos43 Feb 23, 2021
27ac704
Merge branch 'mtu_config' into devel
zos43 Feb 23, 2021
0c1e8f1
Merge branch 'mtu_config' into devel
zos43 Feb 23, 2021
1979ac1
Merge branch 'devel' of https://github.com/zhangtengfei-oppo/dpvs int…
zos43 Feb 24, 2021
367dd04
Merge branch 'devel' of https://github.com/zhangtengfei-oppo/dpvs int…
zos43 Feb 24, 2021
8c09adf
Merge branch 'devel' of https://github.com/zhangtengfei-oppo/dpvs int…
zos43 Feb 24, 2021
f5010d1
coding sytle aliments
zos43 Feb 26, 2021
00025f0
coding style alignments
zos43 Feb 26, 2021
1ac18c2
Merge remote-tracking branch 'upstream/devel' into devel
Mar 3, 2021
fcda806
tc: per-lcore tuning
ywc689 Mar 8, 2021
b5f267a
tc: schedule tc qsch with dpvs job
ywc689 Mar 9, 2021
02cdcfd
netif: refactor netif recv procedure
ywc689 Mar 12, 2021
c5a4dc4
tc: add supports for tc-ingress
ywc689 Mar 13, 2021
1777a38
conn: fix msg register problem for cmd 'ipvsadm -lnc'
ywc689 Mar 15, 2021
15b71f0
tc: fix cls match bug for icmp/icmp6/ipv6.
ywc689 Mar 18, 2021
7872a16
tc: ingress flag of qsch and cls should match
ywc689 Mar 18, 2021
f1645e5
tc: add document and examples for tc
ywc689 Mar 18, 2021
a7eac97
tc: fix compile problem in debug and old dpdk versions reported by ci
ywc689 Mar 19, 2021
f8e72ed
doc: update todo doc
ywc689 Mar 22, 2021
64c4ec2
Merge pull request #716 from zhangtengfei-oppo/devel
ywc689 Mar 31, 2021
e9eb922
Merge pull request #709 from weiyanhua100/icmp-bug-0127
ywc689 Mar 31, 2021
b3d7c35
Merge pull request #722 from ywc689/todo
wenjiejiang Apr 2, 2021
ab6ced5
keepalvied bug fix
Mar 5, 2021
632ea8b
tc: remove duplicated functions
ywc689 Apr 13, 2021
3a12c50
fix logging problem for debug level
ywc689 Apr 13, 2021
090044c
Merge pull request #718 from yifan1227/devel
ywc689 Apr 13, 2021
0e359e2
Merge pull request #726 from ywc689/debug-log
ywc689 Apr 14, 2021
e2bfc75
Merge pull request #720 from ywc689/tc2
ywc689 Apr 15, 2021
762fe1b
version: release v1.8.9
ywc689 Apr 15, 2021
b6f1a60
doc: fix examples for using tc
ywc689 Apr 26, 2021
9bb9a73
version: release v1.8.10
ywc689 Apr 26, 2021
2201585
Merge pull request #727 from ywc689/v1.8.10
ywc689 Apr 27, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 59 additions & 0 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Build

on:
push:
branches: [master, devel]
release:
branches: [master]
types: [published]
schedule:
- cron: '30 2 * * 1'
pull_request:
branches: [master, devel]
types: [labeled]

jobs:
build-basic:
runs-on: self-hosted
env:
RTE_SDK: /data/dpdk/intel/dpdk-stable-18.11.2
RTE_TARGET: x86_64-native-linuxapp-gcc
steps:
- uses: actions/checkout@v2
- name: make
run: make -j32

build-mlnx:
runs-on: self-hosted
env:
RTE_SDK: /data/dpdk/mlnx/dpdk-stable-18.11.2
RTE_TARGET: x86_64-native-linuxapp-gcc
steps:
- uses: actions/checkout@v2
- name: config
run: sed -i 's/^CONFIG_MLX5=./CONFIG_MLX5=y/' src/config.mk
- name: make
run: make -j32

build-debug:
runs-on: self-hosted
env:
RTE_SDK: /data/dpdk/intel/dpdk-stable-18.11.2
RTE_TARGET: x86_64-native-linuxapp-gcc
steps:
- uses: actions/checkout@v2
- name: config
run: sed -i 's/#CFLAGS +=/CFLAGS +=/' src/config.mk && sed -i 's/^#DEBUG := 1/DEBUG := 1/' src/Makefile
- name: make
run: make -j32

build-olddpdk:
runs-on: self-hosted
env:
RTE_SDK: /data/dpdk/intel/dpdk-stable-17.11.6
RTE_TARGET: x86_64-native-linuxapp-gcc
steps:
- uses: actions/checkout@v2
- name: make
run: make -j32

28 changes: 28 additions & 0 deletions .github/workflows/run.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Run

on:
push:
branches: [master, devel]
release:
branches: [master]
types: [published]
schedule:
- cron: '30 3 * * 1'
pull_request:
branches: [master, devel]
types: [labeled]

jobs:
run-dpvs:
runs-on: self-hosted
env:
RTE_SDK: /data/dpdk/intel/dpdk-stable-18.11.2
RTE_TARGET: x86_64-native-linuxapp-gcc
steps:
- uses: actions/checkout@v2
- name: make
run: make -j32
- name: install
run: make install
- name: run-dpvs
run: sudo dpvsci $(pwd)/bin/dpvs
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
![Build](https://github.com/iqiyi/dpvs/workflows/Build/badge.svg) ![Run](https://github.com/iqiyi/dpvs/workflows/Run/badge.svg)

![dpvs-logo.png](./pic/DPVS-logo.png)

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

`DPVS` feature modules are illustrated as following picture.
Expand Down
11 changes: 8 additions & 3 deletions conf/dpvs.bond.conf.sample
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,9 @@ netif_defs {
pballoc 64k
status matched
}
! mtu 1500
! promisc_mode
! kni_name dpdk0.kni
! kni_name dpdk0.kni
}

<init> device dpdk1 {
Expand All @@ -57,6 +58,7 @@ netif_defs {
pballoc 64k
status matched
}
! mtu 1500
! promisc_mode
! kni_name dpdk1.kni
}
Expand All @@ -77,8 +79,9 @@ netif_defs {
pballoc 64k
status matched
}
! mtu 1500
! promisc_mode
! kni_name dpdk2.kni
! kni_name dpdk2.kni
}

<init> device dpdk3 {
Expand All @@ -96,8 +99,9 @@ netif_defs {
pballoc 64k
status matched
}
! mtu 1500
! promisc_mode
! kni_name dpdk3.kni
! kni_name dpdk3.kni
}

<init> bonding bond0 {
Expand Down Expand Up @@ -246,6 +250,7 @@ worker_defs {
<init> worker cpu8 {
type slave
cpu_id 8
icmp_redirect_core
port bond0 {
rx_queue_ids 7
tx_queue_ids 7
Expand Down
3 changes: 3 additions & 0 deletions conf/dpvs.conf.items
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ netif_defs {
pballoc 64k <64k, 64k|128k|256k>
status matched <matched, close|matched|always>
}
! mtu 1500 <1500,0-9000>
! promisc_mode <disable>
! kni_name dpdk0.kni <char[32]>
}
Expand All @@ -55,6 +56,7 @@ netif_defs {
queue_number 4
descriptor_number 256
}
! mtu 1500
! promisc_mode
! kni_name dpdk1.kni
}
Expand Down Expand Up @@ -135,6 +137,7 @@ worker_defs {
<init> worker cpu5 {
type kni
cpu_id 5
icmp_redirect_core
port dpdk0 {
tx_queue_ids 6
}
Expand Down
3 changes: 3 additions & 0 deletions conf/dpvs.conf.sample
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ netif_defs {
pballoc 64k
status matched
}
! mtu 1500
! promisc_mode
kni_name dpdk0.kni
}
Expand All @@ -57,6 +58,7 @@ netif_defs {
pballoc 64k
status matched
}
! mtu 1500
! promisc_mode
kni_name dpdk1.kni
}
Expand Down Expand Up @@ -199,6 +201,7 @@ worker_defs {
<init> worker cpu8 {
type slave
cpu_id 8
icmp_redirect_core
port dpdk0 {
rx_queue_ids 7
tx_queue_ids 7
Expand Down
7 changes: 5 additions & 2 deletions conf/dpvs.conf.single-bond.sample
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,9 @@ netif_defs {
pballoc 64k
status matched
}
! mtu 1500
! promisc_mode
! kni_name dpdk0.kni
! kni_name dpdk0.kni
}

<init> device dpdk2 {
Expand All @@ -56,8 +57,9 @@ netif_defs {
pballoc 64k
status matched
}
! mtu 1500
! promisc_mode
! kni_name dpdk2.kni
! kni_name dpdk2.kni
}

<init> bonding bond0 {
Expand Down Expand Up @@ -156,6 +158,7 @@ worker_defs {
<init> worker cpu8 {
type slave
cpu_id 8
icmp_redirect_core
port bond0 {
rx_queue_ids 7
tx_queue_ids 7
Expand Down
2 changes: 2 additions & 0 deletions conf/dpvs.conf.single-nic.sample
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ netif_defs {
pballoc 64k
status matched
}
! mtu 1500
! promisc_mode
kni_name dpdk0.kni
}
Expand Down Expand Up @@ -129,6 +130,7 @@ worker_defs {
<init> worker cpu8 {
type slave
cpu_id 8
icmp_redirect_core
port dpdk0 {
rx_queue_ids 7
tx_queue_ids 7
Expand Down
13 changes: 9 additions & 4 deletions doc/TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,29 @@ DPVS TODO list
* [ ] NIC without Flow-Director (FDIR)
- [x] Packet redirect to workers
- [ ] RSS pre-calcuating
- [ ] Replace fdir with Generic Flow(rte_flow)
* [x] Merge DPDK stable 18.11
* [ ] Merge DPDK stable 20.11
* [ ] Service whitelist ACL
* [ ] SNAT ACL
* [x] Service whitelist ACL
* [ ] IPset Support
- [ ] SNAT ACL with IPset
- [ ] TC policing with IPset
* [x] Refactor Keepalived (porting latest stable keepalived)
* [ ] Keepalived stability test and optimization.
* [x] Packet Capture and Tcpdump Support
* [ ] Logging
- [ ] Packet based logging
- [ ] Session based logging (creation, expire, statistics)
* [ ] CI, Test Automation Setup
* [x] CI, Test Automation Setup
* [ ] Performance Optimization
- [ ] Performance test tools and docs
- [x] CPU Performance Tuning
- [x] Memory Performance Tuning
- [ ] Numa-aware NIC
- [ ] Minimal Running Resource
- [x] KNI performance Tuning
- [ ] Multi-core Performance Tuning
- [ ] TC performance Tuning
- [x] TC performance Tuning
* [x] 25G/40G NIC Supports
* [ ] VxLAN Support
* [ ] IPv6 Tunnel Device
Expand Down
Binary file added doc/pics/tc/fifo-qsch.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/pics/tc/pfifo_fast-qsch.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/pics/tc/tbf-qsch.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading