Skip to content

Releases: iqiyi/dpvs

Release v1.7.8: Stability Enhancement

04 Nov 11:48
a6d51aa
Compare
Choose a tag to compare

Feature

  • IPVS IPv6 tunnel forwarding mode
  • IPVS IPv6 over IPv4 tunnel forwarding mode (NAT64 tunnel)
  • Enable dedicated queue for bonding mode 4
  • Simple ipset and outwall route for IPv4
  • DPVS asynchronous logging
  • DPVS memory pool
  • Add more debug info

Bugfixes

  • Fix keepalived vrrp process crash problem
  • Fix IPv4 fragment problem for OSPF protocol
  • Fix crash problem when cpu worker number over DPVS_MAX_LCORE
  • Fix serveral problems in ip_vs_redirect
  • Simplify dpvs msg and fix its crash problem
  • Fix inaccuracy problem when carry for DPVS timer
  • Fix contention problem for DPVS global timer
  • Fix templated-conn invalidation problem for DPVS persistent sessions
  • Fix some memory leak problems
  • Fix some formatting problem

Release v1.7.2: NAT64 support

01 Mar 08:07
4fe6a3f
Compare
Choose a tag to compare
Pre-release

Features

  • NAT64(IPv6-to-IPv4 Forwarding) support for Full-NAT forwarding, including kmods TOA and UOA.
  • Connection redirect for the case of FDIR not work, like tunneling ICMP SNAT, multicore NAT forwarding.
  • TCP window close support during synproxy.
  • HW checksum offload for UDP.
  • More flexible RSS modes using bitwise OR.
  • Support SAPOOL creation in SNAT mode.
  • Weighted fail over scheduler.
  • Documentation and examples updates, including config files, tutorials,toa/uoa examples, NAT64 nginx patch.

Bugfixes

  • Keepalived: Keep checker's state correct when command fail.
  • Conhash: Update dests in a more efficient way.
  • Ipvsadm: Fix IPv6 laddr display problem.
  • Checksum: Fix checksum problem for packets with IP options or private protocol data(such as UOA).
  • ARP: Reply ARP request when IP address matched instead of route matched.
  • Route: Remove route entry by refcnt.
  • Service: Fix memory leak problem when getting non-existing service, and refcnt problem when getting service failed.
  • Netif: Fix assertiong problem when lcore number over 64.
  • Inetaddr: Allow existing routes when adding address.
  • TOA kmod: Fix crash problem for IPv6 packets.
  • Ctrl: Remove useless multicast msg lock.
  • Synproxy: Fix mbuf clone problem for TCP retransmission.
  • Sapool: Fix SNAT sapool leak problem.
  • Indentation fixes.

Feature Checklist

For checked features of v1.7.2, click here.

Notes: Kmod UOA(uoa.ko) for this version is not compatible with previous ones. Update uoa.ko on RealServers when updating DPVS to v1.7.2.

Release v1.7.0: IPv6 support

20 Nov 07:05
32bd598
Compare
Choose a tag to compare
Pre-release

IPv6

  • IPv6 Protocol
    • neighbor
    • route6
    • icmpv6
    • inet6 and inet_addr
    • ipv6 sapool
    • ipv6 extension headers
  • IPv6 IPVS forwarding
    • support tcp/udp protocol
    • support FullNat/Tunnel/DR/NAT mode
    • support ipv6 tcp synproxy
    • add dual-stack toa
  • auxiliary supports
    • ipvsadm/keepalived support ipv6
    • add ipv6 configs in config file
    • dual-stack udp test server and concurrent client

bugfixes

  • fix crash problem in consistent hash
  • fix conn refcnt problem when freed
  • fix port number overflow problem
  • fix log type error in neighbor
  • fix crash problem when enable forward2kni
  • fix dpip coredump problem when dpvs not started
  • fix possible crash and connection broken problem when add/del real servers
  • add fast_xmit support in nat-mode
  • get DPVS version from git tags or commit id

docs and configs

  • add frequent asked questions doc: faq.md
  • add contributing doc: CONTRIBUTING.md
  • update tutorial doc: tutorial.md
  • update dpvs config sample files

known issues

  • IPv6 flow director is not well-supported by ixgbe driver, only one local ip can be set in signature mode.
  • IPv6 snat forwarding has not been tested yet.
  • IPv6 tunnel device is not supported.
  • IPv6 uoa.ko is not supported.
  • Only one slave is slected in bonding mode 4, and cannot perform failover.
  • Dpip cannot set nic link down.
  • SNAT forwarding cannot ping if packets come from tunnel device and rss is set to 'ip' mode.
  • Synproxy consumes too many mbufs when network between dpvs and rs is slow.
  • Time consumed by each loop is not fairly equal, long lcore loop happens sometimes and may lead to nic buffer overflow, msg timeout ...
  • Dpvs timer does not work properly when timer wheel carry-in happens.
  • Packet capture is not well supported.
  • Session sharing is not supported.

Release v1.6.1

02 Jul 02:56
247a53f
Compare
Choose a tag to compare
  • sched: consistent hash
  • uoa support to get UDP client IP/port.
  • integration with DPDK 17.1
  • neigh state and confirm.
  • more RSS mode
  • performance optimization for blacklist, neighbour, etc.
  • doc update and VM support.
  • bug fix:
    • timer: self-contained timer frees itself in handler
    • dpip: link show issues with
    • keepalived fixes.
    • other bug fixings.