#netlink #libmnl #api-bindings

mnl

为 libmnl 提供安全抽象,libmnl 是一个针对 Netlink 开发的最小化用户空间库

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 日

#353Unix API

Download history 4799/week @ 2024-03-14 7074/week @ 2024-03-21 3312/week @ 2024-03-28 4408/week @ 2024-04-04 5040/week @ 2024-04-11 3491/week @ 2024-04-18 3913/week @ 2024-04-25 4097/week @ 2024-05-02 3891/week @ 2024-05-09 5641/week @ 2024-05-16 4520/week @ 2024-05-23 3640/week @ 2024-05-30 3319/week @ 2024-06-06 4215/week @ 2024-06-13 4235/week @ 2024-06-20 2266/week @ 2024-06-27

14,742 每月下载量
用于 nftnl

MIT/Apache

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