[FreeBSD-users-jp 92845] Re: arp(8) のホスト名表示における挙動 について

2010-02-24 スレッド表示 FURUSAWA Kazumi
古澤です。梅本さん、何度も丁寧に説明してくださって、ありがとうございました。

私が疑問を持ったことの解答は、

 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 ?????

2010-02-24 スレッド表示 Satoshi Kimura
こんちには,木村です.

  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) のホスト名表示における挙動 について

2010-02-24 スレッド表示 Takashi SHIRAI
$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

2010-02-24 スレッド表示 Hisao Osawa

大澤です

 昨日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