[Armadillo:04604] Re: TUN/TAPのインストール方法をお教えください。

Yasushi SHOJI email@hidden
2009年 9月 24日 (木) 15:25:15 JST


At Thu, 24 Sep 2009 11:45:29 +0900,
SAITOH Akinori wrote:
> 
> Yasushi SHOJI さんは書きました:
> > At Wed, 23 Sep 2009 17:36:23 +0900,
> > Yoshihiro Imura wrote:
> >> もし、デバイス確認が必要ならば、メジャー番号とマイナー番号が
> >> 固定でソースに記述されているならば、mknodで作成しても良いとは
> >> 思いますがarm-linuxではどれが正しい方法であるかは残念ながら知りません。
> 
> linuxには詳しくないのですが,ifconfigは/devのデバイスファイルを
> 経由してアクセスしているわけではなかったのでは?とおもいます.

その通りです。socketに対して ioctl(2)の発行になります。

> ifconfig tun0 がSIOCSIFADDR: No such device に
> なるとしたら,それは本当のデバイスがattachされていない
> のであって,mknodで解決するような問題ではない・・
> と思いますが.

カーネルドキュメント(Documentation/networking/tuntap.txt)によると

1. Description
  TUN/TAP provides packet reception and transmission for user space programs. 
  It can be seen as a simple Point-to-Point or Ethernet device, which,
  instead of receiving packets from physical media, receives them from 
  user space program and instead of sending packets via physical media 
  writes them to the user space program. 

  In order to use the driver a program has to open /dev/net/tun and issue a
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  corresponding ioctl() to register a network device with the kernel. A network
  device will appear as tunXX or tapXX, depending on the options chosen. When
  the program closes the file descriptor, the network device and all
  corresponding routes will disappear.

ということなので /dev/net/tunを open(2)しないと ifconfigで見える状態に
ならないはずです。なので、mknodの方が先ですね。
-- 
         yashi



armadillo メーリングリストの案内