[Armadillo:07505] Re: armadillo420 ルーティングテーブルの更新周期と更新中の動作について
Yasushi SHOJI
email@hidden
2011年 9月 2日 (金) 14:06:41 JST
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-SECT-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 メーリングリストの案内