2
ドライバレベルでパケット操作をテストします。必要に応じて、既存のドライバコードを変更するはずです。 NICはRealtek 8101Eです。パケットをネットワークカードに送信する前にパケットを変更する方法
私はドライバの流れを見て、自分のデータをネットワークに送信する直前に自分のデータをパケットに追加したいと思っています。だから私はNICがパケットの所有権を取る直前に、ソースを読んでいます。
ドライバコードを変更する必要があるのは、後で新しいデータを書き込むために他のハードウェアレジスタを使用する必要があるからです。
xxx_xmit()
機能は、送信パケットを変更する適切な場所にする必要がありますか?xxx_xmit()
機能でパケットマングリングコードを直接追加することに他の意味がありますか?
たとえば、追加のデータを埋めるためにハードウェアレジスタを使用する必要がある場合は、netfilterフックでアクセスすることができます(POST ROUTING )。 – Haswell
問題がない場合は、ioremapを物理アドレスと一緒に使用して、たとえば次のように読み書きします。char * p = ioremap(ADDRESS、LEN); p [0] = 0x200; –
アドレスをハードコーディングしたくない場合は、モジュールパラメータを使用してください。 –