NICの冗長化

お仕事でサーバ関連なんぞやっているわけですが、昨今のサーバでは冗長化が当たり前になっていますね。
普通は電源二重化とかディスク二重化とかなんですけど、今回はNICの二重化というお話でした。
そもそもNICやSWのポートなんてそうそう壊れないよ!SUNのマザーじゃあるまいし!!
と思いつつも設計がとっくにそのような仕様になっていたため、ぶつぶついいながらこつこつ設定。
Linuxの場合はbondingという機能を使うわけですが、これがちょっとくせ者。

自分自身のNICや直上のSWが死んだ場合にはLinkDownするのですぐにFailOverするんですが、もっと先の部分で障害が起きた場合にFailOverしてくれない事がある・・・
「Linkはみるけど、GWへのタイムアウトはしらん!」とかおっしゃいます。

設定値ではGWのARPが見えなくなったらFailOverとかもあるのですがこれもうまく動いてくれないし。
SolarisのIPMPはちゃんとGWへの疎通確認してくれるのにぃー
結局どーにもならないので、自分でスクリプトを書いて強制FailOverさせるはめに・・・