#bindings #packet #networking

nightly sys rust-netmap

绑定到 netmap - 快速数据包 I/O 框架

6 个版本

使用旧 Rust 2015

0.0.7 2015年3月27日
0.0.5 2015年3月27日
0.0.4 2015年2月27日
0.0.3 2015年1月28日

#198 in #packet

BSD-2-Clause

13KB
308 代码行

rust-netmap

Rust 对 netmap 的绑定,目前版本为 3.17(Linux)。

用法

要在自己的项目中使用,请添加

[dependencies.rust-netmap]
git = "https://github.com/libpnet/rust-netmap.git"
# Uncomment this line where you wish to use features guarded by the
# NETMAP_WITH_LIBS macro in C.
#features = "netmap_with_libs"

到你的 Cargo.toml。

故障排除

缺少 rust_netmap_user

如果你收到包含以下信息的错误消息

error: could not find native static library `rust_netmap_user`, perhaps an -L flag is missing?

你应该检查以下事项

  1. 你已经安装了 clang
    • 如果你没有安装 clang,并且不想安装,你可以修改 build.rs 以使用 gcc(未经测试,但应该可以工作)。
  2. 确保 /usr/include/net/netmap.h/usr/include/net/netmap_user.h 都存在。如果它们不存在,你应该检查你的 netmap 安装。你可以手动添加这些文件或符号链接,或者更改 build.rs 中搜索的路径。
  3. 如果你仍然有问题,请在错误跟踪器中提交问题,并附带 cargo build -v 的输出,你的操作系统和发行版,你如何安装 netmap,以及 clang -DNETMAP_WITH_LIBS -Dstatic= -Dinline= -x c -fPIC -O2 -c /usr/include/net/netmap_user.h -o $(mktemp) 的输出。

依赖项