公告

FujoOS公布日延期,以仓库发布为准

文档 项目 网络线

网络线

一门新语言如果只用玩具样例验证,说明不了什么。网络是一个好的压力面,因为它同时要求两样东西:字节级的精确契约(正好是 L0 单一真源要收掉的那类重复),和能力边界(正好是 capability 要表达的那类约束)。

四条结论先行

  • 可行性已证 —— 用户态 Loment 经 syscall4/6 直接发 0x8A04–06,与 C demo 共用同一 ABI(m124-net 回归 PASS)。不需要改内核就能开工。
  • 落点明确 —— FujoOS 没有网络栈,只有 virtio-net 裸驱动加每个 demo 各自手搓的 IP / UDP / TCP 头。那些手搓的头,正是 L0 要收掉的重复。
  • 边界清楚 —— 范围是用 Loment / Potato 写用户态网络层(编解码、校验和、UDP 往返),不做内核协议栈的 Loment 化。
  • 判据不软化 —— 任何声明为“完成”的东西,都必须给出可重放的命令与输出。

现状基线(实测事实)

现状
网卡只有 virtio-net 裸驱动,无协议栈;3 个原语(info / tx / rx)
用户 ABI原生 opcode 0x8A04–06(帧级 tx/rx ≤ 1514 B)
POSIX socket仅名字占位,dispatch 返回 -ENOSYS
服务模型srv_net 只存在于文档里
端口 / socket 能力无——现有能力表只管 AI 动作
回归UDP 回环 PASS;宿主→客体 TCP PASS;出向 TCP 响应被 slirp 丢弃(已记录)

范围(明确写出不做什么)

在范围内 不在范围内
用户态网络层:编解码、校验和、UDP 往返 内核协议栈的 Loment 化(受阻,见网络线宪章)
用 .lom 单源生成头部布局与常量 内核侧 net.rs 的改动(属既有独占范围)
用 capability 声明的端口与目标域 完整 TCP 状态机与拥塞控制
一句话: 网络线是语言线的压力测试场,不是第二份内核工程。内核侧的网络现状另见 架构 · 网络栈