Skip to content

Commit 813b820

Browse files
committed
Update 2.0 release note.
1 parent 84fa3e7 commit 813b820

1 file changed

Lines changed: 80 additions & 0 deletions

File tree

‎doc/F-Stack_Release_Note.md‎

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,86 @@
33
F-Stack is an open source network framework based on DPDK.
44

55

6+
## 2026.10 F-Stack v2.0
7+
8+
1. F-Stack lib:
9+
10+
- Support single-process multi-thread mode (`thread_mode=1`).
11+
- Add `primary_slim` mode, the primary keeps no rx/tx queue. Ref #1078.
12+
- Add `graceful_reload` for nginx, HUP reload is lossless.
13+
- Support lossless binary upgrade with USR2 under `graceful_reload=1`.
14+
- Dispatch UDP flows across graceful reload.
15+
- Add `drain_ring_size`, `reload_heartbeat_timeout_ms` and `reload_udp_idle_ms` in config.ini.
16+
- Add `idle_loop_interval` in config.ini.
17+
- Add `ff_regist_idle_callback()` and `ff_unregist_idle_callback()`.
18+
- Add LRO offload with software fallback, and improve TSO for IPv6.
19+
- Support runtime MTU change and jumbo frames.
20+
- Add mbuf water-level backpressure. Thanks @Sai-Raveendra-Kandregula
21+
- Add fine-grained TX checksum offload control. Thanks @vincentmli
22+
- Add `extra_eal_args` config option. Thanks @whatmatrix
23+
- Add zero-copy receive `ff_zc_recv()`, and rework `ff_zc_send()` without the magic sentinel.
24+
- Add `FF_KERNEL_COEXIST` for kernel stack coexistence.
25+
- Optimize `ff_rss_check()` with `rte_thash_adjust_tuple()`, and support IPv6.
26+
- Run RSS aware port selection for IPv6 outbound connects.
27+
- Add `ff_regist_packet_dispatcher_context()`. @jinliu777
28+
- Support nanosecond timestamp precision in pcap dump.
29+
- Recognize IPv6 L4 checksum offload flags in `ff_mbuf_tx_offload()`.
30+
- Fix the BBR large-file hang.
31+
- Add a cmocka based unit test framework.
32+
33+
1. adapter
34+
35+
- Add lock-free ring IPC for LD_PRELOAD (`FF_USE_RING_IPC`).
36+
- Map Linux `SO_TIMESTAMP` to FreeBSD. @tarun-t
37+
- Propagate the DPDK mbuf RX timestamp to the FreeBSD mbuf. @tarun-t
38+
- Fix the `ioctl` conflicting types compile error on older glibc.
39+
- Add an addrlen check in `ff_hook_bind()` (#1068).
40+
41+
1. FreeBSD
42+
43+
- Upgrade to FreeBSD-releng-15.0.
44+
- Fix TCP timers never being armed (`callout_when()` was an empty stub).
45+
- Fix EVFILT_TIMER precision of kqueue. Thanks @vanlink
46+
47+
1. ff tools
48+
49+
- Let the F-Stack tools find a stack by themselves (#419). @alberthaolihai
50+
- Let `ff_top` and `ff_traffic` follow a graceful reload.
51+
- Support cross-generation addressing with `-p` and `-g`.
52+
- Fix IPFW crash when the rule list is large. Thanks @chocosnat
53+
- Fix start.sh lcore_mask parsing to ignore commented lines.
54+
- Fix ff tools build error with gcc-15.2.0 in ubuntu-26.04.
55+
56+
1. DPDK:
57+
58+
- Upgrade to DPDK-24.11.8(LTS).
59+
- Fix the secondary process resetting the NIC (#860).
60+
- Fix an infinite loop when a DPDK secondary process restarts. @jinliu777
61+
- Fix the vmxnet3 `rss_key_len` in RSS mode. @WK-Tseng
62+
- Fix build with GCC 15 and DPDK 25.11. @tarun-t
63+
- Bump black, cryptography and pynacl in /dpdk/dts. @dependabot[bot]
64+
65+
1. APP
66+
67+
- Nginx: lossless reload (HUP) and binary upgrade (USR2).
68+
- Nginx: dispatch UDP flows across reload.
69+
- Nginx: fix a SIGSEGV in stream udp proxying.
70+
- Nginx: add a reverse-proxy example with buffer settings.
71+
- Redis: fix the build when the jemalloc configure script is missing (#802).
72+
73+
1. example
74+
75+
- Make helloworld thread-safe for `thread_mode=1`.
76+
- Add a UDP echo server example (#1063).
77+
78+
1. doc:
79+
80+
- Add three-layer architecture docs and knowledge graph.
81+
- Add F-Stack 2.0 preview blogs in Chinese and English.
82+
- Update the nginx guide for graceful reload.
83+
- Document the executable bits and symlink loss when the tree is copied from Windows.
84+
85+
686
## 2025.11 F-Stack v1.25
787

888
1. F-Stack lib:

0 commit comments

Comments
 (0)