#dpdk #distributor #packet #networking

dpdk-packet-distributor

DPDK 的包分发框架包装器,支持从属逻辑核心和服务逻辑核心

2 个版本

使用旧的 Rust 2015

0.1.1 2018 年 7 月 31 日
0.1.0 2018 年 7 月 31 日

#2 in #distributor

AGPL-3.0

5.5MB
152K SLoC

C 143K SLoC // 0.1% comments Rust 7.5K SLoC // 0.1% comments Shell 610 SLoC // 0.2% comments Python 249 SLoC // 0.2% comments Forge Config 103 SLoC // 0.1% comments RPM Specfile 19 SLoC

[](此文件是 .cargo 的一部分。它受此发行版顶级目录中及在 https://raw.githubusercontent.com/lemonrock/.cargo/master/COPYRIGHT 中找到的 COPYRIGHT 文件中的许可条款约束。.cargo 的任何部分,包括此文件,不得复制、修改、传播或分发,除非根据 COPYRIGHT 文件中的条款进行。) [](版权 © 2016 .cargo 的开发者。请参阅此发行版的顶级目录中的 COPYRIGHT 文件及 https://raw.githubusercontent.com/lemonrock/.cargo/master/COPYRIGHT。)

.cargo

.cargo 是一个简单的仓库,其中包含创建 crate 时有用的常见文件。它允许跨项目使用统一的格式化和 clippy 风格。它打算作为子模块嵌入,并将各种文件符号链接到适当的位置。

许可

本项目的许可协议为 MIT。


lib.rs:

#dpdk-global-allocator DPDK 的包分发框架包装器,支持从属逻辑核心和服务逻辑核心。

此 crate 的用户应创建一个 PacketDistributorControllerLoop 实例,然后使用 DPDK 的从属逻辑核心或服务逻辑核心重复运行它。此特定循环实现将数据包分发到工作者 但不会 处理返回的数据包。

DPDK 的底层代码在创建时从不预留也不释放内存...这可能会限制此框架的有用性。

虽然 DPDK 支持 AArch64 的 Linux、ARM v7、PowerPC 64 位(近期)和 x86-64,以及 x86-64 的 FreeBSD,但只有 Linux x86-64 可以编译。

已经进行了一些工作来尝试保持与 FreeBSD 和其他架构的兼容性,但这尚未维护。

依赖项