Skip to content

Commit

Permalink
Merge pull request #847 from iqiyi/devel
Browse files Browse the repository at this point in the history
Release-v1.9.2
  • Loading branch information
ywc689 authored Jul 26, 2022
2 parents e094c9d + d38d43f commit b524e36
Show file tree
Hide file tree
Showing 121 changed files with 27,748 additions and 1,250 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@ name: Build

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

jobs:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/run.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@ name: Run

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

jobs:
Expand Down
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ $ mkdir dpdkbuild # user desired build folder
$ meson -Denable_kmods=true -Dprefix=dpdklib dpdkbuild
$ ninja -C dpdkbuild
$ cd dpdkbuild; ninja install
$ export PKG_CONFIG_PATH=$(pwd)/../dpdklib/lib64/pkgconfig/libdpdk.pc
$ export PKG_CONFIG_PATH=$(pwd)/../dpdklib/lib64/pkgconfig/
```

> 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.
Expand Down Expand Up @@ -146,14 +146,14 @@ $ ./usertools/dpdk-devbind.py -b uio_pci_generic 0000:06:00.0
It's simple, just set `PKG_CONFIG_PATH` and build it.

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

$ make # or "make -j" to speed up
$ make install
```
> Notes:
> 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).
> 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).
> 2. Early `pkg-config` versions (v0.29.2 before) may cause dpvs build failure. If so, please upgrade this tool.
Output files are installed to `dpvs/bin`.
Expand Down Expand Up @@ -253,6 +253,8 @@ Our test shows the forwarding speed (pps) of DPVS is several times than LVS and

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

Click [here](./test/release/v1.9.2/performance.md) for the lastest performance data.

# License

Please refer to the [License](./LICENSE.md) file for details.
Expand Down
12 changes: 9 additions & 3 deletions conf/dpvs.bond.conf.sample
Original file line number Diff line number Diff line change
Expand Up @@ -248,17 +248,18 @@ worker_defs {
}
}

!<init> worker cpu9 {
!<init> worker cpu17 {
! type kni
! cpu_id 9
! cpu_id 17
! port bond0 {
! rx_queue_ids 8
! tx_queue_ids 8
! }
! port bond1 {
! rx_queue_ids 8
! tx_queue_ids 8
! }
!}

}

! timer config
Expand All @@ -273,6 +274,11 @@ neigh_defs {
<init> timeout 60
}

! dpvs ipset config
ipset_defs {
<init> ipset_hash_pool_size 131072
}

! dpvs ipv4 config
ipv4_defs {
forwarding off
Expand Down
26 changes: 21 additions & 5 deletions conf/dpvs.conf.items
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,13 @@

! global config
global_defs {
#daemon <disalbe>
log_level INFO <none>
log_file /var/log/dpvs.log <none>
<init> log_async_mode off <off, on|off>
<init> pdump off <off, on|off>
#daemon <disalbe>
log_level INFO <none>
log_file /var/log/dpvs.log <none>
log_with_timestamp off <off, on|off> # note: only effective for async log now
<init> log_async_mode off <off, on|off>
<init> log_async_pool_size 16383 <16383, 1023-unlimited>
<init> pdump off <off, on|off>
}

! netif config
Expand Down Expand Up @@ -71,6 +73,12 @@ netif_defs {
}

! worker config (lcores)
! notes:
! 1. rx(tx) queue ids MUST start from 0 and continous
! 2. cpu ids and rx(tx) queue ids MUST be unique, repeated ids is forbidden
! 3. cpu ids identify dpvs workers only, and not correspond to physical cpu cores.
! If you are to specify cpu cores on which to run dpvs, please use dpdk eal options,
! such as "-c", "-l", "--lcores". Use "dpvs -- --help" for supported eal options.
worker_defs {
<init> worker cpu0 {
cpu_id 0
Expand Down Expand Up @@ -139,9 +147,11 @@ worker_defs {
cpu_id 5
icmp_redirect_core
port dpdk0 {
rx_queue_ids 4
tx_queue_ids 6
}
port dpdk1 {
rx_queue_ids 4
tx_queue_ids 4
}
}
Expand All @@ -159,6 +169,11 @@ neigh_defs {
timeout 60 <60, 1-3600>
}

! dpvs ipset config
ipset_defs {
<init> ipset_hash_pool_size 131072 <131072, 65536-524288>
}

! dpvs ipv4 config
ipv4_defs {
forwarding off <off, on/off>
Expand Down Expand Up @@ -245,6 +260,7 @@ ipvs_defs {
! wscale <disable>
! timestamp <disable>
}
close_client_window <enable>
!defer_rs_syn <disable>
rs_syn_max_retry 3 <3, 1-99>
ack_storm_thresh 10 <10, 1-999>
Expand Down
19 changes: 16 additions & 3 deletions conf/dpvs.conf.sample
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,12 @@ netif_defs {
}

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

!<init> worker cpu9 {
!<init> worker cpu17 {
! type kni
! cpu_id 9
! cpu_id 17
! port dpdk0 {
! rx_queue_ids 8
! tx_queue_ids 8
! }
! port dpdk1 {
! rx_queue_ids 8
! tx_queue_ids 8
! }
!}

}

! timer config
Expand All @@ -233,6 +240,11 @@ neigh_defs {
timeout 60
}

! dpvs ipset config
ipset_defs {
<init> ipset_hash_pool_size 131072
}

! dpvs ipv4 config
ipv4_defs {
forwarding off
Expand Down Expand Up @@ -312,6 +324,7 @@ ipvs_defs {
! wscale
! timestamp
}
close_client_window
! defer_rs_syn
rs_syn_max_retry 3
ack_storm_thresh 10
Expand Down
12 changes: 9 additions & 3 deletions conf/dpvs.conf.single-bond.sample
Original file line number Diff line number Diff line change
Expand Up @@ -159,14 +159,14 @@ worker_defs {
}
}

!<init> worker cpu9 {
!<init> worker cpu17 {
! type kni
! cpu_id 9
! cpu_id 17
! port bond0 {
! rx_queue_ids 8
! tx_queue_ids 8
! }
!}

}

! timer config
Expand All @@ -181,6 +181,11 @@ neigh_defs {
timeout 60
}

! dpvs ipset config
ipset_defs {
<init> ipset_hash_pool_size 131072
}

! dpvs ipv4 config
ipv4_defs {
forwarding off
Expand Down Expand Up @@ -260,6 +265,7 @@ ipvs_defs {
! wscale
! timestamp
}
close_client_window
! defer_rs_syn
rs_syn_max_retry 3
ack_storm_thresh 10
Expand Down
12 changes: 9 additions & 3 deletions conf/dpvs.conf.single-nic.sample
Original file line number Diff line number Diff line change
Expand Up @@ -134,14 +134,14 @@ worker_defs {
}
}

!<init> worker cpu9 {
!<init> worker cpu17 {
! type kni
! cpu_id 9
! cpu_id 17
! port dpdk0 {
! rx_queue_ids 8
! tx_queue_ids 8
! }
!}

}

! timer config
Expand All @@ -156,6 +156,11 @@ neigh_defs {
timeout 60
}

! dpvs ipset config
ipset_defs {
<init> ipset_hash_pool_size 131072
}

! dpvs ipv4 config
ipv4_defs {
forwarding off
Expand Down Expand Up @@ -235,6 +240,7 @@ ipvs_defs {
! wscale
! timestamp
}
close_client_window
! defer_rs_syn
rs_syn_max_retry 3
ack_storm_thresh 10
Expand Down
Loading

0 comments on commit b524e36

Please sign in to comment.