F-Stack 1.22 & 1.21.2(LTS) 版本已发布,其中1.22的最重要变化有以下两个:1. FreeBSD 升级至 FreeBSD-releng-13.0, 已经可以支持 BBR, 在特定场景下性能比 cubic 可以提高 10 倍以上。
2. DPDK 升级至 20.11, 编译方式相比 19.11 去除了常规 make 编译方式,使用上会有较大变化。
具体变更内容如下所示。
2022.09 F-Stack v1.22
1. FreeBSD
- Upgrade to FreeBSD-releng-13.0, support RACK and BBR.
2. F-Stack lib
- Support extra tcp stacks, RACK and BBR. Significantly improves the performance of large file transfer(more than 10 times) in high latency and packet loss scenarios. Thanks @FireAngell.
- F-Stack support HPTS for RACK and BBR.
- lo port is added 127.0.0.1 when freebsd init.
- Fix #643. Fix a VXLAN issue. Thanks @agerguo
- FF_USE_PAGE_ARRAY compatible DPDK 19.11.
- Optimize random function in ff_compat.c @dingyuan
- Enable net.inet.tcp.delayed_ack by default to improve concurrent performance.
- Support zero copy while call
ff_write
, disable by default. - Fix the bonding issue. @Lorisy @agerguo
- Fix the issue that
ff_netstat -r
can't show gateway6. - Fix compile error of micro_thread with gcc 8.3. @Xin Wang
- to avoid compiling errors when gcc version >= 10. @ZZMarquis
- Support FDIR. @hawkxiang
- fix use after free issue in mbuf free. @jianfeng Tan
- Fix #568, Insufficient condition in ff_rte_frm_extcl function. @freak82
- Add IPv6 net addr parameters in config. @zengyi1001
- Add ff_regist_pcblddr_fun to regist a pcb lddr function in F-Stack to select source IP when as client.
- modify struct linux_sockaddr same to struct sockaddr in linux.
- Support IPPROTO_IPV6's
IPV6_V6ONLY
andIPV6_RECVPKTINFO
. @hawkxiang - Support set multi virtual IPv4/IPv6 net addrs in config.ini.
- Add support for multiple pci_whitelist in config.ini. @ibtisam-tariq
- Add support to set interface name of each port in config.ini. @ibtisam-tariq
- ff_syscall_wrapper.c: add linux_cmsghdr and its support in recvmsg add support for
IP_RECVTTL
andIP_RECVTOS
. @FidaullahNoonari-emumba - Added F-Stack FreeBSD 13.0 support. @guhaoyu2005
- Add IP_MINTTL flag in ff_syscall_wrapper.c. @FidaullahNoonari-emumba
- alows user to set dpdk log level from config.ini file. @Jawad-Hussain-23
- Fix ff_syscall_wrapper.c: in ff_recvfrom() in case of zero *fromlen, *from will not be filled with garbadge values. @sarosh Arif
3. DPDK
- Upgrade to DPDK-20.11.6(LTS).
- MLX5: modify if_indextoname syscall to support F-Stack tools.
4. ff tools
- Fix bug of ff_ipc_msg_free in ff tools.
- The ff_traffic and ff_top's -P argument support bigger than 38.
5. APP
- Redis: Upgrade to Redis-6.2.6. @GlareR
6. example
- Enable INET6 by default in helloworld.
2022.09 F-Stack v1.21.2(LTS)
1. F-Stack lib:
- Fix #643. Fix a VXLAN issue. Thanks @agerguo
- FF_USE_PAGE_ARRAY compatible DPDK 19.11.
- Optimize random function in ff_compat.c @dingyuan
- Enable net.inet.tcp.delayed_ack by default to improve concurrent performance.
- Support zero copy while call ff_write, disable by default.
- Fix the bonding issue. @Lorisy
- Fix the issue that ff_netstat -r can't show gateway6.
2. DPDK:
- Upgrade to DPDK-19.11.13(LTS).