crossbow を自在に使いたいなら、nwam は disable だろ

| トラックバック(0)

OpenSolaris の nwam (NetWork Auto Magic) が嫌いです。
crossbow 使って network を構成する場合は、nwam は使わないという意識を持ったほうが良いかと思う。
で、嫌いになるのに理由は必要か? というのもアレなので、nwam をいやいや調べてみることにしましたw

nwam は、起動時に必ず plumb 可能な network interface を掻き集め /etc/nwam/llp ファイルにそれらを設定します。これらの情報は dladm の datalink.conf あたりからひっぱってくるのかな?
plumb したくない interface を # で打ち消しても、次回起動時に新しくそれらが追加されます。

nwam の source をちらっと見た限りでは、/etc/nwam/llp の parse を行っているのは、ここ。

http://src.opensolaris.org/source/xref/nwam/nwam1/usr/src/cmd/cmd-inet/lib/nwamd/llp.c

    143 int
    144 parse_llp_config(void)
    145 {
    146     static const char STATICSTR[] = "static";
    147     static const char DHCP[] = "dhcp";
    148     static const char IPV6[] = "ipv6";
    149     static const char NOIPV6[] = "noipv6";
    150     static const char PRIORITY[] = "priority";

interface に対して設定できる条件は、上記のものだけとなるため plumb させたくない場合は、llp での制御は絶望的ですね。

そこで、もう少ししらべてみると、nwam には interface の動作状況に応じて script を kick できる機能があることを知りマスタ。profile ってやつだそうです。

http://opensolaris.org/os/project/nwam/phase0/nwamd_1m
 
これを使って、余計な interface が up されたのを機に、実行される check-conditions script に、unplumb する処理をぶち込みます。
例として vboxnet0 , vboxnic0 なる vnic を unplumb するには、下記のようにします。

# mkdir /etc/nwam/ulp
# vi /etc/nwam/ulp/check-conditions
--
#!/bin/sh

ifconfig vboxnet0 unplumb
ifconfig vboxnic0 unplumb

exit 0
--

# chmod +x /etc/nwam/ulp/check-conditions

これで、nwam により interface が plumb されたのち unplumb されるので見た目的には、余計な interface が見えなくなります。
めでたしめでたしといきたいところですが、nwam は上記の unplumb した interface の情報を保持したまま動作を続けるので、たとえば、messages file に、

May 12 11:47:15 macbook nwamd[46]: [ID 903261 daemon.error] get_ifflags: icfg_get_flags vboxnet0 af 2: No such device or address
May 12 11:47:15 macbook nwamd[46]: [ID 903261 daemon.error] get_ifflags: icfg_get_flags vboxnic0 af 2: No such device or address

などというものを出力するようになります。
あと、gnome の panel にでている network アイコンを右クリックしてみてもそれがわかるかと思います。
当然ですね。nwam が提供する機能で unplumb してるわけではなく、script の中でいきなり unplumb しているわけですから。

これは美しくないなぁ。

nwam で、よりカンタンに network への接続をおこなうことが目的なはずなのに手順が複雑化しています。network interface の構成をオレ様色に染めるのであれば、nwam を止めるのが美しいかと・・・

OpenSolaris (not SXCE)で crossbow 使いを目指すなら、まず、先にこの設定ですか。
(SXCE は、すでにこの状態)

# svcadm disable physical:nwam
# svcadm enable physical:default

そして、特上ロース一皿追加です。

トラックバック(0)

トラックバックURL: http://solaris.sunfish.suginami.tokyo.jp/blog/mt/mt-tb.cgi/780

: Twitter Updates

    follow me on Twitter

    ウェブページ

    タグクラウド

    Techonrati

    Technorati search

    » リンクしているブログ

    Powered by Movable Type 4.23-ja