From: KUROSAWA T. <fwk...@mb...> - 2007-03-10 09:49:41
|
黒沢です. linux-2.6.19 に対するパッチで,policy routing (CONFIG_IPV6_MULTIPLE_TABLES) を有効にすると,ALL_XCAST6_ROUTERS への経路が参照されなくなるために XCAST6 パケットが正しく飛ばない という問題がありました. route コマンドで ALL_XCAST6_ROUTERS への経路を追加すると,カーネ ルが自動で追加する経路が乗るテーブルよりも優先度の低いテーブルに 経路が追加されることになります.このため,ALL_XCAST6_ROUTERS への 経路は優先度の高いテーブルにある ff00::/8 の経路が使われることに なり,XCAST6 パケットが正しくルーティングされないことになります. # ff00::/8 の経路はインタフェースの up で自動的に追加されます. この問題を解決するために,ALL_XCAST6_ROUTERS への経路を, xcst6tnl0 の up 時にカーネル内部で自動的に,ff00::8 と同じ優先度 のテーブルに追加してしまうことにしました.route add ... で追加す る必要はなくなります.XCAST6 の設定でroute add ... を入れたまま にしておくと,policy routing 無効のカーネルではエラーが出るかも しれません. この修正が入っているのは net/ipv6/addrconf.c rev.1.11 からです. xcst6tnl? かどうか調べるのに strncmp() を使っていて格好わるかっ たりしますが,もっといい修正を思いついたら直します. |