From: Junji S. <js...@mc...> - 2005-05-20 18:26:50
Attachments:
vic_2.8ucl1.1.5-5.xc.1.jsato-050520.patch
|
黒澤さん 佐藤です. #もしかしたらすでに対応済みかもしれませんが.... vicにて受信ができるようにしましたのでパッチを送ります. オプション-xでインターフェイス名を指定して,openxcast() 内でADD_MEMBERSHIPしているだけです. それから,V4L+OV511が使えない問題もfixしてあります. といっても,以前動いていたものを単にポートしただけなので 自信はないです :-) 送信の方ですが,Xcast6Send()のsendmsg()は正常に終わって いるのですが,パケットが送出されないです.xcst6tnl0に ff05::10のルーティングエントリを追加してますが,他に何か 必要な設定ってありましすか? |
From: KUROSAWA T. <fwk...@mb...> - 2005-05-21 03:23:55
Attachments:
xsend.c
|
黒沢です. On Sat, 21 May 2005 03:34:28 +0900 (JST) Junji SATO <js...@mc...> wrote: > vicにて受信ができるようにしましたのでパッチを送ります. > オプション-xでインターフェイス名を指定して,openxcast() > 内でADD_MEMBERSHIPしているだけです. どうもありがとうございます.なんかぼろぼろで申しわけありません. > 送信の方ですが,Xcast6Send()のsendmsg()は正常に終わって > いるのですが,パケットが送出されないです.xcst6tnl0に > ff05::10のルーティングエントリを追加してますが,他に何か > 必要な設定ってありましすか? 以下で動くはずですが,これは既に設定してますよね…… /sbin/modprobe ip6_tunnel /sbin/ifconfig xcst6tnl0 up echo 1 > /proc/sys/net/ipv6/xcast6/xcast6_enable /sbin/route add --inet6 ff05::10 dev xcst6tnl0 動作確認として, (a) xsend.c でパケットが出ていくか見てみる (b) xcst6tnl0 に対して tcpdump してみる というのがありそうです. よろしかったら,確認していただけると助かります. |
From: KUROSAWA T. <fwk...@mb...> - 2005-05-22 04:13:34
|
黒沢です. On Sun, 22 May 2005 09:40:22 +0900 (JST) Junji SATO <js...@mc...> wrote: > xsendで試したら,同一リンクのノードに対してはパケットは > 出るのですが,それ以外のノードに対してはパケットは出ません. なるほど.確認どうもありがとうございます. > xcast6_branch()内のip6_route_input_byaddr()で返ってきた > rt6_infoのフラグ判別の部分で,同一リンクではないノードの > 場合,なぜかRTF_UPのフラグが立っていないため,ビットマッ > プがクリアされ,xcast6_forward()に飛んでいないみたいです. > > 同一リンクのノードへのxsend > - dst=B src=A rt6i_flags=10c0001 > ^ > > 違うリンクのノードへのxsend > - dst=C src=A rt6i_flags=200200 > ^ > *ノードCに対するv6 reachabilityはあり,ping6は正常 > に送信されます. 0x200200 = RTF_NONEXTHOP | RTF_REJECT のようです. ノード C に対する reachability はあるとなると,A と C の スコープが違うとか,フィルタの類でそうなっているとかくらい しか今のところ考えつかないです. # ただ,フィルタがルーティングエントリに作用するとは思えない # んですよね. ノード C へはデフォルトルートでない static な経路だったり しますか? |
From: Junji S. <js...@mc...> - 2005-05-22 00:32:34
|
黒澤さん 佐藤です. xsendで試したら,同一リンクのノードに対してはパケットは 出るのですが,それ以外のノードに対してはパケットは出ません. xcast6_branch()内のip6_route_input_byaddr()で返ってきた rt6_infoのフラグ判別の部分で,同一リンクではないノードの 場合,なぜかRTF_UPのフラグが立っていないため,ビットマッ プがクリアされ,xcast6_forward()に飛んでいないみたいです. 同一リンクのノードへのxsend - dst=B src=A rt6i_flags=10c0001 ^ 違うリンクのノードへのxsend - dst=C src=A rt6i_flags=200200 ^ *ノードCに対するv6 reachabilityはあり,ping6は正常 に送信されます. なんでだろう... From: KUROSAWA Takahiro <fwk...@mb...> Subject: Re: [xcast-linux-dev-ja] vic patch - enable to receive Date: Sat, 21 May 2005 12:19:55 +0900 > > 送信の方ですが,Xcast6Send()のsendmsg()は正常に終わって > > いるのですが,パケットが送出されないです.xcst6tnl0に > > ff05::10のルーティングエントリを追加してますが,他に何か > > 必要な設定ってありましすか? > > 以下で動くはずですが,これは既に設定してますよね…… > /sbin/modprobe ip6_tunnel > /sbin/ifconfig xcst6tnl0 up > echo 1 > /proc/sys/net/ipv6/xcast6/xcast6_enable > /sbin/route add --inet6 ff05::10 dev xcst6tnl0 > > 動作確認として, > (a) xsend.c でパケットが出ていくか見てみる > (b) xcst6tnl0 に対して tcpdump してみる > というのがありそうです. > よろしかったら,確認していただけると助かります. |
From: Junji S. <js...@mc...> - 2005-05-22 09:29:24
|
佐藤です. From: KUROSAWA Takahiro <fwk...@mb...> Subject: Re: [xcast-linux-dev-ja] vic patch - enable to receive Date: Sun, 22 May 2005 13:06:54 +0900 > > xcast6_branch()内のip6_route_input_byaddr()で返ってきた > > rt6_infoのフラグ判別の部分で,同一リンクではないノードの > > 場合,なぜかRTF_UPのフラグが立っていないため,ビットマッ > > プがクリアされ,xcast6_forward()に飛んでいないみたいです. > > > > 同一リンクのノードへのxsend > > - dst=B src=A rt6i_flags=10c0001 > > ^ > > > > 違うリンクのノードへのxsend > > - dst=C src=A rt6i_flags=200200 > > ^ > > *ノードCに対するv6 reachabilityはあり,ping6は正常 > > に送信されます. > > 0x200200 = RTF_NONEXTHOP | RTF_REJECT > > のようです. > ノード C に対する reachability はあるとなると,A と C の > スコープが違うとか,フィルタの類でそうなっているとかくらい > しか今のところ考えつかないです. > > # ただ,フィルタがルーティングエントリに作用するとは思えない > # んですよね. > > ノード C へはデフォルトルートでない static な経路だったり > しますか? RAで取得した経路で,netstatで見ると,UGDAのフラグが見えます. v6フィルタはほとんど設定していない :-p ので,上記フラグが セットされないと思うのですが... もしかしたら,環境依存かもしれないので,明日違うネットワーク でも試してみたいと思います. ありがとうございました. |
From: KUROSAWA T. <fwk...@mb...> - 2005-05-24 03:27:31
|
黒沢です. At Tue, 24 May 2005 02:41:20 +0900 (JST), Junji SATO wrote: > で,route.cを見てみたのですが,このフラグってip6_null_entry > のrt6i_flagsのような気がします. そのようですね…… 調査どうもありがとうございます. > と呼ばれるが,該当するエントリがないのでルートエントリ > (ip6_route_table)が返ってきて,ルートエントリに対して > forで回すが,skb->dev->ifindexがxcst6tnl0のifindexのため > デフォルトルートが選択されないのかな,という気がします. とても正しそうに思います. そういえば,以前「アドレスは別にして渡すのに,ifindex は skb->dev の ifindex 使うのはかなりまずそうな気がするなぁ.まぁ問題が出たら 直そう」とか思っていた部分でした. 以下のような感じの手順で直せそうですが,こんな感じでよさそう でしょうか?ほかにアイデアありましたらお願いします. (1) カプセル化されたパケットを受けとったときのインタフェースの ifindex を skb のどこかに覚えておくように変更する (たぶん skb->xcast6 の下). (2) ip6_route_input_byaddr() に ifindex を与える引数を追加する. (3) xcast6_branch() は (1) で覚えておいた ifindex を使って ip6_route_input_byaddr() を呼び出すように変更する. |
From: KUROSAWA T. <fwk...@mb...> - 2005-05-24 14:11:22
Attachments:
linux-2.6.10-xc.patch.gz
|
黒沢です. On Tue, 24 May 2005 13:54:14 +0900 (JST) Junji SATO <js...@mc...> wrote: > > (1) カプセル化されたパケットを受けとったときのインタフェースの > > ifindex を skb のどこかに覚えておくように変更する > > (たぶん skb->xcast6 の下). > > (2) ip6_route_input_byaddr() に ifindex を与える引数を追加する. > > (3) xcast6_branch() は (1) で覚えておいた ifindex を使って > > ip6_route_input_byaddr() を呼び出すように変更する. > > なるほど. > 上記の方法で良いと思います. この方法で修正したパッチを添付します.素の linux-2.6.10 に対する パッチとなっています.よろしければお試しください. # ずいぶん遅い (早い?) 時間にメールを書いていらっしゃるようで # びっくりしてします.あまり無理なさらないでください…… > 覚えておく場所としては,skbの他に,ip6_tnlとかip6_tnl_parmと > かは使えないですかね... SMP の場合にパケットが同時に処理されたりしなければできそうですが, ロックなしでそれが保証できるのかどうかわからないので,上に書いた 通りパケットに憶えさせておくようにしておきました. |
From: Yuji I. <ki...@la...> - 2005-05-25 01:52:25
|
UGです。 ほんんんんんんんんんんんっと、なんにもしてなくてごめんよ。 From: Junji SATO <js...@mc...> Subject: Re: [xcast-linux-dev-ja] vic patch - enable to receive Date: Wed, 25 May 2005 02:47:26 +0900 (JST) > パッチをあてたところ,vicにてパケットが出ることを確認しました! > 対応ありがとうございました. すげー。 > > # ずいぶん遅い (早い?) 時間にメールを書いていらっしゃるようで > > # びっくりしてします.あまり無理なさらないでください…… > > お気遣いありがとうございます. > > 思い立ったが吉日で,アルファさんとのミーティングまでに何とか > 動くところまでは,と勝手に鼓舞しちゃってるだけです :-p > > #それに,ちょうど仕事の方も一段落ついたので 身体だけはきをつけてね。 > で,次はratなんですが,サウンドデバイスがOSSエミュレーションでちゃ > んと認識されているみたいなので,vic同様xcst6tnl0に対してADD_MEMBER > するコードを追加するだけなのかなと思ってます.ただ,ratの方に追加す > るのはしんどそうなので,uclmmbaseに追加しようと思ってますが,いぢ > ちゃりしちゃうと問題が発生しますか? > > あと,ratのベースバージョンをBSD版と同じく4.2.25にあげたいのですが > いかがでしょう? > > 試しに,UCLから取ってきたrat-4.2.25のratディレクトリに対して > rat_4.2.22-2.xc.1.diffを当ててみたのですが,rat.specでrejectされる > くらいであとは問題ないです.なので,rat.specを修正するだけで大丈夫 > のような気がします. 最新版がいい気がします。 ところで、ADD_MEMBERのコードを含めucl*とかBSD組と離れて行っちゃった りしないかな。後からでもいいと思うけど。(これが言いたかった事。) ---- UG |
From: Junji S. <js...@mc...> - 2005-05-25 07:54:03
|
佐藤です. From: Yuji Imai <ki...@la...> Subject: Re: [xcast-linux-dev-ja] vic patch - enable to receive Date: Wed, 25 May 2005 10:52:11 +0900 (JST) > > 試しに,UCLから取ってきたrat-4.2.25のratディレクトリに対して > > rat_4.2.22-2.xc.1.diffを当ててみたのですが,rat.specでrejectされる > > くらいであとは問題ないです.なので,rat.specを修正するだけで大丈夫 > > のような気がします. > > 最新版がいい気がします。 > > ところで、ADD_MEMBERのコードを含めucl*とかBSD組と離れて行っちゃった > りしないかな。後からでもいいと思うけど。(これが言いたかった事。) 基本的にBSDパッチに追加って感じなので,単純に#ifdef Linuxとかでくくっ ちゃえばいいのかなと思ってます. #BSDカーネルだとxcst0で明示的にMLD joinしなくてもOKなんですかね uclmmbaseの方もratのcommonに相当する部分で,こちらも上記同様,BSD 版パッチがベースで,それにappendって感じです. |
From: Junji S. <js...@mc...> - 2005-05-24 17:39:29
|
黒沢さん 佐藤です. From: KUROSAWA Takahiro <fwk...@mb...> Subject: Re: [xcast-linux-dev-ja] vic patch - enable to receive Date: Tue, 24 May 2005 22:57:16 +0900 > > > (1) カプセル化されたパケットを受けとったときのインタフェースの > > > ifindex を skb のどこかに覚えておくように変更する > > > (たぶん skb->xcast6 の下). > > > (2) ip6_route_input_byaddr() に ifindex を与える引数を追加する. > > > (3) xcast6_branch() は (1) で覚えておいた ifindex を使って > > > ip6_route_input_byaddr() を呼び出すように変更する. > > > > なるほど. > > 上記の方法で良いと思います. > > この方法で修正したパッチを添付します.素の linux-2.6.10 に対する > パッチとなっています.よろしければお試しください. パッチをあてたところ,vicにてパケットが出ることを確認しました! 対応ありがとうございました. > # ずいぶん遅い (早い?) 時間にメールを書いていらっしゃるようで > # びっくりしてします.あまり無理なさらないでください…… お気遣いありがとうございます. 思い立ったが吉日で,アルファさんとのミーティングまでに何とか 動くところまでは,と勝手に鼓舞しちゃってるだけです :-p #それに,ちょうど仕事の方も一段落ついたので > > 覚えておく場所としては,skbの他に,ip6_tnlとかip6_tnl_parmと > > かは使えないですかね... > > SMP の場合にパケットが同時に処理されたりしなければできそうですが, > ロックなしでそれが保証できるのかどうかわからないので,上に書いた > 通りパケットに憶えさせておくようにしておきました. なるほど. 勉強になりました. で,次はratなんですが,サウンドデバイスがOSSエミュレーションでちゃ んと認識されているみたいなので,vic同様xcst6tnl0に対してADD_MEMBER するコードを追加するだけなのかなと思ってます.ただ,ratの方に追加す るのはしんどそうなので,uclmmbaseに追加しようと思ってますが,いぢ ちゃりしちゃうと問題が発生しますか? あと,ratのベースバージョンをBSD版と同じく4.2.25にあげたいのですが いかがでしょう? 試しに,UCLから取ってきたrat-4.2.25のratディレクトリに対して rat_4.2.22-2.xc.1.diffを当ててみたのですが,rat.specでrejectされる くらいであとは問題ないです.なので,rat.specを修正するだけで大丈夫 のような気がします. |
From: KUROSAWA T. <fwk...@mb...> - 2005-05-25 14:29:59
|
黒沢です. On Wed, 25 May 2005 12:35:17 +0900 KUROSAWA Takahiro <fwk...@mb...> wrote: > 今までの修正をふまえて,Debian のパッケージを作るにあたっては, > 以下の作業をしようと思います. > > - kernel-patch 修正 > - vic の ADD_MEMBER パッチその他 by 佐藤さん の取り込み ここまで作業しました.例のところのパッチは差し替えました. SHA1 (vic_2.8ucl1.1.5-5.xc.1.diff.gz) = 79c3a4984c7e3b17e744e5bbfcf792cb02975fde です. なお,vic のパッチについては,以下の部分を佐藤さんのパッチから 変更しています. - ADD_MEMBERSHIP するソケットを,受信側のソケットに変更. ADD_MEMBERSHIP は「パケットをわたしにも届けてね」と言うための ものですので,受信側のソケットに対して行うのが正しいと思います. 送信側のソケットにした場合は XCAST6 パケットを受信できないように 思います. - DLOG マクロが未定義だったので,使っている部分を削除しました. - v4l のインデントは,極力オリジナルのものに合わせました. > - rat の ADD_MEMBER パッチ (by 佐藤さん?) の取り込み > + 4.2.25 へバージョンアップ こちらについては何もしていません. |
From: KUROSAWA T. <fwk...@mb...> - 2005-05-25 22:34:13
|
黒沢です. On Thu, 26 May 2005 02:13:51 +0900 (JST) Junji SATO <js...@mc...> wrote: > vicと同様,xcst6tnl0でff05::10にADD_MEMBERSHIPするパッチを作成 > してみました.uclmmbaseのsrc/net_udp.cに対するパッチです. ありがとうございます. > ratにオプションを追加してインターフェイス名orインターフェイス > インデックスをuclmmbaseに渡すのは難しそうだったので,udp_xcast6_init() > 内で行ってます.しかも,安直にprocを使ってしまいました... > かなりしょぼいので参考程度に使ってください :-) カーネルの方で,net/ipv6/mcast.c の ipv6_sock_mc_join() 内部が if (ifindex == 0) { struct rt6_info *rt; rt = rt6_lookup(addr, NULL, 0, 0); if (rt) { dev = rt->rt6i_dev; dev_hold(dev); dst_release(&rt->u.dst); } } else dev = dev_get_by_index(ifindex); ということをやってくれているので,ifindex を調べずに 0 で渡しちゃって 良いように思います. 0 にして渡しても動作するようでしたら,vic の方も直してしまおうと 思います. > それから,rpmbuildしたときに,*debuginfo*.rpmが作られてしま > うので,各specファイルに > > %define debug_package %{nil} > > を入れた方がいいかもです. よくわからずに作業しているのですが,debuginfo のパッケージは作らな いほうが良いのでしょうか? > あと,uclmmbase.spcに,"--enable-ipv6"を追加しなくてはいけない > ような気がします. おお,それはまずいですね.追加するようにします. |
From: KUROSAWA T. <fwk...@mb...> - 2005-05-26 14:52:18
|
黒沢です. On Thu, 26 May 2005 13:52:13 +0900 (JST) Junji SATO <js...@mc...> wrote: > で,早速0にして試したみましたが,vic/ratとも受信できています. > なので,ifindexを取得するコードは不要です. 安心しました.テストどうもありがとうございます. > - ifaddr.hのインクルード > - if_nametoindex()部分 > - vicの-xオプション部分 > > #単純にADD_MEMBERSHIPを追加するだけでOKですね この部分を外したパッチを作成しました. vic と rat (というか libuclmmbase) については ADD_MEMBERSHIP を 有効にしてあります. > > > それから,rpmbuildしたときに,*debuginfo*.rpmが作られてしま > > > うので,各specファイルに > > > > > > %define debug_package %{nil} > > > > > > を入れた方がいいかもです. > > > > よくわからずに作業しているのですが,debuginfo のパッケージは作らな > > いほうが良いのでしょうか? > > あってもいいでしょうが,debuginfoではないRPMにも*debuginfo*関連の > ライブラリが含まれてくるので,混乱を招くのかなと. なるほど. debuginfo なファイルが入らないように,%files の部分の指定を直しました. usr/lib/* とか書いていたのがまずかったようです. 以上をまとめて,パッチや spec ファイルを更新したのは,以下のパッケー ジです: uclmmbase libxcast rat vic # kernel-patch と xcgroup 以外とも言います :) |
From: Junji S. <js...@mc...> - 2005-05-27 17:15:04
|
佐藤です. From: KUROSAWA Takahiro <fwk...@mb...> Subject: Re: [xcast-linux-dev-ja] vic patch - enable to receive Date: Fri, 27 May 2005 21:19:24 +0900 > > xcast-linux.sourceforge.net > > > > にディレクトリを掘って,そこに置くってかたちでいいで > > すかね? > > File Release System を使うほうが良いようです. あ,じゃぁ,そうしましょう. > > kernel/ > > Debian/ > > sources/ > > packages/ > > FC/ > > sources/ > > RPM/ > > SRPM/ > > > > ってな感じで. > > sources のディレクトリは,ディストリビューション非依存にしませんか? > あと,kernel のディレクトリに入れるものは,sources の下でよさそうに > 思います. 上のはおもいっきり思いつきなので,黒沢さんの案でOKです. では,CPUアーキテクチャはとりあえずi386とi686でいいです か?noarchもいりますかね. > まとめると,自分としては以下がよさそうに思います. > > sources/ > Debian-sarge/ > FC/ > RPMS/ > SRPMS/ FC3とかにしてもいいですか?後続のリリースのために. FC3/ RPMS/ SRPMS/ FC4/ RPMS/ SRPMS/ ... もしくは, FC/ 3/ RPMS/ SRPMS/ 4/ RPMS/ SRPMS/ ... とか. で,FC2用RPM/SRPMの需要ってありますかね.あるとしたら,うちの 会社のメンバーくらいかな :-p と思っているんですが. こっちは個人的に対応するので,公開用には用意しなくてもいい気 がしますがどうでしょう? #みんなものぐさなので上げようとしない :-) > リリース名は snapshot とかでしょうかねぇ? > 思いきって x.x-RC? (release candidate) とかにしちゃいます? 悩みますね. とりあえずrcをつけちゃいましょうか.で,xcastizeされているもの はやっぱり"xc"とかつけた方がいいですよね. ex. - uclmmbase-1.2.16-xc-0.2-rc1 - uclmmbase-1.2.16-xc.0.2-rc1 - uclmmbase-1.2.16-xc_0.2-rc1 - other... それ以外のものは単に-rc1でいいのかなと. ex. - libxcast-0.2-rc1 > > RPM/SRPMの作成だけだったら私の方でもできますが,作成 > > しておきましょうか? > > おお,かなりうれしいです. > うちには VMware 内の FC3 の環境しかないのです. 了解です. 作成しておきます. > そういえば,カーネルパッケージどうしましょう? > 「使いたい奴は自分で作れ」でもいいと思いますが,あるとうれしい > かもです. そうですね. "簡単,お手軽"を目指しているので,あった方がいいですね. こちらも作っておきます. #それにしても,結構な数のパッチがあったてますね < kernel*.src.rpm 長文失礼しました. |
From: KUROSAWA T. <fwk...@mb...> - 2005-05-28 00:59:45
|
黒沢です. On Sat, 28 May 2005 02:23:10 +0900 (JST) Junji SATO <js...@mc...> wrote: > > sources のディレクトリは,ディストリビューション非依存にしませんか? > > あと,kernel のディレクトリに入れるものは,sources の下でよさそうに > > 思います. > 上のはおもいっきり思いつきなので,黒沢さんの案でOKです. > では,CPUアーキテクチャはとりあえずi386とi686でいいです > か?noarchもいりますかね. FC のリリースのしかたに合わせると,i686 版はカーネルだけかなと 思います.あとは i386 のパッケージだけでいいんじゃないかと思います. カーネルパッケージは,カーネルのコンフィギュレーションに効いて くるので CPU アーキテクチャが重要になりますが,カーネル以外は 最適化の意味しかなさそうですので. # 前のメールで noarch と書いたのは,kernel-source パッケージが # noarch だったような気がしたからです.よくわかっていないので # すが,「source RPM 使え」って言うこともできそうなので, # kernel-source パッケージはなくても全く問題ないと思います. > FC3とかにしてもいいですか?後続のリリースのために. おお,それが良いですね. > で,FC2用RPM/SRPMの需要ってありますかね.あるとしたら,うちの > 会社のメンバーくらいかな :-p と思っているんですが. > こっちは個人的に対応するので,公開用には用意しなくてもいい気 > がしますがどうでしょう? FC3 だけでいいと思います. まずは必要最小限の部分でちゃんとしたものにすることを考えた ほうがいいと思っています. カーネルパッケージまで考えると,パッケージをビルドすること 自体もそんなに楽ではないですし,パッケージをビルドする環境 を維持するのもわりと面倒だったりしますし :-) > > リリース名は snapshot とかでしょうかねぇ? > > 思いきって x.x-RC? (release candidate) とかにしちゃいます? > > 悩みますね. > とりあえずrcをつけちゃいましょうか.で,xcastizeされているもの > はやっぱり"xc"とかつけた方がいいですよね. > > ex. > - uclmmbase-1.2.16-xc-0.2-rc1 > - uclmmbase-1.2.16-xc.0.2-rc1 > - uclmmbase-1.2.16-xc_0.2-rc1 > - other... > > それ以外のものは単に-rc1でいいのかなと. > > ex. > - libxcast-0.2-rc1 RPM パッケージのリリース番号についてはおまかせします. CVS リポジトリにパッケージング用のファイルを commit してあり ますので,spec ファイルいじっちゃってかまいません. CVS モジュール名は pkgs です. Debian の方は,パッケージのリリース番号を細かくすると,バー ジョンの比較に気をつけないといけなくなるという話を聞いたこ とがあるので,単純に元パッケージに .xc.n をつける形でいきます. > > そういえば,カーネルパッケージどうしましょう? > > 「使いたい奴は自分で作れ」でもいいと思いますが,あるとうれしい > > かもです. > > そうですね. > "簡単,お手軽"を目指しているので,あった方がいいですね. > こちらも作っておきます. ありがとうございます. XCAST6/Linux な環境を用意するのがかなり楽になりそうです. > #それにしても,結構な数のパッチがあったてますね < kernel*.src.rpm そうなんですよ. なので,vanilla kernel 用に作ったパッチがあたらないことが かなりよくあるという…… |
From: Junji S. <js...@mc...> - 2005-05-27 11:11:37
|
佐藤です. From: KUROSAWA Takahiro <fwk...@mb...> Subject: Re: [xcast-linux-dev-ja] vic patch - enable to receive Date: Thu, 26 May 2005 23:39:56 +0900 > 以上をまとめて,パッチや spec ファイルを更新したのは,以下のパッケー > ジです: > uclmmbase > libxcast > rat > vic > > # kernel-patch と xcgroup 以外とも言います :) アップデートありがとうございました. で,(十分ではありませんが)一通り動作確認もできたので もうそろそろ他の方にも使ってもらって,大いにテスト してもらいたいなぁと思っているんですが,どうでしょう? もし公開OKなら,とりあえすDeb/RPMを xcast-linux.sourceforge.net にディレクトリを掘って,そこに置くってかたちでいいで すかね? 例えば, kernel/ Debian/ sources/ packages/ FC/ sources/ RPM/ SRPM/ ってな感じで. RPM/SRPMの作成だけだったら私の方でもできますが,作成 しておきましょうか? |
From: KUROSAWA T. <fwk...@mb...> - 2005-05-27 12:23:19
Attachments:
kernel-2.6.spec
kernel-2.6.spec.diff
|
黒沢です. On Fri, 27 May 2005 20:19:32 +0900 (JST) Junji SATO <js...@mc...> wrote: > で,(十分ではありませんが)一通り動作確認もできたので > もうそろそろ他の方にも使ってもらって,大いにテスト > してもらいたいなぁと思っているんですが,どうでしょう? 同感です. > もし公開OKなら,とりあえすDeb/RPMを > > xcast-linux.sourceforge.net > > にディレクトリを掘って,そこに置くってかたちでいいで > すかね? File Release System を使うほうが良いようです. Project Web Server は,長く続いているダウンロードは自動的に 帯域を狭めるとかいうことをやってるからでかいものは置いても うまくいかないよとか書いてあったように思います. File Release System を使えば,ちょっと待てば日本にもミラー されてうれしかったりします. > 例えば, > > kernel/ > Debian/ > sources/ > packages/ > FC/ > sources/ > RPM/ > SRPM/ > > ってな感じで. sources のディレクトリは,ディストリビューション非依存にしませんか? あと,kernel のディレクトリに入れるものは,sources の下でよさそうに 思います. こまかいつっこみですが, RPM -> RPMS, SRPM -> SRPMS の方がよさそうに思います. /usr/src/redhat の下は RPMS とかになっているので. /usr/src の下は CPU アーキテクチャごとにわかれていますが, XCAST6 のリリースでは分ける必要はないと思います. まとめると,自分としては以下がよさそうに思います. sources/ Debian-sarge/ FC/ RPMS/ SRPMS/ リリース名は snapshot とかでしょうかねぇ? 思いきって x.x-RC? (release candidate) とかにしちゃいます? > RPM/SRPMの作成だけだったら私の方でもできますが,作成 > しておきましょうか? おお,かなりうれしいです. うちには VMware 内の FC3 の環境しかないのです. そういえば,カーネルパッケージどうしましょう? 「使いたい奴は自分で作れ」でもいいと思いますが,あるとうれしい かもです. FC3 で,2.6.10-1.770_FC3 に対して作業した spec ファイルと, オリジナルからの差分を添付しておきます. # FC2 でパッケージを作る場合は %define FC3 1 とかやっている # 部分に気をつけてください. # あとは,rpmbuild に --target i686,noarch をつけておく必要が # あったりとかという話もあったような. |
From: Junji S. <js...@mc...> - 2005-05-26 04:44:09
|
佐藤です. From: KUROSAWA Takahiro <fwk...@mb...> Subject: Re: [xcast-linux-dev-ja] vic patch - enable to receive Date: Thu, 26 May 2005 07:14:15 +0900 > > ratにオプションを追加してインターフェイス名orインターフェイス > > インデックスをuclmmbaseに渡すのは難しそうだったので,udp_xcast6_init() > > 内で行ってます.しかも,安直にprocを使ってしまいました... > > かなりしょぼいので参考程度に使ってください :-) > > カーネルの方で,net/ipv6/mcast.c の ipv6_sock_mc_join() 内部が > > if (ifindex == 0) { > struct rt6_info *rt; > rt = rt6_lookup(addr, NULL, 0, 0); > if (rt) { > dev = rt->rt6i_dev; > dev_hold(dev); > dst_release(&rt->u.dst); > } > } else > dev = dev_get_by_index(ifindex); > > ということをやってくれているので,ifindex を調べずに 0 で渡しちゃって > 良いように思います. > > 0 にして渡しても動作するようでしたら,vic の方も直してしまおうと > 思います. をを,本当だ. 2.6.8.1の時に加えた修正をまんま流用していんですが,そういえば xcst6tnl0にルーティングエントリを追加するのでifindexにセット しなくても大丈夫そうですね. で,早速0にして試したみましたが,vic/ratとも受信できています. なので,ifindexを取得するコードは不要です. - ifaddr.hのインクルード - if_nametoindex()部分 - vicの-xオプション部分 #単純にADD_MEMBERSHIPを追加するだけでOKですね > > それから,rpmbuildしたときに,*debuginfo*.rpmが作られてしま > > うので,各specファイルに > > > > %define debug_package %{nil} > > > > を入れた方がいいかもです. > > よくわからずに作業しているのですが,debuginfo のパッケージは作らな > いほうが良いのでしょうか? あってもいいでしょうが,debuginfoではないRPMにも*debuginfo*関連の ライブラリが含まれてくるので,混乱を招くのかなと. [jsato@rose i386]$ rpm -qpl ./libxcast-0.2-1.i386.rpm /usr/include/libxcast.h /usr/lib/debug /usr/lib/debug/usr /usr/lib/debug/usr/lib /usr/lib/debug/usr/lib/libxcast.so.0.0.0.debug /usr/lib/libxcast.a /usr/lib/libxcast.la /usr/lib/libxcast.so /usr/lib/libxcast.so.0 /usr/lib/libxcast.so.0.0.0 このdebuginfoをどのように使用するかはわからないのですが, RH9のリリースノートによると, GDBは、アプリケーション用のデバッグ情報が個別ファイルから 読み込まれるように強化されています。これにより、バイナリ からデバッグ情報を抽出して、補足パッケージ に入れることが できるようになりました。Red Hat Linux 9 の開発中、"debuginfo" パッケージは、、特別のRPMマクロをインプリメントしてほぼす べてのパッケージに生成されました。 デフォルトでは、 Red Hat Linux 9 でのRPMマクロの設定は"debuginfo"パッケージ を生成します。パッケージを構築していて、"debuginfo"パッケ ージを生成したくない 場合は、~/.rpmmacros ファイルに以下を 加えてください。 %define debug_package %{nil} gdbで用いるので,一般ユーザにはあまり関係のないもののよう に思います. |
From: Junji S. <js...@mc...> - 2005-05-26 04:51:36
|
すいません. 間違えました. > - ifaddr.hのインクルード - net/if.h のインクルード ^^^^^^^^ でした. #ifaddrs.hもいらないかもです ---jsato From: Junji SATO <js...@mc...> Subject: Re: [xcast-linux-dev-ja] vic patch - enable to receive Date: Thu, 26 May 2005 13:52:13 +0900 (JST) > なので,ifindexを取得するコードは不要です. > > - ifaddr.hのインクルード > - if_nametoindex()部分 > - vicの-xオプション部分 > > #単純にADD_MEMBERSHIPを追加するだけでOKですね |
From: Junji S. <js...@mc...> - 2005-05-25 17:05:49
Attachments:
uclmmbase_1.2.16-1.xc.1.jsato-050526.patch
|
佐藤です. From: KUROSAWA Takahiro <fwk...@mb...> Subject: Re: [xcast-linux-dev-ja] vic patch - enable to receive Date: Wed, 25 May 2005 23:12:46 +0900 > なお,vic のパッチについては,以下の部分を佐藤さんのパッチから > 変更しています. > - ADD_MEMBERSHIP するソケットを,受信側のソケットに変更. > ADD_MEMBERSHIP は「パケットをわたしにも届けてね」と言うための > ものですので,受信側のソケットに対して行うのが正しいと思います. > 送信側のソケットにした場合は XCAST6 パケットを受信できないように > 思います. すいませんでした. XcastCreateGroup()で作成するソケットは送信ソケットだったのですね. お手数おかけしました. > - DLOG マクロが未定義だったので,使っている部分を削除しました. パッチを送った後に気づきました. こちらもすいませんでした. > > - rat の ADD_MEMBER パッチ (by 佐藤さん?) の取り込み > > + 4.2.25 へバージョンアップ > > こちらについては何もしていません. vicと同様,xcst6tnl0でff05::10にADD_MEMBERSHIPするパッチを作成 してみました.uclmmbaseのsrc/net_udp.cに対するパッチです. ratにオプションを追加してインターフェイス名orインターフェイス インデックスをuclmmbaseに渡すのは難しそうだったので,udp_xcast6_init() 内で行ってます.しかも,安直にprocを使ってしまいました... かなりしょぼいので参考程度に使ってください :-) 4.2.25へのバージョンアップは,前述の通り,UCLのrat-4.2.25に 対してrat_4.2.22-2.xc.1.diffはすんなりあたるので問題ないと 思います. #動作確認はrat-4.2.25で行いました それから,rpmbuildしたときに,*debuginfo*.rpmが作られてしま うので,各specファイルに %define debug_package %{nil} を入れた方がいいかもです. あと,uclmmbase.spcに,"--enable-ipv6"を追加しなくてはいけない ような気がします. |
From: KUROSAWA T. <fwk...@mb...> - 2005-05-25 03:35:22
|
黒沢です. At Wed, 25 May 2005 02:47:26 +0900 (JST), Junji SATO wrote: > > この方法で修正したパッチを添付します.素の linux-2.6.10 に対する > > パッチとなっています.よろしければお試しください. > パッチをあてたところ,vicにてパケットが出ることを確認しました! > 対応ありがとうございました. 確認どうもありがとうございます. 動いたようでほっとしました.あとはパッケージを直さねば. > で,次はratなんですが,サウンドデバイスがOSSエミュレーションでちゃ > んと認識されているみたいなので,vic同様xcst6tnl0に対してADD_MEMBER > するコードを追加するだけなのかなと思ってます.ただ,ratの方に追加す > るのはしんどそうなので,uclmmbaseに追加しようと思ってますが,いぢ > ちゃりしちゃうと問題が発生しますか? XCAST6 に特化している部分への追加であれば,問題ないと思います. その部分は rat しか使いませんので. > あと,ratのベースバージョンをBSD版と同じく4.2.25にあげたいのですが > いかがでしょう? そっちのほうがよさそうですね. Debian のパッケージをベースに作業したので,古いバージョンを 使っていました. 今までの修正をふまえて,Debian のパッケージを作るにあたっては, 以下の作業をしようと思います. - kernel-patch 修正 - vic の ADD_MEMBER パッチその他 by 佐藤さん の取り込み - rat の ADD_MEMBER パッチ (by 佐藤さん?) の取り込み + 4.2.25 へバージョンアップ |
From: Junji S. <js...@mc...> - 2005-05-25 08:06:56
|
佐藤です. From: KUROSAWA Takahiro <fwk...@mb...> Subject: Re: [xcast-linux-dev-ja] vic patch - enable to receive Date: Wed, 25 May 2005 12:35:17 +0900 > > で,次はratなんですが,サウンドデバイスがOSSエミュレーションでちゃ > > んと認識されているみたいなので,vic同様xcst6tnl0に対してADD_MEMBER > > するコードを追加するだけなのかなと思ってます.ただ,ratの方に追加す > > るのはしんどそうなので,uclmmbaseに追加しようと思ってますが,いぢ > > ちゃりしちゃうと問題が発生しますか? > > XCAST6 に特化している部分への追加であれば,問題ないと思います. > その部分は rat しか使いませんので. 了解です. > > あと,ratのベースバージョンをBSD版と同じく4.2.25にあげたいのですが > > いかがでしょう? > > そっちのほうがよさそうですね. > Debian のパッケージをベースに作業したので,古いバージョンを > 使っていました. > > 今までの修正をふまえて,Debian のパッケージを作るにあたっては, > 以下の作業をしようと思います. > > - kernel-patch 修正 > - vic の ADD_MEMBER パッチその他 by 佐藤さん の取り込み > - rat の ADD_MEMBER パッチ (by 佐藤さん?) の取り込み > + 4.2.25 へバージョンアップ こっちも了解です. |
From: Junji S. <js...@mc...> - 2005-05-24 04:46:15
|
佐藤です. From: KUROSAWA Takahiro <fwk...@mb...> Subject: Re: [xcast-linux-dev-ja] vic patch - enable to receive Date: Tue, 24 May 2005 12:27:23 +0900 > 以下のような感じの手順で直せそうですが,こんな感じでよさそう > でしょうか?ほかにアイデアありましたらお願いします. > > (1) カプセル化されたパケットを受けとったときのインタフェースの > ifindex を skb のどこかに覚えておくように変更する > (たぶん skb->xcast6 の下). > (2) ip6_route_input_byaddr() に ifindex を与える引数を追加する. > (3) xcast6_branch() は (1) で覚えておいた ifindex を使って > ip6_route_input_byaddr() を呼び出すように変更する. なるほど. 上記の方法で良いと思います. 覚えておく場所としては,skbの他に,ip6_tnlとかip6_tnl_parmと かは使えないですかね... |
From: Junji S. <js...@mc...> - 2005-05-23 17:33:23
|
佐藤です. 違うネットワークで試してもやはり同じ結果(0x200200)でした. で,route.cを見てみたのですが,このフラグってip6_null_entry のrt6i_flagsのような気がします. struct rt6_info ip6_null_entry = { .u = { .dst = { .__refcnt = ATOMIC_INIT(1), .__use = 1, .dev = &loopback_dev, .obsolete = -1, .error = -ENETUNREACH, .metrics = { [RTAX_HOPLIMIT - 1] = 255, }, .input = ip6_pkt_discard, .output = ip6_pkt_discard_out, .ops = &ip6_dst_ops, .path = (struct dst_entry*)&ip6_null_entry, } }, .rt6i_flags = (RTF_REJECT | RTF_NONEXTHOP), .rt6i_metric = ~(u32) 0, .rt6i_ref = ATOMIC_INIT(1), }; struct fib6_node ip6_routing_table = { .leaf = &ip6_null_entry, .fn_flags = RTN_ROOT | RTN_TL_ROOT | RTN_RTINFO, }; xcast6_branch() -> ip6_route_input_byaddr() -> fib6_lookup() -> fib6_lookup_1() と呼ばれるが,該当するエントリがないのでルートエントリ (ip6_route_table)が返ってきて,ルートエントリに対して forで回すが,skb->dev->ifindexがxcst6tnl0のifindexのため デフォルトルートが選択されないのかな,という気がします. #ルーティングテーブルの構造があまり理解していないので #かなりあてずっぽうですが... From: Junji SATO <js...@mc...> Subject: Re: [xcast-linux-dev-ja] vic patch - enable to receive Date: Sun, 22 May 2005 18:37:17 +0900 (JST) > Date: Sun, 22 May 2005 13:06:54 +0900 > > > > xcast6_branch()内のip6_route_input_byaddr()で返ってきた > > > rt6_infoのフラグ判別の部分で,同一リンクではないノードの > > > 場合,なぜかRTF_UPのフラグが立っていないため,ビットマッ > > > プがクリアされ,xcast6_forward()に飛んでいないみたいです. > > > > > > 同一リンクのノードへのxsend > > > - dst=B src=A rt6i_flags=10c0001 > > > ^ > > > > > > 違うリンクのノードへのxsend > > > - dst=C src=A rt6i_flags=200200 > > > ^ > > > *ノードCに対するv6 reachabilityはあり,ping6は正常 > > > に送信されます. > > > > 0x200200 = RTF_NONEXTHOP | RTF_REJECT > > > > のようです. > > ノード C に対する reachability はあるとなると,A と C の > > スコープが違うとか,フィルタの類でそうなっているとかくらい > > しか今のところ考えつかないです. > > > > # ただ,フィルタがルーティングエントリに作用するとは思えない > > # んですよね. > > > > ノード C へはデフォルトルートでない static な経路だったり > > しますか? > > RAで取得した経路で,netstatで見ると,UGDAのフラグが見えます. > v6フィルタはほとんど設定していない :-p ので,上記フラグが > セットされないと思うのですが... > > もしかしたら,環境依存かもしれないので,明日違うネットワーク > でも試してみたいと思います. |