Skip to content

Commit

Permalink
Merge pull request iqiyi#401 from iqiyi/devel
Browse files Browse the repository at this point in the history
Devel
  • Loading branch information
ywc689 authored Mar 1, 2019
2 parents 8ef1dc3 + 35e4d08 commit 4fe6a3f
Show file tree
Hide file tree
Showing 129 changed files with 6,707 additions and 3,700 deletions.
71 changes: 52 additions & 19 deletions conf/dpvs.bond.conf.sample
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@
! global config
global_defs {
log_level WARNING
! log_file /var/log/dpvs.log
! log_file /var/log/dpvs.log
}

! netif config
netif_defs {
<init> pktpool_size 2097151
<init> pktpool_size 1048575
<init> pktpool_cache 256

<init> device dpdk0 {
Expand All @@ -31,8 +31,13 @@ netif_defs {
queue_number 8
descriptor_number 1024
}
! promisc_mode
! kni_name dpdk0.kni
fdir {
mode perfect
pballoc 64k
status matched
}
! promisc_mode
! kni_name dpdk0.kni
}

<init> device dpdk1 {
Expand All @@ -45,8 +50,13 @@ netif_defs {
queue_number 8
descriptor_number 1024
}
! promisc_mode
! kni_name dpdk1.kni
fdir {
mode perfect
pballoc 64k
status matched
}
! promisc_mode
! kni_name dpdk1.kni
}


Expand All @@ -60,8 +70,13 @@ netif_defs {
queue_number 8
descriptor_number 1024
}
! promisc_mode
! kni_name dpdk2.kni
fdir {
mode perfect
pballoc 64k
status matched
}
! promisc_mode
! kni_name dpdk2.kni
}

<init> device dpdk3 {
Expand All @@ -74,8 +89,13 @@ netif_defs {
queue_number 8
descriptor_number 1024
}
! promisc_mode
! kni_name dpdk3.kni
fdir {
mode perfect
pballoc 64k
status matched
}
! promisc_mode
! kni_name dpdk3.kni
}

<init> bonding bond0 {
Expand Down Expand Up @@ -237,6 +257,7 @@ worker_defs {
isol_rxq_ring_sz 1048576
}
}

}

! timer config
Expand All @@ -253,6 +274,7 @@ neigh_defs {

! dpvs ipv4 config
ipv4_defs {
forwarding off
<init> default_ttl 64
fragment {
<init> bucket_number 4096
Expand All @@ -262,12 +284,22 @@ ipv4_defs {
}
}

! dpvs ipv6 config
ipv6_defs {
disable off
forwarding off
route6 {
<init> method "hlist"
recycle_time 10
}
}

! control plane config
ctrl_defs {
lcore_msg {
<init> ring_size 4096
<init> multicast_queue_length 256
sync_msg_timeout_us 2000
sync_msg_timeout_us 20000
}
ipc_msg {
<init> unix_domain /var/run/dpvs_ctrl
Expand All @@ -280,8 +312,9 @@ ipvs_defs {
<init> conn_pool_size 2097152
<init> conn_pool_cache 256
conn_init_timeout 3
! expire_quiescent_template
! fast_xmit_close
! expire_quiescent_template
! fast_xmit_close
! <init> redirect off
}

udp {
Expand Down Expand Up @@ -313,19 +346,19 @@ ipvs_defs {
mss 1452
ttl 63
sack
! wscale
! timestamp
! wscale
! timestamp
}
! defer_rs_syn
! defer_rs_syn
rs_syn_max_retry 3
ack_storm_thresh 10
max_ack_saved 3
conn_reuse_state {
close
time_wait
! fin_wait
! close_wait
! last_ack
! fin_wait
! close_wait
! last_ack
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions conf/dpvs.conf.items
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

! global config
global_defs {
#daemon <disalbe>
#daemon <disalbe>
log_level INFO <none>
log_file /var/log/dpvs.log <none>
}
Expand Down Expand Up @@ -189,6 +189,7 @@ ipvs_defs {
conn_init_timeout 3 <3, 1-31535999>
expire_quiescent_template <disable>
fast_xmit_close <disable>
<init> redirect off <off/on: disable/enable packet redirect>
}

udp {
Expand Down Expand Up @@ -243,4 +244,3 @@ ipvs_defs {
sa_pool {
<init> pool_hash_size 16 <16, 1-128>
}

5 changes: 3 additions & 2 deletions conf/dpvs.conf.sample
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,7 @@ neigh_defs {

! dpvs ipv4 config
ipv4_defs {
forwarding off ! set this to on, dpvs will forward packets that NOT hit rules directly
forwarding off
<init> default_ttl 64
fragment {
<init> bucket_number 4096
Expand All @@ -242,7 +242,7 @@ ipv6_defs {
disable off
forwarding off
route6 {
method "hlist"
<init> method "hlist"
recycle_time 10
}
}
Expand All @@ -267,6 +267,7 @@ ipvs_defs {
conn_init_timeout 3
! expire_quiescent_template
! fast_xmit_close
! <init> redirect off
}

udp {
Expand Down
10 changes: 6 additions & 4 deletions conf/dpvs.conf.single-bond.sample
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@

! global config
global_defs {
log_level WARNING
! log_file /var/log/dpvs.log
log_level WARNING
! log_file /var/log/dpvs.log
}

! netif config
Expand Down Expand Up @@ -162,6 +162,7 @@ worker_defs {
! isol_rxq_ring_sz 1048576
}
}

}

! timer config
Expand Down Expand Up @@ -216,8 +217,9 @@ ipvs_defs {
<init> conn_pool_size 2097152
<init> conn_pool_cache 256
conn_init_timeout 3
! expire_quiescent_template
! fast_xmit_close
! expire_quiescent_template
! fast_xmit_close
! <init> redirect off
}

udp {
Expand Down
1 change: 1 addition & 0 deletions conf/dpvs.conf.single-nic.sample
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,7 @@ ipvs_defs {
conn_init_timeout 3
! expire_quiescent_template
! fast_xmit_close
! <init> redirect off
}

udp {
Expand Down
52 changes: 20 additions & 32 deletions doc/TODO.md
Original file line number Diff line number Diff line change
@@ -1,40 +1,28 @@
DPVS TODO list
==============

Short-term
----------

* [x] Merge DPDK-17.05.2
* [x] Basic traffic control
* [x] Neighbour (ARP) refactor
* [x] Tunnel Interface (gre/ipip)
* [x] NAT/Tunnel forwarding mode
* [x] Consistent hashing
* [x] Get real client IP for UDP, like TCP TOA.
* [x] Keepalive.conf support SNAT
* [x] Numa/fdir auto check.
* [ ] SNAT Related
- [ ] Multi-WIPs for schedule (auto switch to new WIP if one fails).
- [ ] Fixed group of WIPs for user, share or not share with other user.
- [ ] White/black list.
- [ ] Throughput and concurrency monitoring.
- [ ] Throughput and/or concurrency limiting.
* [x] IPv6 Support.
* [x] Documents update.
* [ ] NIC without Flow-Director (FDIR)
- [x] Packet redirect to workers.
- [ ]RSS pre-calcuating.
* [ ] Merge lastest DPDK stable
* [ ] SNAT ACL
* [ ] Refactor Keepalived (porting latest stable keepalived)
* [ ] Packet Capture and Tcpdump Support
* [ ] Logging
- [ ] Packet based logging.
- [ ] Session based logging (creation, expire, statistics)
* [ ] CI, Test Automation setup.
* [ ] Performance optimization for 25G/40G NIC.
* [ ] Documents update.

Long-term
---------

* [ ] VM support
* [ ] IP fragment support, for UDP apps.
* [ ] CI, Test Automation Setup.
* [ ] Performance Optimization
- [ ] CPU Performance Tuning
- [ ] Memory Performance Tuning
- [ ] Numa-aware NIC
- [ ] Minimal Running Resource
* [ ] 25G/40G NIC Supports
* [ ] VxLAN Support
* [ ] IPv6 Tunnel Device
* [ ] VM Support
* [ ] IP Fragment Support, for UDP APPs.
* [ ] Session Sharing
* [ ] ALG (ftp, sip, ...)
* [ ] VxLAN Support
* [ ] NIC without Flow-Director (fdir)
- Packet redirect to workers.
- RSS pre-calcuating.
* [ ] IPv6 Support.
Loading

0 comments on commit 4fe6a3f

Please sign in to comment.