カーネルにネットワークデバイス通知を登録するには、次のコマンドを使用しています。
netdev_rx_handler_register(dev, my_handler, data)
ネットワークSKBを受信したら、それを確認し、ethertypeが設定されている場合はETH_P_ARP
それを印刷します。skb->data
これにはARP情報を含める必要がありますが、skb->len
ARP要求の長さに対応するバイトも含めて、すべてのバイトが0に設定されます。
通常のPCでは動作し、ARPフィールドは正しく印刷されますが、リモートエンタープライズサーバーでは失敗します。
どちらの環境でもUbuntu 22.04.3 LTSと5.15.0-87-genericを使用しています。
ネットワークデバイスに関する問題ですか、それともシステムレベルの問題ですか?