Skip to content

Commit

Permalink
Merge pull request #728 from iqiyi/devel
Browse files Browse the repository at this point in the history
Release v1.8.10
  • Loading branch information
ywc689 authored Apr 28, 2021
2 parents 5346e4c + 2201585 commit 8c4ea56
Show file tree
Hide file tree
Showing 81 changed files with 4,807 additions and 2,048 deletions.
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

0 comments on commit 8c4ea56

Please sign in to comment.