@@ -48,7 +48,7 @@ F-Stack 导出 **80+ 个公开符号**,分为以下几大类:
4848│ │
4949│ 8. 零拷贝 Mbuf (3 个) │
5050│ ff_zc_mbuf_get / ff_zc_mbuf_write │
51- │ ff_zc_mbuf_read / ... │
51+ │ ff_zc_mbuf_read (暂未实现) / ... │
5252│ │
5353│ 9. 多线程支持 (2 个) │
5454│ ff_pthread_create / ff_pthread_join │
@@ -246,7 +246,7 @@ struct ff_zc_mbuf * ff_zc_mbuf_get(uint16_t len);
246246
247247ssize_t ff_zc_mbuf_write(int fd, struct ff_zc_mbuf *zm);
248248ssize_t ff_zc_mbuf_read(int fd, struct ff_zc_mbuf *zm);
249- // 零拷贝 I/O
249+ // 零拷贝 I/O 【注】ff_zc_mbuf_read 暂未实现,后续考虑支持
250250```
251251
252252** 日志接口** :
@@ -490,7 +490,9 @@ F-Stack 提供 Linux 兼容的系统调用接口,但底层依赖 FreeBSD 协
490490| 发送 | ff_send() | send() | flags: MSG_MORE 等 |
491491| 接收 | ff_recv() | recv() | 同上 |
492492| 发送到 | ff_sendto() | sendto() | UDP only |
493+ | 发送消息 | ff_sendmsg() | sendmsg() | 支持 msghdr 控制信息 |
493494| 接收自 | ff_recvfrom() | recvfrom() | UDP only |
495+ | 接收消息 | ff_recvmsg() | recvmsg() | 支持 msghdr 控制信息 |
494496
495497### 2.3 事件多路复用映射
496498
@@ -739,29 +741,25 @@ ff_init(argc, argv)
739741#### ** 进程启动脚本示例**
740742
741743``` bash
742- #! /bin/bash
743- # start.sh - 启动多进程 F-Stack
744-
745- CONFIG_FILE=" config.ini"
746- LCORE_MASK=0x0f # 使用核心 0-3
747-
748- # 计算进程数 = lcore_mask 中设置的位数
749- NUM_PROCESSES=4
750-
751- # 启动主进程
752- export proc_type=primary
753- export proc_id=0
754- ./app ${CONFIG_FILE} -l ${LCORE_MASK} &
755- sleep 5 # 等待主进程初始化完成
756-
757- # 启动从进程
758- for i in $( seq 1 $(( NUM_PROCESSES- 1 )) ) ; do
759- export proc_type=secondary
760- export proc_id=$i
761- ./app ${CONFIG_FILE} -l ${LCORE_MASK} &
762- done
763-
764- wait # 等待所有进程
744+ # 使用 F-Stack 自带的 start.sh 启动(推荐方式)
745+ # start.sh 参数说明:
746+ # -c [conf] 配置文件路径 (默认 config.ini)
747+ # -b [bin] 应用程序路径 (默认 ./example/helloworld)
748+ # -o [args] 传递给应用的额外参数
749+
750+ # 示例: 使用 config.ini 启动自定义应用
751+ bash start.sh -c config.ini -b ./app
752+
753+ # start.sh 会自动完成以下工作:
754+ # 1. 读取 config.ini 中的 lcore_mask,计算需要启动的进程数
755+ # 2. 启动主进程: ./app --conf config.ini --proc-type=primary --proc-id=0
756+ # 3. 等待 5 秒后依次启动从进程:
757+ # ./app --conf config.ini --proc-type=secondary --proc-id=1
758+ # ./app --conf config.ini --proc-type=secondary --proc-id=2
759+ # ...
760+
761+ # 如需传递额外参数给应用:
762+ bash start.sh -c config.ini -b ./app -o " --extra-arg value"
765763```
766764
767765### 4.2 进程间通信 (IPC)
@@ -1172,7 +1170,9 @@ symmetric_rss = 1 # 双向连接到同一队列
11721170| ** arp** | ARP 表查询 | 直接读内存 | ` arp -a ` |
11731171| ** ipfw** | 防火墙规则 | FF_IPFW_CTL | ` ipfw add ... ` |
11741172| ** knictl** | 虚拟网卡控制 | FF_KNICTL | ` knictl set-rate ... ` |
1175- | ** traffic** | 流量统计导出 | FF_TRAFFIC | ` traffic --json ` |
1173+ | ** traffic** | 流量统计导出 | FF_TRAFFIC | ` traffic -p <proc_id> -d <secs> ` |
1174+ | ** ndp** | IPv6 邻居发现 | ioctl (SIOCGNBRINFO_IN6) | ` ndp -C <proc_id> -a ` |
1175+ | ** ngctl** | Netgraph 控制 | FF_NGCTL | ` ngctl -p <proc_id> list ` |
11761176
11771177### 6.2 应用集成接口
11781178
0 commit comments