/etc/iproute2/rt_tablesの内容は何ですか

/etc/iproute2/rt_tablesの内容は何ですか

ポリシーをルーティングするには、ルーティングテーブルをに追加する必要がありますが、どのように読み取ることが/etc/iproute2/rt_tablesできるのか疑問に思います。カーネルを読むか、またはiproute2ユーザースペースツールを読みますか?

答え1

これはiproute2、コマンドラインで指定されたユーザーフレンドリーな名前をカーネルで使用される整数値に変換するユーティリティによって使用されるフラットファイルです。 「この名前はこの整数です」という一貫したマッピングを維持するために

答え2

これはカーネルによって直接実行されるのではなく、ユーザー空間ツールiproute2によって実行されます。その後、ユーザ空間ツールはシステムコールインタフェースを介してカーネルと対話する。

Routeコマンドのソースコードを調べるのは良い提案かもしれません。実際のカーネルパスアップデートのソースコードは src/linux/kernel_routes.c にあります。

ヘッダーファイル bit/ioctls.h は、カーネルのルーティングを操作するために必要な ioctl コマンドを宣言し、net/route.h ヘッダーファイルは、ルーティング情報をカーネルに渡すのに必要なデータ構造を指定します。

関連情報