4 个版本
0.2.2 | 2022 年 2 月 11 日 |
---|---|
0.2.1 | 2022 年 2 月 11 日 |
0.2.0 | 2019 年 9 月 23 日 |
0.1.0 | 2018 年 8 月 29 日 |
#353 在 Unix API 中
14,742 每月下载量
用于 nftnl
29KB
463 行
mnl
为 libmnl
提供安全抽象,libmnl 是一个针对 Netlink 开发的最小化用户空间库。有关对 C 库的低级别 FFI 绑定,请参阅 mnl-sys
。
这是一个正在进行中的项目,尚未实现 libmnl
的所有功能。请随时提交 PR 来支持您需要的部分!
最初的焦点是支持套接字和响应的解析。到目前为止,覆盖得最好的部分是 mnl_socket_*
和 mnl_cb_run
。然而,netlink 消息仅仅被当作原始字节缓冲区处理。在某个时候添加一些抽象结构可能是有意义的。
选择 libmnl
版本
有关详细信息,请参阅相应 sys crate 的文档:mnl-sys
。此 crate 具有与 sys crate 相同的功能,因此同样适用于此处。
先前/相关工作
crslmnl
crate 是围绕 libmnl
的另一个包装器。在这个阶段,它比这个项目提供了更完整的库抽象。我决定开始一个新的包装器 crate 的几个原因。我不会深入细节,但基本上它不支持我的用例的一部分,而且我对设计选择并不满意。我确保将所有需要的 netlink 合并到 libc
中。我还想有一个单独的 mnl-sys
crate,它是纯 FFI 绑定,没有逻辑或抽象。
许可证:MIT/Apache-2.0
依赖项
~135KB