同一サブネットへのhost route

ロードバランサのまわりを触っていたときに、同一サブネットに入るノードに対してホストルートを書くとちゃんとconnectedよりもspecific routeを優先して通信すること発見した。
いや、気付いたときには凄く驚いたのだけど、冷静になって考えるとconnected routeも一つの経路であるわけだしmore specific routeである/32があればそちらを優先するのは至極当然の動作。CiscoなんかだとAdmin distanceというのがあってconnectedが特別扱いされていたりするので、なんとなく上書きできないように思っていたが、こちらにしたって同一マスク長であったときに優先されるだけでhost routeがあればそちらを優先するはず(ただし未検証)。
ホストがこういう動作をするときにはnext hopとなっているルータはICMP redirectなりで向け直そうという動きをするはず*1だけど、今回の場合はロードバランサということもあって無事パケットは書き換えられて通信は正常に行われた。
ティーブンス本やら悪魔本まで持ち出して「うーん、うーん」と考えたのは馬鹿みたいだ。目から鱗と言うと聞こえはいいが、ようするに変な先入観があったというだけの話。

*1:おうちのNAT箱でもICMP redirectを返すことを確認した