10 个版本
使用旧的 Rust 2015
0.1.5 | 2018 年 8 月 12 日 |
---|---|
0.1.4 | 2018 年 8 月 8 日 |
0.1.0 | 2018 年 7 月 31 日 |
0.0.6 | 2018 年 7 月 18 日 |
0.0.1 | 2017 年 6 月 1 日 |
#3 在 #mempool 中
每月 240 次下载
用于 18 个 crate (17 个直接)
23MB
602K SLoC
dpdk-sys
dpdk-sys 是一个 Rust crate,它为 DPDK 提供了 FFI 绑定。
版本控制
当前的绑定是为 DPDK 18.05 构建的。要重新构建绑定,请运行 tools/recreate-bindings
。即使可以生成绑定,它们也被检入。将它们作为 Cargo build.rs 的一部分构建已被证明过于脆弱,主要是因为 DPDK 的复杂性以及需要对其进行修补以与 musl libc 一起工作以及在 Mac OS X 上进行编译的需要。
注意
函数 rte_vlog
没有导出,因为它使用了 va_list
;此宏映射到不同平台的不同代码。当在 Linux 上使用 musl 时,它可以支持如下:-
pub type va_list = __builtin_va_list;
pub type __builtin_va_list = [__va_list_tag; 1usize];
#[repr(C)]
#[derive(Copy, Clone)]
#[derive(Debug)]
pub struct __va_list_tag
{
pub gp_offset: c_uint,
pub fp_offset: c_uint,
pub overflow_arg_area: *mut c_void,
pub reg_save_area: *mut c_void,
}
impl Default for __va_list_tag
{
fn default() -> Self
{
unsafe { zeroed() }
}
}
希望有一天,像这样的代码最终会出现在 libc
crate 中,但这不太可能,因为无论如何使用 va_list
都非常困难。
https://stackoverflow.com/questions/38156867/how-to-direct-packets-belonging-to-a-tcp-connection-to-a-specific-lcore-in-dpdk/39708686 https://galsagie.github.io/2015/02/26/dpdk-tips-1/
许可
本项目的许可证为 MIT。
依赖关系
~3MB
~85K SLoC