1 个不稳定版本
0.1.0 | 2020 年 2 月 12 日 |
---|
#51 在 #显示
97KB
2K SLoC
ip-command
Linux ip(8) 命令的 Rust 包装器。由 Tokio 支持,具有完整的 async/await 支持。
为什么?
- Rust 对 netlink 的支持不成熟。
- 为什么我的应用程序需要直接与内核通信?
- 无处不在,可在所有平台上使用,无需分发二进制文件。
- 不太可能成为性能瓶颈,如果是这样,你可能与内核的通信过于频繁。
- 不依赖于内核数据结构,提高了可移植性。
状态
iproute2 工具具有大量可调节的旋钮和开关,该项目虽然提供了框架,但尚未支持底层工具的所有功能。随着时间的推移,这种覆盖范围预计将得到改善。
功能覆盖范围
- 网络设备(链路)。
- 设备的协议地址(addr)。
- 地址标签(addrlabel)。
- 路由表条目(route)。
- 路由策略规则(rule)。
- ARP 或 NDISC 缓存条目(neigh)。
- 邻居缓存操作(ntable)。
- IP 上的隧道(tunnel)。
- 管理 TUN/TAP 设备(tuntap)。
- 组播地址(maddress)。
- 组播路由缓存条目(mroute)。
- 组播路由策略规则(mrule)。
- 监控 netlink 消息(monitor)。
- 管理 IPSec 策略(xfrm)。
- 管理网络命名空间(netns)。
- IP 上隧道以太网(l2tp)。
- 管理 TCP 指标(tcp_metrics)。
- 管理标记接口标识符(token)。
- MACsec 设备配置(macsec)。
即将推出的功能
待定
依赖项
~6.5MB
~112K SLoC