ax-net 0.8.0

Unified network stack for TGOSKits (ArceOS, StarryOS, Axvisor)
docs.rs failed to build ax-net-0.8.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: ax-net-0.5.14

Unified network stack for TGOSKits systems.

ax-net provides the socket-facing API used by kernels and syscall layers, while delegating TCP/IP protocol mechanics to smoltcp. The crate exposes TCP, UDP, raw IPv4/IPv6 sockets, Unix domain sockets, optional vsock, DNS, DHCP helpers, readiness polling, and interface/control-plane queries.

Architecture

The stack intentionally uses one smoltcp Interface and one global SocketSet. Multiple physical or virtual devices are aggregated below that protocol core by router::Router, which acts as a multi-device smoltcp Device. This keeps socket ownership, port tables, listen queues, and routing decisions centralized instead of duplicating socket state per NIC.

Polling Model

Protocol progress is driven by the dedicated net-poll worker. Socket methods request progress with request_poll() and then rely on poll/waker readiness; they must not synchronously drive the whole protocol stack from application hot paths. This preserves the single-owner smoltcp model and avoids lock re-entry between socket operations and interface polling.

Main Modules

  • service: owns the smoltcp interface, net-poll flow, and control plane.
  • router: aggregates devices, route lookup, loopback, and packet queues.
  • socket, tcp, udp, raw: POSIX-like IP socket surface.
  • listen_table, orphan, wrapper: side tables around smoltcp sockets.
  • unix and vsock: local transports outside the smoltcp IP path.