Linux Kernel(2.6)の実装に関するメモ書き

ARP


Rev.3を表示中。最新版はこちら

IPv4のアドレス解決プロトコルARPの実装にかんするメモ

概要

ARPのアドレス解決処理の多くは他のプロトコルとの共通処理(Neighbour)として実装されている。データ構造などの詳細はアドレス解決プロトコルを参照。ARPの管理テーブルの大元はstruct neigh_table arp_tblになる。


関連ルーチン

arp_rcv()
ARPパケットの受信ルーチン
パケットの内容をチェックして問題なければ、arp_process()を呼びだす。

arp_process()
ARPパケット受信処理のメインルーチン


arp_bind_neighbour(dst)
dstにARPエントリを括り付ける。

NextHop(((struct rtable*)dst)->rt_gateway)に対して__neigh_lookup_errno()を呼び出し、Neighborエントリ(ARPエントリ)を探す。見つかったエントリをdst->neighbourに登録する。もしARPエントリがまだなかった場合は、__neigh_lookup_errno()は新しいエントリを作成してそれを返すので空エントリが登録される。このエントリの状態はNUD_NONE。

このルーチンはrt_intern_hash()から呼び出される。

arp_solicit()


[関連ページ]
アドレス解決プロトコル
ルーティングテーブル
IPv4


最終更新 2006/08/07 17:41:42 - kztomita
(2006/08/07 17:27:33 作成)


リンク
最近更新したページ
検索