0

次のprocファイルシステムでコマンドを使用しています

echo 0 > /proc/sys/net/ipv4/ip_forward

注: 上記のコマンドの基本を知りたいわけではありません。カーネル内に入ったときにすべてが起こることを知りたいのです。として、/proc ファイルの 1 つを実装したいと考えています。

ファイルシステムに 0 がエコーされたときからコードをトレースしたい場合は、どうすればよいですか。これを行うと何が起こるかを追跡したい場合です。

カーネル コードのどこでこの 0 が受け入れられ、変更を加えるためにどの値に格納されるかを確認したいと思います。このコマンドを呼び出すと何が起こるか誰か教えてください。詳しく説明してほしい。コマンドの説明は必要ありません。

カーネル パラメーターの変更方法に関する関連記事も問題ありません。私はこれを読みましたが、そこで説明されていません。http://www.linuxjournal.com/article/8381 ありがとう

4

1 に答える 1

1

Linux ツリー (特にネットワーク スタック) で create_proc_entry 関数を検索します。create_proc_entry に渡された名前から ip_forward を作成するファイル (ip4v ドライバーにある必要があります) を見つけます。ファイルが見つかったら、proc_dir_entry 構造体が作成された場所と、その read_proc、write_proc メンバーに割り当てられている関数を確認します。

于 2012-08-22T05:31:05.713 に答える