ネットワーク

NetBSDのbridgeとLinuxのbridge

既に簡潔な解説があった:
LinuxとNetBSDのbridgeの違い――夜でもアッサム
http://assam-at-night.blogspot.com/2009/04/linuxnetbsdbridge.html


Linuxの方、「なんでブリッジにIPアドレス??」といったあたりから、概念がよくわからずに試行錯誤してしまったので、自分なりの解釈をまとめておく。(間違ってたらこっそり教えてください)

BCM5722

テキトーにBCM5755なbrgphyと同じように認識するようにmiidevsとbrgphy.cを直してみた。それらしく起動したが症状は改善せず。
テキトーすぎたのでFreeBSD, OpenBSD, Linux のソースをあたってみる。
FreeBSDとOpenBSDは,BCM5722の識別だけして,特に処理はなし。
Linux (net/tg3.c) は,BCM5722 (とBCM5756) を識別した条件分岐があるが,他の ASIC BCM5755 その他系の TG3_FLG2_PHY_JITTER_BUG フラグを立てる部分を回避してるだけ。
TG3_FLG2_PHY_JITTER_BUG がある場合の処理は,NetBSD の brgphy.c でいうところの bcm5755_load_dspcode そのもので,これを回避しているということは,結局特別な処理は何もいらないっぽい。
うーん,調子が悪いのは別の原因か。