mirror of https://github.com/F-Stack/f-stack.git
7.5 KiB
7.5 KiB
F-Stack Release Note
F-Stack is an open source network framework based on DPDK.
2024.10 F-Stack v1.21.5(LTS)
- F-Stack lib:
- Modify ff_port_cfg.port_id's type from uint8_t to unint16_t.
- Modify INI_MAX_LINE from 200 to 2048 in lib/ff_ini_parser.h.
- IPv6 addr and vaddr set autoconf by default.
- Modify IPv4 vip addrs' broadaddr from x.x.x.255 to x.x.x.x, same as vip addr, because vips' netmask only support
255.255.255.255
now. - Add APi ff_dpdk_raw_packet_send to suppoort RAW packet send direty with DPDK by user APP not via socket.
- Support automatic configuration of vlan and vlan ip, routing and the simplest policy routing.
- Use soclose() instead of sofree() when initializing the configuration stack IP.
- Support KNI ratelimit, default disable.
- The msghdr.msg_iov->iov_base and msghdr.msg_iov->iov_len of ff_sendmsg() and ff_recvmsg() compatible with the Linux.
- FreeBSD
- Fix issue in Freebsd when building with GCC 14.1.0. @bjosv
- ff toos
- Fix ff tools build error with gcc-13.2.0.
- DPDK
- Fix some build errors of dpdk-19.11.14 with gcc-13.2.0.
- APP
- Nginx: Nginx's stream support transparent.
- doc
- Update ff tools README.md, use
ff_netstat -rnW
to display wider device name. - Fix a typo in doc/F-Stack_Nginx_APP_Guide.md: "kernel_network_stack" -> "proxy_kernel_network_stack".
2023.10 F-Stack v1.21.4(LTS)
- F-Stack lib:
- Add vlan_filter argument in config.ini for RSS with vlan.
- Set Rx VLAN filter, and then the dirvier(such as MLX5) will set FLOW RSS to enable L3/L4 RSS below vlan hdr. This action won't need after DPDK-20.11.
- Fix Compile Error with gcc 12.2.0.
- gettimeofday automatically compatible with different glibc versions.
- Add an API ff_get_traffic to get traffic for QoS or other.
- ff tools:
- Fix Compile Error with gcc 12.2.0.
- APP:
- gettimeofday automatically compatible with different glibc versions.
2023.09 F-Stack v1.21.3(LTS)
- F-Stack lib, Sync some features from branch of dev:
- vlan_strip support kni.
- Fix Compile Error with gcc 11.3.0(in Ubuntu 22.04).
- Added F-Stack FreeBSD support. see
9f7a142
. - Enable INET6 by default in helloworld. see
51c91ab
. - Added FDIR support. see
4854315
. - To avoid compiling errors when gcc version >= 10. see
6daadb0
. - Modify
struct linux_sockaddr
same tostruct sockaddr
in linux. seed96a9d1
. - Sync some modified of ff_config.c, inclue set dpdk log level, Avoid memory leaks, suppor vip_addr and vip_addr6, etc. see git log lib/ff_config.c in branch of dev.
- Sync some modified of ff_syscall_wrapper.c, include ff_sendmsg, ff_recvmsg, ip6_opt_convert, etc. see git log lib/ff_syscall_wrapper.c in branch of dev.
- The CPU usage of packet_dispatcher() is modified to usr. see
0508c8b
. - If process_dispatch_ring() has data packet to be processed and it is considered non-idle state. see
81dd6c7
. - Fix a plurality of packets may not statistics in ff_traffic.rx_packets and ff_traffic.rx_bytes. see
0b4a084
. - Added FF_IPSEC=1 in lib/Makefile, disable by default.
- Some other modified.
- DPDK:
- DPDK: Upgrade to 19.11.14(LTS).
- APP:
- Fiexd some build errors of micro_thread on ubuntu 22.04.
2022.09 F-Stack v1.21.2(LTS)
- 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.
- DPDK:
- Upgrade to DPDK-19.11.13(LTS).
2021.09 F-Stack v1.21.1
- F-Stack lib:
- lo port is added 127.0.0.1 when freebsd init.
- DPDK:
- MLX5: modify if_indextoname syscall to support F-Stack tools.
2021.01 F-Stack v1.21
1. F-Stack lib:
- Fix use after free issue in mbuf free. #565 #556 @tanjianfeng @zouyonghao @freak82
- Fix insufficient condition in ff_rte_frm_extcl function.
- Fix wrong msg_flags in struct msghdr after calling ff_recvmsg in a Linux application.
- Modify dump codes. @jinhao2
- Feature knictl. @pengtianabc
- Add configuration options
symmetric_rss
to set whether to use symmetric RSS. - Add IPv6 net addr parameters in config. @zengyi1001
- Add
ff_regist_pcblddr_fun
to regist a pcb lddr function in F-Stack. - Config: Support parse "--file-prefix"&"--pci-whitelist" for multi-processes. @hawkxiang
- Support rte_flow_isolate for multi lcore. @hawkxiang
- Nginx:
- Fix some issues of nginx transparent proxy. @rolfliu
- micro_thread:
- Add micro_thread_auto_adjust_thread_cnt. @WoolenWang
- Fix compile error of micro_thread with gcc 8.3. @Xin Wang
- Tools:
- Fix a crash bug while use
ff_ifconfig
. - Fix bug of
ff_sysctl
. - Fix some other bugs while use ff msg.
- IPFW: supported IPv6. @zjwsoft
- Add ff_ipc_exit() to clean temp files in /var/ while run F-Stack tools arp/ifconfig/route/ipfw. @zjwsoft
- Add ndp tool for ipv6 neighbor. @chopin11
- DPDK:
- Upgrade to 19.11.5 LTS.
- Others:
- Update README.md. @soroshsabz
2019.11 F-Stack v1.20
- F-Stack lib:
- Fix some bugs. Corresponding upstream changeset from Freebsd releng-11.0/release-11.1/release-11.2/release-11.3/release-12
- Fix bug of bind and connect. @jin.hao
- Fix F-stack compile error in Red Hat 8.0 with gcc 8.2.1.
- Add IPv6 supported.
- Add
make install
, and you can not must setFF_DPDK
andFF_PATH
. - Add
FF_USE_PAGE_ARRAY
compile switch inMakefile
, turn on it will not use mcopy when transmit packetes from bsd to dpdk. @jin.hao - Add vlan supported. @dragonorloong
- Add bonding suopported. Note: some bond driver can not work with multi processes.
- Add
pkt_tx_delay
parameter inconfig.ini
. - Add
tx_csum_offoad_skip
parameter inconfig.ini
. @JayathS
- Nginx:
- Upgrade to 1.16.1.
- Redis:
- Upgrade to 5.0.5
- Tools:
- Fix the crash bug while excute
ff_netstat -n
. - IPv6 supported.
- Add
make install
, and you can useff_<tool_name>
to run F-Stack tools. ff_traffic
support-P <max process id>
to show traffic info of all processes.ff_top
support-P <max process id>
to show cpu usage of all processes.- All tools can work in one time.
- DPDK:
- Upgrade to 18.11.5 LTS.
2019.11 F-Stack v1.13
- F-Stack lib:
- Fix some bugs.
- Add interface
ff_dup
,ff_dup2``ff_ioctl_freebsd
,ff_getsockopt_freebsd
,ff_setsockopt_freebsd
. - Initial parameter
proc-type
can be NULL, default "auto". - Add "idle_sleep" parameter to reduce CPU usage when no pkts incomming, add
base_virtaddr
parameter for some vms. - Add arch arm64 compiler options.
- Support Container(Docker).
- Support vlan.
- Nginx:
- Fix some bugs.
- Hook
getpeername
,getsockname
,shutdown
. - Support "master_process off".
- Redis:
- Reset cpu affinity when new process forked.
- Tools:
- Add
traffic
tool.
- DPDK:
- Upgrade to 17.11.4 LTS.
2018.5 F-Stack v1.12
- Fixed some bugs.
- Nginx: host event supported.
- kern_timeout: decrease the cpu usage of timer.
- DPDK: upgrade to 17.11.2 LTS.
2017.11 F-Stack v1.11
- Intel DPDK network I/O module.
- FreeBSD Network Stack.
- Nic offload: checksum(IP/TCP/UDP), TSO, VLAN, etc.
- Network tools: sysctl, ifconfig, route, netstat, top, etc.
- Firewall supported: ipfw.
- Netgraph supported: ngctl.
- Posix-like API: socket,event.
- Coroutine API.
- Python bindings for F-Stack: pyfstack.
- App: Nginx/Redis supported.