Intel PRO/1000 Server/Desktop Adapter(4)

| トラックバック(0)

いい感じになってきますた(`・ω・´)
表の訂正。

chip 通信 Jumbo Frame
82530GC×(すぐに通信できなくなる)o
82540EM
82546EBo

Jumbo Frame は、/kernel/drv/e1000g.conf で設定するのですが、82546EB は dual port もので、きちんと設定できていなかっただけでした。
default は、こんな感じになっています。
( 0 = mtu 1500)
--
MaxFrameSize=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;
# 0 is for normal ethernet frames.
# 1 is for upto 4k size frames.
# 2 is for upto 8k size frames.
# 3 is for upto 16k size frames.
# These are maximum frame limits, not the actual ethernet frame
# size. Your actual ethernet frame size would be determined by
# protocol stack configuration (please refer to ndd command man pages)
# For Jumbo Frame Support (9k ethernet packet)
# use 3 (upto 16k size frames)
--

0 の羅列がよくわからなかったので、

--
MaxFrameSize=3;
--

としたのが、敗因でした。
これを、以下のようにすることで、e1000g0, e1000g1 両方で Jumbo Frame が設定できるようになりました。

--
MaxFrameSize=3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3;
--

たぶん、この羅列は instance number (e1000g0 とか e1000g1 の 0 や 1 の部分)と対応するかと思うのですが、これをミスっていたようです。(たぶん、MaxFrameSize=3,3; でもいけるかと。Quad なら、3,3,3,3; になるということ)
3 is for upto 16k size frames. ということで、この設定が有効になると、ifconfig e1000g0 plumb したときには mtu 16128 で interface が作成されます。

こんな感じ。
--
e1000g0: flags=1000842 mtu 16128 index 6
inet 0.0.0.0 netmask 0
ether 0:e:c:2c:30:c
e1000g1: flags=1000802 mtu 16128 index 5
inet 0.0.0.0 netmask 0
ether 0:3:47:ad:2a:e9
--


あとは、switch が対応している frame size に ifconfig e1000g0 mtu xxxx で調整してあげれば良いですね。
うちでは、C5e cable で直結なので mtu 16128 のままにしてあります。

この状態で netperf を使って転送速度を見ると、mtu 1500 のときとほとんど変わらず 400Mbit/sec いかないくらいです(´・ω・`)
ただし、mtu 1500 のときと比べて CPU の使用量が低くなるとこは確認しました。

トラックバック(0)

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

: Twitter Updates

    follow me on Twitter

    ウェブページ

    タグクラウド

    Techonrati

    Technorati search

    » リンクしているブログ

    Powered by Movable Type 4.23-ja