есть 2 машины с solaris10 x86 - one, two
есть 2 свича - switch1 switch2
one воткнут в switch1
two воткнут в switch1 (bnx0)и в swintch2(bnx1) и на этих интерфейсх настроен IPMP (link-based failure detection)на two стоит ipfilter со state-ами
делаем ssh с one на two - через некоторое время сессия замирает и потом отваливается по timeout-у
происходит это в тот момент когда two шлет ARP ответ машине one со своим MAC-адресом, в ответ на broadcast ARP запрос своего MAC адреса от машины one.
ssh (как и любое другое tcp соединение) блочится из-за странной вещи, после того как мы отослали ARP ответ исходяшие пакеты на one начинают отсылаться с другого интерфейса из IPMP группы. То есть если до этого мы получали и принимали через bnx0, то будет отсылаться через bnx1, а в следующий раз опять и прием и передача будут через bnx0.
сам ARP ответ уходит через bnx0 и в нем стоит MAC адрес bnx0
причем если в тот момент когда пакеты физически отсылаются через bnx1 (видно по snoop)
two# route get one
говорит маршрут на one через interface: bnx0
да, bnx1 сконфигурен просто:
ifconfig bnx1 plumb
ifconfig bnx1 group twogrp up
адрес на нем 0.0.0.0 и маска 0xff000000
да, ipfilter не понимает переключения сессий с одного интерфейса не другой, это понятно, но с какой стати исходящий трафик меняет интерфейс после ARP ответа - вот вопрос.