にゃんかNICのRevによるんだろうけど、いつの間にか100baseに落ちて安定してたりとか、その際にSWと音信不通ににゃったりとか、動作の怪しいNICは多い。
で、1GbEのFull以外を却下しておくと微妙にゃ状態でリンク維持されたりしにゃいので、多少症状が変化する。改善するかというと割と微妙だが。
SW側でもやるべきだけどまずマシン側で。めどいのでその設定スクリプトのメモ。
dladm show-ether | awk 'NR>1 {print}' | sort |
while read a b ; do echo $a ; done |
while read a ; do
for p in en_10hdx_cap en_10fdx_cap en_100hdx_cap en_100fdx_cap en_1000hdx_cap ; do
dladm set-linkprop -p $p=0 $a ; dladm show-linkprop -p $p $a | awk 'NR>1 {print}'
done
done
が、bnxはdladmから設定出来にゃい気味。
ndd -set /dev/bnx0 adv_1000hdx_cap 0
ndd -set /dev/bnx0 adv_100fdx_cap 0
ndd -set /dev/bnx0 adv_100hdx_cap 0
ndd -set /dev/bnx0 adv_10fdx_cap 0
ndd -set /dev/bnx0 adv_10hdx_cap 0
ndd -get /dev/bnx1 adv_1000hdx_cap
ndd -get /dev/bnx1 adv_100fdx_cap
ndd -get /dev/bnx1 adv_100hdx_cap
ndd -get /dev/bnx1 adv_10fdx_cap
ndd -get /dev/bnx1 adv_10hdx_cap
すれば通ってるようだが、これ再起動で元戻っちゃうからrcに書かにゃいとダメ。めどい。/etc/systemに書けるんだろうけど怪しいんでrcがベターだろう。
dladm show-ether | grep "^bnx" | while read a b ; do
for p in adv_1000hdx_cap adv_100fdx_cap adv_100hdx_cap adv_10fdx_cap adv_10hdx_cap ; do
ndd -set /dev/$a $p 0
done
done
とかか。rcに書くにゃらbnxに限定せず全部これでも良いとも言える。
尚リモートで走らせて音信不通ににゃってもしらん