在netdev_queue中的TCP / IP帧之前插入特定ethertype的以太网帧

时间:2013-06-27 12:21:01

标签: linux network-programming linux-device-driver

我们开发了一种用于电力线通信的专用集成电路。该芯片具有以太网接口。如果ASIC接收到包含TCP / IP或ARP有效载荷的以太网帧(ethertypes 0x0800 IPv4,0x0806 ARP和0x86DD IPv6),它只是将帧转发到电源线上,并在另一个方向上执行相同操作。我们将此类框架称为数据框

如果ASIC接收到特定ethertype的以太网帧(我们使用0x88b5分配给实验//在本地网络上公共使用),它会消耗此帧本身。这些帧包含ASIC的配置设置。我们将这些配置框架称为

芯片一端连接到以太网LAN,另一端连接到电源线。所以它基本上是两个网络的桥梁。 ASIC要求对通过它的数据帧进行限制。这是因为电力线上的速度比100 Mbps以太网小100倍,并且因为ASIC每秒可以处理的数据帧数量有限。

我们使用原始套接字构成配置框架,并通过以太网将其发送到ASIC。有没有一种方法,每当配置帧(0x88b5),它在netdev_queue中的所有待处理的数据帧(ethertypes 0x0800,0x0806,0x86dd)之前排队?

这可以通过使用hacks& amp;在内核模块中挂钩?

我们在这里遇到了类似的问题(虽然标记不正确):Setting up priority of packets that are being transmitted over the network

0 个答案:

没有答案