電力線通信用の特定用途向け集積回路を開発しました。チップにはイーサネット インターフェイスがあります。ASIC が TCP/IP または ARP ペイロード (イーサタイプ 0x0800 IPv4、0x0806 ARP、および 0x86DD IPv6) を含むイーサネット フレームを受信した場合、ASIC は単にフレームを電力線に転送し、反対方向でも同じことを行います。このようなフレームをデータ フレームと呼びます。
ASIC が特定のイーサタイプのイーサネット フレームを受信した場合 (ローカル ネットワークで実験的//パブリックな使用のために割り当てられた 0x88b5 を使用します)、ASIC はこのフレーム自体を消費します。これらのフレームには、ASIC の構成設定が含まれています。これらを構成フレームと呼びます。
チップは一方の側でイーサネット LAN に接続され、もう一方の端で電源ラインに接続されます。したがって、基本的に2つのネットワークをブリッジします。ASIC では、通過するデータ フレームのスロットリングが必要です。これは、電力線の速度が 100 Mbps イーサネットの 100 分の 1 であるという事実と、ASIC が 1 秒あたりに処理できるデータ フレームの数が制限されているためです。
raw ソケットを使用して構成フレームを形成し、イーサネット経由で ASIC に送信します。構成フレーム(0x88b5) が netdev_queue 内の保留中のすべてのデータ フレーム(ethertypes 0x0800、0x0806、0x86dd)の前に常にキューに入れられる方法はありますか?
これは、カーネルモジュールのハックとフックを使用して実装されたサポート機能を介して実行できますか?
同様の質問に出くわしました (不適切にタグ付けされていますが) ここで:ネットワーク経由で送信されるパケットの優先順位を設定する