diff --git a/ROADMAP.md b/ROADMAP.md index c701124e0bb..c2d9a4c4440 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -1,41 +1,34 @@ # Kube-OVN RoadMap -## v1.10.0 -- April 2022 +## v1.11.0 -- July 2022 -### Subnet Enhancement -- Support to add multiple subnets for one namespace -- Use lr-policy to optimize ovn flows -- Support for DHCP - -### VPC Enhancement -- VPC peering +### DataCenter Network +- DNS in custom VPC +- L2 LB in custom VPC -### Virtualization Enhancement -- OVS-DPDK support -- Static IP for VM lifecycle +### Application Network +- Windows overlay/underlay network support +- Multi cluster Service +- Load balancer type Service -### Monitoring and Operation -- Command for restore ovn db -- Metrics for db storage status +### Performance +- Use libovsdb to replace ovn-nbctl daemon +- Optimize OVN logical flows ## Planned features ### DataCenter Network - Namespaced VPC and Subnet -- Break down vpc-nat-gateway CRD to eip/nat/lb CRDs - Integrate DPU to support bare metal - Integrate SDN switches to support bare metal ### Application Network - Traffic visualization and application level analyzing -- Windows overlay/underlay network support - Multi cluster Service/DNS/Networkpolicy - Traffic encryption - Fine-grained ACL -- Load balancer type Service ### Performance Enhancement -- Use libovsdb to replace ovn-nbctl daemon - eBPF to accelerate intra-node communication - Tools for automatically profile - Repos for fastpath and optimized ovs modules diff --git a/docs/performance-tuning.md b/docs/performance-tuning.md index 20b73d4414a..d3e6d1673e7 100644 --- a/docs/performance-tuning.md +++ b/docs/performance-tuning.md @@ -67,8 +67,6 @@ This benchmark is for reference only, the result may vary dramatically due to di Optimization for packets with big size and underlay latency are still in progress, we will publish the optimization methods and benchmark results later. - - ## Optimization methods ## CPU frequency scaling @@ -79,8 +77,6 @@ When the CPU works at power save mode, its performance behavior is unstable and cpupower frequency-set -g performance ``` - - ## Increasing the RX ring buffer A high drop rate at receive side will hurt the throughput performance. @@ -105,24 +101,6 @@ A high drop rate at receive side will hurt the throughput performance. # ethtool -G eno1 rx 4096 ``` - - -## Enable the checksum offload - -In v1.7 to bypass a kernel double nat issue, we disabled the tx checksum offload of geneve tunnel. This issue has been resolved -in a different way in the latest version. Users who update from old versions can enable the checksum again. Users who use -1.7.2 or later do not need to change the settings. - -```bash -# run on every ovs-ovn pod - -# ethtool -K genev_sys_6081 tx on -# ethtool -K ovn0 tx on -# ovs-vsctl set open . external_ids:ovn-encap-csum=true -``` - - - ## Disable OVN LB With profile, the OVN L2 LB need packet clone and recirculate which consumes lots CPU time and block every traffic path @@ -150,20 +128,18 @@ to bypass the conntrack system for traffic that not designate to svc. kubectl ko nbctl set nb_global . options:svc_ipv4_cidr=10.244.0.0/16 ``` - - ## Kernel FastPath module With Profile, the netfilter hooks inside container netns and between tunnel endpoints contribute about 25% of the CPU time after the optimization of disabling lb. We provide a FastPath module that can bypass the nf hooks process and reduce about another 20% of CPU time and latency in 1 byte packet test. -The easiest way is to download the `.ko` file and `insmod` the file as [doc](https://github.com/kubeovn/tunning-package) introduce. The `ko` file currently support a limited number of kernel versions. However, we encourage users to submit requests, and we will support new versions soon. +The easiest way is to download the `.ko` file and `insmod` the file as [doc](https://github.com/kubeovn/tunning-package) introduce. +The `ko` file currently support a limited number of kernel versions. However, we encourage users to submit requests, and we will support new versions soon. If you want to compile yourself, please refer [FastPath Guide](../fastpath/README.md) to get the detail steps. - ## Optimize OVS kernel module ### Download a ready-made package @@ -278,7 +254,7 @@ $ kubectl ko tuning remove-stt centos ### Using STT tunnel type Popular tunnel encapsulation methods like Geneve or Vxlan use udp to wrap the origin packets. -However,when using udp over tcp packets, lots of the tcp offloading capabilities that modern NICs provided cannot be utilized +However, when using udp over tcp packets, lots of the tcp offloading capabilities that modern NICs provided cannot be utilized and leads to degraded performance compared to non-encapsulated one. STT provides a tcp like header to encapsulate packet which can utilize all the offloading capabilities and dramatically improve the throughput of tcp traffic.