微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从用户空间访问sk_buff

我正在使用一个开关。 数据包通过一个特殊的千兆位端口进入内核,每个数据包前面有一个标题,告诉你数据包最初进入的是什么交换机端口。

我正在研究一个协议,要求我知道端口以响应数据包 – 您可以想象电源分配,OAM,802.1X等都有这个问题。

我将交换机端口号存储在sk_buff中的一个新字段中。 没问题。

但是,在用户空间中,我使用recvfrom接收数据包,并且无法访问sk_buff。 我可以访问sll_ifindex,所以我可以告诉哪个接口(甚至是VLAN),数据包进来(比如说eth0.2),但是由于所有的数据包都进入了特殊的千兆位端口,这并不是我所需要的。 我需要原来的端口。

如何从用户空间访问Linux内核中已注册的I2C器件

PCIe驱动程序 – 用户空间如何访问它?

如何在Linux中中断用户间的应用程序

用户空间中的ALSA PCM播放设备

如何在用户空间和内核空间之间共享内存

有没有办法从sockaddr回溯到sk_buff? 由于数据包正在被复制,所以我无法访问前面的字节。 至less现在我还没有使用skbuff。 我可以拿出一些片状的东西,比如保持这个信息的一个单独的队列,并通过一个单独的通道或其他东西进行通信,但这似乎有问题。

想法?

来自用户空间Linux的IRQ处理

如果内核支持IPv6,如何从用户空间进行testing?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐