Compare commits

..
1 Commits
Author SHA1 Message Date
newbieandClaude Code 71c90bb632 fix: uNOS 硬件基线对齐 jb3455b 实测
- 1G 大页规划(×2-4) vs 实机实际 1G=0,须加内核引导参数
- 数据面单核 → 1-2 核:纯转发单核够,叠加 NAT/ACL/QoS 后无余量
- unos-design §2.2 物理口笔误 82576 × 2 → X540-T2 10G × 2
- home-gateway 补「研发机 vs 量产 BOM」分工说明
- §4.0「单核转发无法扩展」限定为 Cloud Edge 目标,与 Home CPE 区分

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-10-10 00:13:26 +08:00
2 changed files with 12 additions and 3 deletions
+5
View File
@@ -60,6 +60,11 @@
## 三、硬件 BOM(最低成本,支持 VFIO)
> **研发机 vs 量产 BOM 的分工(2026-10-03)**:本节是**量产** BOM——目标是 ¥299 售价下的最低成本 + 低功耗(常开设备)。
> **研发/验证机**已就绪:jb3455b = J3455 四核 + **X540-AT2 10G × 2** + 8GB DDR3。
> 两者**不要混**:X540 单价/功耗都高于 82576,对 1 Gbps 产品是过度设计;研发机上的价值是能跑通代码 + 压实测数字,不是出货配置。
> X540 在 jb3455b 上实测 PCIe 2.0 **x2**(≈8 Gbps),对 1G 产品 8 倍余量,不构成约束。
### 选型理由
- **J3355B-ITX**: Apollo Lake 起全系支持 VT-d,这是 Intel 平台最便宜的 VT-d 方案
+7 -3
View File
@@ -161,17 +161,19 @@ Core 0 ─→ lcore 0: Control Plane (main thread)
├── ARP Manager / DHCP Client / Health Monitor
└── CLI (Unix socket)
Core 1 ─→ lcore 1: Data Plane Worker (单核,1G 线速足够)
└── 物理口 (82576 × 2) RSS queue 0
Core 1 ─→ lcore 1: Data Plane Worker (纯转发单核;叠加 NAT/ACL/QoS 后按实测决定是否用 core2)
└── 物理口 (X540-T2 10G × 2, 绑 vfio-pci) RSS queue 0
Graph Pipeline: L2/L3/NAT/ACL/QoS
Per-core Flow Cache + Connection Track Table
(不包含 TCP 栈 — Home CPE 不跑应用层服务)
Core 2 ─→ (非 DPDK) FRR ospfd
Core 2 ─→ 数据面备用核 (状态化/流控压不住时启用) ;否则 (非 DPDK) FRR ospfd
Core 3 ─→ 空闲 / Prometheus 轻量 exporter
```
> **2026-10-03 勘误**:① 原来写 "单核,1G 线速足够" 只在**纯转发**成立——64B 小包打满即 1 Gbps 线速(=1.488 Mpps,算术恒等),叠加 conntrack/NAT/ACL/QoS 后单核无余量,故 core2 预留为第二数据面核;② 物理口笔误 `82576 × 2` 更正为实机 **X540-T2 10G × 2**;③ 管理口用板载 RTL8111(无上游 DPDK PMD,固定归 Linux)。
### 2.3 模块依赖图
```
@@ -320,6 +322,8 @@ void unos_launch_lcores(void) {
✅ 对标 VPP (FD.io) 的 Graph Node 架构,业界验证过
```
> **边界说明(2026-10-03)**:上面 "❌ 单核转发" 针对的是 **Cloud Edge / 多 Gbps 目标**;Home CPE 的 1 Gbps 定位下单核可作为基线(见 §2.2 的 lcore 划分),但这是**性能余量换成本**的取舍,不是"单核更好"——所以 Home CPE 仍保留 core2 作为第二数据面核的退路。
### 4.1 Graph Pipeline 核心数据结构
```c