MoonBit Netlink codec, typed Linux network observation and replay
moon run examples/kernel_replay --target wasm-gc
moon run examples/replay --target wasm-gc
moon run examples/kernel_replay --target js
moon run examples/family_replay --target wasm-gcmoon run cmd/moonnet --target native -- snapshot
moon run cmd/moonnet --target native -- snapshot --record snapshot.jsonl
moon run cmd/moonnet --target native -- replay snapshot.jsonl
moon run cmd/moonnet --target native -- watch 5 changes.jsonl
moon run cmd/moonnet --target native -- demo
moon run cmd/moonnet --target native -- family nlctrl --record controller.jsonl
moon run cmd/moonnet --target native -- family-replay controller.jsonl| 包 | 能力 |
|---|---|
| wire | 报文头、四字节对齐、原生端序、TLV/嵌套属性、未知字节保留 |
| route | IPv4/IPv6 四类对象、多路径下一跳与权重、ACK/扩展错误、DONE |
| tracker | seq 相关 dump 事务、部分结果拒绝、事件状态与失效原因 |
| journal | JSONL v1、显式端序、十六进制报文与 loss 记录 |
| genl | Generic envelope、family/operation/group 元数据、metadata+ACK 事务 |
| replay | 增量记录/JSONL 重放、丢失与拒绝计数、隔离的状态视图 |
| native | Linux socket/poll/recvmsg、完整 datagram、内核发送者检查、关闭与自动 finalizer |
| scenarios / fixtures | 自编合成场景 / 本项目录制的真实 Linux 测试数据 |
import {
"Magic486/moonnetlink/native",
"Magic486/moonnetlink/route",
}fn main raise {
let socket = @native.Socket::open()
defer socket.close()
let capture = socket.dump(@route.Links)
for event in capture.events { println(event.to_json().stringify()) }
}moon add Magic486/moonnetlinkmoon check --target wasm-gc --deny-warn
moon test --target wasm-gc --deny-warn
moon test --target js --deny-warn
moon fmt --check
python scripts/verify-portable.pymoon check --target native --deny-warn
moon test --target native --deny-warn
moon build cmd/moonnet --target native
python3 scripts/linux_integration.py
python3 scripts/verify-package.pyInstall
Download zipMoonBit Netlink codec, typed Linux network observation and replay