2012-03-15 6 views
1

パケットが到着したときにprintkを作成するために、/ net/coreのdev.cでnetif_rx関数を編集します。netif_Rx関数の再編集とそれぞれのモジュールの更新

I called "make" at the kernel's root directory but i don't know witch module was compiled. I need to update the old-module ir order to turn on the changes that i made. 

If i want to see my changes i need to: 

1-make at the kernel's root directory; 
2- make modules; 
3-make bzImage; 
4- insert the new bzImage on the grub file; 
5-Reboot; 

I want to to access directly to the modulean update withou do all that things. 

私を助けてください。

敬具、 リカルド・リベイロ

+0

dev.cはメインカーネルイメージに組み込まれていません。カーネル全体を変更した場合、カーネル全体を再コンパイルする必要があります。 達成しようとしていることは何ですか? – ldx

+0

私は、その機能を犠牲にしているパケットをキャプチャしたいと思っています。私はパケットが到着するたびに通知するためにprintkを挿入します。私は再びカーネルを再コンパイルしてリブートします。変更は成功と一緒に行われました。インターフェースにパケットイーサネットを送り、印刷はしませんでしたが、wiresharkでモニターすれば、パケットは正常に到着しました。何が問題なの? – Ricardo

+0

私はウェブ上で情報を探していましたが、これはnet.cfgファイル内にまだありますが、あまり使われていません。現在、パケットを受信するために使用される関数はnetif_receive_skbです。私にそれを確認できますか?私はまだそれの理由を見つけませんでした。ありがとうございました – Ricardo

答えて

2

は私が正しくあなたの目標を取得する場合、あなたが行うことができます最も簡単なのは、あなたがdev_add_pack()ETH_P_ALLのためのプロトコルハンドラを登録し、独自のカーネルモジュールを実装することです。この方法では、特定のデバイス(pt->devも指定している場合)またはすべてのデバイス(pt->devNULLの場合)の着信パケットをすべて受信します。

+0

ありがとうございます。 veru有用な – Ricardo

関連する問題