ax-net-ng
路径:
os/arceos/modules/axnet-ng类型:库 crate 分层:ArceOS 层 / ArceOS 内核模块 版本:0.5.0文档依据:当前仓库源码、Cargo.toml与 未检测到 crate 层 README
ax-net-ng 的核心定位是:ArceOS network module
架构设计
- 目录角色:ArceOS 内核模块
- crate 形态:库 crate
- 工作区位置:子工作区
os/arceos - feature 视角:主要通过
vsock控制编译期能力装配。 - 关键数据结构:可直接观察到的关键数据结构/对象包括
ListenTableEntryInner、ListenTable、UnixCredentials、Rule、RouteTable、Router、GetSocketOption、SetSocketOption、SocketAddrEx、Shutdown等(另有 8 个关键类型/对象)。
模块结构
consts:内部子模块device:设备抽象、枚举与访问封装general:内部子模块listen_table:内部子模块options:内部子模块router:内部子模块service:内部子模块socket:socket 状态机与收发接口
核心机制
- socket 状态机与连接管理
- 虚拟 socket 通道管理
核心功能
- 功能定位:ArceOS network module
- 对外接口:从源码可见的主要公开入口包括
init_network、init_vsock、poll_interfaces、new、nonblocking、reuse_address、send_timeout、recv_timeout、ListenTableEntryInner、ListenTable等(另有 11 个公开入口)。 - 典型使用场景:主要作为仓库中的专用支撑 crate 被上层组件调用。
- 关键调用链示例:按当前源码布局,常见入口/初始化链可概括为
init_network()->init_vsock()->poll_interfaces()->register_waker()->new()。
依赖关系
直接依赖
axconfigax-driverax-errnoax-fs-ngaxfs-ng-vfsax-halaxioaxpollax-syncax-tasksmoltcp