>>> Подскажите возможно кто-то сталкивался, релиз 9.1 с последними обновлениями на новом железе
>>> с сетевушкой Realtek 8168/8111. Сетевуха поднимается всё ок, но трафик через
>>> неё не ходит пока не сделаешь ifconfig re0 down && ifconfig
>>> re0 up, после этого всё как часы. Что за засада?
>> есть предположение что проблема с negotiation ну очень похоже после
>> описания down/up
> Странно, что под Debian на том же самом железе всё работает автоматом.
> :( ничего странного - драйвера то разные.
возможно autonegotiation долго отрабатывает - договор карты со свитчем,
как на свитче порт настроен?
Смотрите при загрузке на консоле когда появляется link: поднимается в UP?
Может получится что линк еще в down, а сетевые сервисы стартуют, не спешите,
подождите пока загрузится система и смотрите ifconfig в течении минуты-двух
станет Active?
например:
# ifconfig re0 | egrep "(media|status)"
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
#
если линк поднимается, но поздно - до старта сети и firewall, лучше воспользоваться
netwait в /etc/rc.conf (в 9.x есть), например:
netwait_enable="YES" # Enable rc.d/netwait (or NO)
netwait_ip="a.b.c.d" # IP addresses to be pinged by netwait.
netwait_timeout="60" # Total number of seconds to perform pings.
netwait_if="rl0" # Interface name to watch link state on.
netwait_if_timeout="30" # Total number of seconds to monitor link state.
таймауты можете выставить на свое усмотрение.
если на свитче порт выставлен жестко, то задайте media и mediaopt для ifconfig,
например (man rl и man ifconfig):
rl0 interface to 100Mbps full:
ifconfig_rl0="inet x.x.x.x netmask y.y.y.y media 100baseTX mediaopt full-duplex"
rl0 interface to 1000Mbps full, enter:
ifconfig_rl0="inet x.x.x.x netmask y.y.y.y media 1000baseTX mediaopt full-duplex"
хотя для 1Gbit строго рекомендуется autoselect и кроме full-duplex там ничего
не задать, а судя по вашему down/up - negotiation работает, но не сразу или долго.
ps. Во FreeBSD взависимости от чипов, с 8168/8111 могут использоваться как rl, так
и re драйвера - тут нужно смотреть pciconf -lv, а потом в драйверах:
/usr/src/sys/dev/re/if_re.c
и
/usr/src/sys/pci/if_rlreg.h