これまでのところ、デバイスドライバーでファイル操作構造のみを使用しています。システムコールopen&read、writeを使用します。
net_device_opsを使用してデバイスドライバを開き、データを送信する方法は?ユーザープログラムがそれと相互作用するためのネット上の参照例はありますか?
これまでのところ、デバイスドライバーでファイル操作構造のみを使用しています。システムコールopen&read、writeを使用します。
net_device_opsを使用してデバイスドライバを開き、データを送信する方法は?ユーザープログラムがそれと相互作用するためのネット上の参照例はありますか?
質問がよくわからないので、答えがわからない場合はお知らせください。
.ndo_open
、、、.ndo_stop
の関数が定義されているようです.ndo_start_xmit
。 を使用してインターフェースを構成するか、ifconfigを使用してインターフェースにアドレスを割り当てる .ndo_open
ときに、カーネルによって呼び出されます。モジュールを削除したとき、またはを使用してインターフェイスをシャットダウンした場合に、カーネルによって呼び出されます。 ifconfig up
.ndo_stop
ifconfig down
ifconfigの説明は次のとおりです:http: //linux.die.net/man/8/ifconfig
.ndo_start_xmit
ソケットがパケットの送信に使用されるときに、カーネルネットワークスタックによって呼び出されます。したがって、を使用してデータを送信する.ndo_start_xmit
には、ソケットを作成し、適切な宛先アドレスを割り当て、ソケットを介してデータを送信する必要があります。IPを使用している場合は、netperfやiperfなど、パケットの送信を簡単に使用できるツールがあります。