[Armadillo:07509] Re: armadillo420 ルーティングテーブルの更新周期と更新中の動作について
内山光公
email@hidden
2011年 9月 3日 (土) 14:04:05 JST
Yasushi SHOJI 様
ありがとうございました。がんばって読んでみます。
内山
At Wed, 31 Aug 2011 14:58:25 +0900,
内山光公 wrote:
>
> 質問1
> linux-2.6.x/net/ipv4/route.c の中に
> static int ip_rt_gc_interval __read_mostly = 60 * HZ;
> という変数定義を見つけたのですが、ここに定義されている60という値がルー
ティ
> ング
> テーブルの更新周期で、60秒をあらわしているのでしょうか?
そうです。routing table のベージコレクタが動く間隔です。60秒から 120秒
の間に動きます。詳しくは↓こちら
http://book.chinaunix.net/special/ebook/oreilly/Understanding_Linux_Network_
Internals/0596002556/understandlni-CHP-33-SECT-7.html#understandlni-CHP-33-S
ECT-7.3
> 質問2
> ルーティングテーブルを更新中に届いたパケットのルーティング処理はどのよう
な
> 動きを
> するのでしょうか?
> 一般的に考えると更新中はパケットのルーティングを一時停止するように思うの
で
> すが。
routing table を呼び出す側は、rcu によって保護されているようです。です
ので、更新が終るまでは、古い情報が見えるはずです。rcu_read_lock で
route.cの中を検索すると見付かると思います。たとえば↓
http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.26.y.git;a=blob;f
=net/ipv4/route.c;h=96be336064fb1f5f3851cb440a051e2c190de617;hb=HEAD#l283
--
yashi
armadillo メーリングリストの案内