- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想将 skb 推送到 Linux 网络堆栈的 prerouting
点。有什么办法吗?我使用了 dev_queue_xmit()
和 netif_rx()
函数,但我认为它们不能将 skb 推送到 Linux 网络堆栈的 prerouting
点。
最佳答案
我不是很清楚 这个 skb 来自哪里。在用户区,有两种方法可以做到这一点。一种是使用 tun
设备(只需将数据包写入)。另一种是使用 libpcap
(它具有发送隐藏在所有接收内容中的原始数据包的鲜为人知的功能)。
你说你想通过注册一个ioctl
(可能意味着添加你自己的ioctl
)然后从用户空间调用ioctl
来做到这一点.当您已经可以在不修改内核的情况下实现这一点时,您为什么要这样做并不是很明显。但是,如果您确实想这样做,我要做的是遵循 tun
驱动程序使用的路径,并执行与 write()
等效的操作在新的 ioctl
中tun
设备。这可能意味着有一个类似于 tun
的接口(interface)作为数据包的来源。我怀疑系统中的数据包需要某种源接口(interface)。
关于c - 如何将 skb 推送到 Linux 网络堆栈的特定点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21086384/
当我在定点 Z3Py 中启用解释生成选项时,我收到包含以下消息的核心转储。 Error setting 'DL_GENERATE_EXPLANATIONS', reason: unknown opti
我正在开发一些代码,可以从 HW 获取浮点或定点数据。目前我们将其作为 float 。 底层API都是定点的。所以我们必须将数据作为定点传回。我们使用的算法是 Cholesky。我想知道为什么我们必须
我有一个关于在 MATLAB 中为 Texas Instruments TMS320C64xx DSP 编写算法的问题: 我在 MATLAB 中草率地实现了我的过滤器。我的目标是使用 MATLAB E
我需要将 float 转换为Q31定点,Q31表示1个符号位,0位表示整数部分,31位表示小数部分。这意味着 Q31 只能表示 [-1,0.9999] 范围内的数字。 根据定义,从浮点转换为定点时,会
我正在使用第 3 方定点 antilog() 函数来计算分贝 out_mag = 10^( in_db/20 ) 的幅度。 antilog() 采用 Q6.25 格式作为输入,并在输出时提供 Q16.
我想将一个定点数(Q31/int32 表示具有 31 个小数位的小数)除以另一个 Q31/int32。我想计算z = y/x,知道abs(x)>abs(y)。因此,z<1,因此可以表示为另一个Q31/
我是一名优秀的程序员,十分优秀!