[FreeBSD-users-jp 92845] Re: arp(8) のホスト名表示における挙動 について
古澤です。梅本さん、何度も丁寧に説明してくださって、ありがとうございました。 私が疑問を持ったことの解答は、 gethostbyaddr() 自体が呼ばれなくなります。つまり、どちらも参照していま せん。 この事で説明できる訳ですね。 [FreeBSD-users-jp 92839] で arp.c の一部を示しましたが、 576 if (h_errno == TRY_AGAIN) 577 nflag = 1; /etc/hosts も駄目、DNS でも引けない時に、577行目が実行され、 それ以降のエントリについては、 567 if (nflag == 0) 568 hp = gethostbyaddr((caddr_t)(addr-sin_addr), 569 sizeof addr-sin_addr, AF_INET); この 567行目によって、gethostbyaddr() を呼びに行かなくなるのだと 理解しました。 該当するソースを見ていた筈なのに、 gethostbyaddr() が呼ばれると思い込んでいたため、 認識が誤ってしまいました。 コマンドラインからは「arp -a」として実行しましたが、 DNS で引けないときに、あたかも「arp -an」として起動した動作に 切り替わってしまうという事ですね。 ただし、これは *今回私が指定していたDNSサーバ* に 限った現象なのだろうと思います。 それは DNSサーバが NXDOMAIN ではなく SERVFAIL を返すからです。 PTR レコードがない IP アドレスを nslookup で引いたときにどのように出力 されますか? これについては、以下の結果を得ました。 % nslookup 192.168.1.221 nslookup 192.168.1.221 Server: 192.168.1.1 Address:192.168.1.1#53 ** server can't find 221.1.168.192.in-addr.arpa: SERVFAIL 確かに SERVFAIL が返ってきています。 試しに DNS サーバを変えてみました。 これは私が利用している ISP が BIGLOBE なので、 そこで公開されているものです。 % nslookup 192.168.1.221 210.147.235.3 nslookup 192.168.1.221 210.147.235.3 Server: 210.147.235.3 Address:210.147.235.3#53 ** server can't find 221.1.168.192.in-addr.arpa.: NXDOMAIN こちらでは NXDOMAIN が返ってきました。 私が指定している DNS サーバの動作が怪しいことが分かりましたが、 これは ADSL 回線の契約でレンタルしている機器に組み込まれており、 ちょっと手を出すことができません。 どのように対応するかは、これから考えたいと思います。 ともかく状況が明瞭になりましたので、どうするかを検討します。 いろいろとご指導くださいまして、ありがとうございました。 最後に、今回のロジックについて NetBSD の場合の話題がありましたので、 参考までに、他の OS での該当箇所を示しておきます。 OpenBSD の場合、確認したソースは以下のとおりです。 $OpenBSD: arp.c,v 1.49 2009/09/27 12:07:15 deraadt Exp $ */ 477 if (hp) 478 host = hp-h_name; 479 else { 480 host = ?; 481 if (h_errno == TRY_AGAIN) 482 nflag = 1; 483 } こちらは FreeBSD と同じです。 NetBSD の場合、確認したソースは以下のとおりです。 $NetBSD: arp.c,v 1.48 2009/04/02 21:02:06 christos Exp $ 451 host = hp ? hp-h_name : ?; この行だけしかありませんので、シンプルですね。 元々は NetBSD も FreeBSD と同じだったとの事ですので、 NetBSD だけがオリジナルの BSD のロジックを変更しているのだと認識しました。 -- FURUSAWA Kazumi kaz...@mse.biglobe.ne.jp
[FreeBSD-users-jp 92846] Re: FreeBSD(98) 6.4R ?????
こんちには,木村です. PC-98 + Trident に対する config file の記述に関して,大変なことを 忘れておりました. 以下は FreeBSD 7.2 + X.Org 7.4 のための,うちの xorg.conf の一部です. エディタで作成しています.(ちなみに,XFree86 4 系,X.Org 6 系も含め, この部分は一貫して変更しておりません.) Section Device Identifier NECTrident VendorName NEC BoardName NEC Trident Driver trident BusID PCI:0:8:0 Option NoPciBurst Option XaaNoScreenToScreenCopy Option XaaNoCPUToScreenColorExpandFill Option XaaNoScanlineCPUToScreenColorExpandFill Option XaaNoScreenToScreenColorExpandFill # VideoRam 2048 Endsection PC-98 + tgui9682 に対しては,これら 5 個の Option が不可欠です. XFree86 では,文書 README98 と,XF86Config の雛形である XF86Config.98 にこれらの Option のことが書かれています. 一方,X.Org 7 系には README98 も無いし XF86Config.98 に相当 する雛形もありません.(この点は何とかして周知せねばなりません.) いずれにしても,X -configure にて作成された xorg.conf にエディター で上記の Option を加えないと,相当に辛い状態になります. Satoshi Kimura (satosi.kim...@nifty.com)
[FreeBSD-users-jp 92847] Re: arp(8) のホスト名表示における挙動 について
$B!!$7$i$$$G$9!#(B In Message-Id 86bpff6iw6.wl%kaz...@mse.biglobe.ne.jp FURUSAWA Kazumi kaz...@mse.biglobe.ne.jp$B$5$s(Bwrites: $B8E_7$G$9!#G_K\$5$s!2?ey$bczg...@bl@$7$F$/$...@$5$c$f!$$j$,$H$$4$6$$$^$7$?!#(B $B:G8e$K!:#2s$N%m%8%C%/$K$D$$$F(B NetBSD $B$Nl9g$NOCBj$,$$j$^$7$?$N$G!(B $B;29M$^$G$K!B$N(B OS $B$G$N3:Ev2U=j$r($7$F$*$-$^$9!#(B $B!!(Barp(8) $B$r8+$k$H!V(BThe arp utility appeared in 4.3bsd.$b...@$=(B $B$$J$N$G(B Unix Archive $B$+$i(B 4.3BSD $B$N(B source $B$rI32r$$$F$_$^$7(B $B$?!#(B $ ls -la 4.3BSD/src/etc/arp.c -r--r--r-- 1 root wheel 7199 Feb 22 1986 4.3BSD/src/etc/arp.c $ cat -n 4.3BSD/src/etc/arp.c | tail -n +291 | head -7 291 if (hp) 292 host = hp-h_name; 293 else { 294 host = ?; 295 if (h_errno == TRY_AGAIN) 296 bynumber = 1; 297 } $B!!$F$J46$8$G:#$H$[$\0l=o$G$9$M!#!V(Bnflag$B!W$8$c$$J$$$N$O!$3(B $B$N:$N(B arp(8) $B$K$O(B -n option $B$,L5$$$+$i$G$9!#$H3$H$G!(B $b7k9=m...@5$7$$;e...@$c$?$h$$G$9$M!#(B $B!t!!3N$+$K(B 4.2 $B0JA0$N(B BSD $B$G$O!(Barp(8) $B$OC5$7$F$b8+$D$+$j$^(B $B!t$;$s!#FC$KI,MW$J$+$C$?$s$G$7$g$$M!#(B $B$7$i$$(B $B$?$+$7(B
[FreeBSD-users-jp 92848] nvidia-driver
大澤です 昨日FreeBSDを起動したところ、 kldload nvidia link_elf: symbol KPTmap undefined kldload: can't load nvidia: No such file or directory だそうで、nvidiaドライバでのXの起動ができなくなりました。 もちろん/boot/modulesにはnvidia.koがあります。 linux.koもloadされています。 前回動いていたときと今回との間では、 nvidia-driver(nvidia-driver-195.22)の再インストールと シャットダウンのみしかしていません。 カーネルは1月半ばの7.2-STABLEです。 原因はなんでしょうか。 カーネルがKPTmapを要求していてnvidia.koが持っていないって ことでしょうか。 -- 大澤 日佐雄 osawa.hi...@nikon.co.jp ☆ミ (株)ニコン 光技術研究所 TEL:03-3773-9929 (ex. O-2386) FAX:03-3775-5934