gooブログはじめました!

写真付きで日記や趣味を書くならgooブログ

vimageのバグレポート

2010-08-21 19:28:00 | パソコン・インターネット

2010年8月7日にcsupしてつくったカーネルでvimage をやったらいきなりつまづいた。ifconfig em0 vnet を ifconfig em0 -vnetでもとにもどせないみたい。以下にうまくいかなかった手順を示しておきます。

仮想環境の1番にVimageを使ってem0を割り当てる。

# jail -c vnet host.hostname=vnet1.example.net path=/ persist
# jexec 1 ifconfig lo0 inet 127.0.0.1/8
# jexec 1 ifconfig lo0 inet6 ::1 prefixlen 128
# ifconfig em0 vnet 1
# jexec 1 ifconfig em0
em0: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC>
    ether 00:1c:c0:60:e7:2d
    media: Ethernet autoselect (100baseTX <full-duplex>)
    status: active


em0に、ipv6とipv4のアドレスを割り当てる。
これはうまくいく。

# jexec 1 dhclient em0
DHCPREQUEST on em0 to 255.255.255.255 port 67
DHCPACK from 192.168.1.1
bound to 192.168.1.4 -- renewal in 43200 seconds.
# jexec 1 rtsol -F em0
# jexec 1 ifconfig em0
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC>
    ether 00:1c:c0:60:e7:2d
    inet6 fe80::21c:c0ff:fe60:e72d%em0 prefixlen 64 scopeid 0x2 
    inet 192.168.1.4 netmask 0xffffff00 broadcast 192.168.1.255
    inet6 2001:c90:48d:7139:21c:c0ff:fe60:e72d prefixlen 64 autoconf 
    nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
    media: Ethernet autoselect (100baseTX <full-duplex>)
    status: active


この状態でルーティングテーブルは次のとおり。

# jexec 1 netstat -rn -f inet
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.1.1        UGS         0        0    em0
127.0.0.1          link#1             UH          0        0    lo0
192.168.1.0/24     link#2             U           0        5    em0
192.168.1.4        link#2             UHS         0        0    lo0
# 



ここで仮想環境からem0を切り離す。

# ifconfig em0 -vnet 1
# ifconfig em0
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC>
    ether 00:1c:c0:60:e7:2d
    media: Ethernet autoselect (100baseTX <full-duplex>)
    status: active


切り離した後は、ipv4はDHCPで設定可能だが、ipv6はRAで設定できない。

# dhclient em0
DHCPREQUEST on em0 to 255.255.255.255 port 67
DHCPACK from 192.168.1.1
bound to 192.168.1.4 -- renewal in 43200 seconds.
# rtsol -F em0
get_llflag() failed, anyway I'll try
sendmsg on em0: Can't assign requested address
sendmsg on em0: Can't assign requested address
sendmsg on em0: Can't assign requested address
#


ipv4はアドレスがとれたが、インターネットには届かなくなった。
うーんなにが起きているのだろう。




Fedora 13 MLDv2 問題

2010-08-14 09:31:00 | パソコン・インターネット
先週、Fedora 13のDVDから、インストールを行った。拡張パーティションを/boot, swap, / と残りの4つに分けてインストールを行った。最初は、/bootを作り忘れていたからうまくbootしなかったけど、再度インストールしたらうまくいった。

MBM(ブートセレクトプログラム)から、拡張パーティションのLinuxを起動するには、一度カーソルで、拡張パーティションの中身を表示させないといけないのが面倒だが、楽な方法があるかもしれない。まあ、一週間に一度か二度しか使わないからいいか。

それよりも、Fedora 13で mcastread を動かしたら、動かないので困った。具体的には、MLDv2のJOINは出ているのだが、mcastread がレシーブしてくれないようで、標準出力には何も表示されない。
コマンドは

./mcastread -6 オプション | od -x

とした。Cent OS, FreeBSD 9ではきちんと od -xの出力が画面にでるのだが、Fedora 13だけうまくいかない。きちんとカーネルができていないのだろうか。。
最初はJOINすら出ていないのかとおもって、tcpdumpを起動したら、JOINはでているので、マルチキャストは流れてきていた。mcastreadの画面で、CTRL-Cを入れたら、tcpdumpの画面も止まるのできちんとできているようだ。

うーん、Fedora 13のバグかな?
どうすればいいのかわからない。
まあ、使わないからいいか。
いずれOSのバージョンがあがるとこの問題が出るのだとするとFedoraにいっとかないとなあ。どうやっていえばいいのか、さがさないといけない。
今日はここまで。