Jump to content
Калькуляторы

Не работает агрегация каналов в FreeBSD 9.2.

Добрый день,

Корректно не работает Lagg в FreeBSD 9.2. Самое интересное что если повесить tcpdump на интерфейс lagg0 то все начинает работать, то есть получается пока не переключить интерфейс lagg0 в promisc mode он не работает.

 

sysctl не вносились ни какие изменения.

 

В чем может быть проблема??

 

#ifconfig
re0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
       options=8209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
       ether 90:2b:34:d6:bb:42
       inet6 fe80::922b:34ff:fed6:bb42%re0 prefixlen 64 scopeid 0x1
       nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
       media: Ethernet autoselect (100baseTX <full-duplex>)
       status: active
re1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
       options=8209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
       ether 90:2b:34:d6:bb:42
       inet6 fe80::922b:34ff:fed6:bb42%re1 prefixlen 64 scopeid 0x2
       nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
       media: Ethernet autoselect (100baseTX <full-duplex>)
       status: active
lagg0: flags=8943<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
       options=8209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
       ether 90:2b:34:d6:bb:42
       nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
       media: Ethernet autoselect
       status: active
       laggproto lacp lagghash l2,l3
       laggport: re1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
       laggport: re0 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
vlan172: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
       options=3<RXCSUM,TXCSUM>
       ether 90:2b:34:d6:bb:42
       inet 172.16.0.50 netmask 0xffff0000 broadcast 172.16.255.255
       inet6 fe80::922b:34ff:fed6:bb42%vlan172 prefixlen 64 scopeid 0x5
       nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
       media: Ethernet autoselect
       status: active
       vlan: 172 parent interface: lagg0

rc.conf

ifconfig_re0="up"
ifconfig_re1="up"

cloned_interfaces="lagg0 vlan172"
ifconfig_lagg0="laggproto lacp laggport re0 laggport re1 lagghash l2,l3"

ifconfig_vlan172="inet 172.16.0.50/16 vlan 172 vlandev lagg0"

Share this post


Link to post
Share on other sites

Оформляйте PR, что не корректно работает в Лагге режим lagghash l2,l3

Share this post


Link to post
Share on other sites

У меня вот так вот работает прекрасно:

lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
       options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
       ether 00:1e:67:3c:b8:1f
       media: Ethernet autoselect
       status: active
       laggproto lacp lagghash l2,l3,l4
       laggport: em1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
       laggport: em0 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>

 

Автору можно попробовать l4 добавить.

 

И второе, у автора похоже очень старый свитч все это принимает, прошивка в нем последняя? Там косяков быть не может?

Share this post


Link to post
Share on other sites

Кстати, да, огласите модель коммутатора, прошивку и как на нем лагг виден?

Share this post


Link to post
Share on other sites

Коммутатор D-Link DES-3200-10, прошивку сразу же обновил на нем. ЛАГ настроен l2+l3 тип LACP.

lagghash пробовал l2 и l2,l3,l4 ни чего не изменяется.

#sysctl -a | grep lagg
net.link.lagg.failover_rx_all: 0
net.link.lagg.default_use_flowid: 1
net.link.lagg.lacp.debug: 0
net.link.lagg.0.use_flowid: 1
net.link.lagg.0.count: 2
net.link.lagg.0.active: 2
net.link.lagg.0.flapping: 0
net.link.lagg.0.lacp.lacp_strict_mode: 1
net.link.lagg.0.lacp.debug.rx_test: 0
net.link.lagg.0.lacp.debug.tx_test: 0

Побывал изменить use_flowid на 0, то же не помогает, уже ни знаю куда копать.

На этой машине стояла до этого OpenBSD, trunk завелся без всяких проблем.

Share this post


Link to post
Share on other sites

А сетевые сменить не вариант ? У меня правда не 9.2 а 9.1 но и igb и bce карты проблем не вызывают с LAGG...

 

Вы когда lagg собираете, там мак на одной карте меняется. Возможно без промиска оно не работает на этой re... ну как вариант.

Share this post


Link to post
Share on other sites

Еще попробуйте "lagghash l2,l3" из конфига убрать

Share this post


Link to post
Share on other sites

А сетевые сменить не вариант ? У меня правда не 9.2 а 9.1 но и igb и bce карты проблем не вызывают с LAGG...

 

Вы когда lagg собираете, там мак на одной карте меняется. Возможно без промиска оно не работает на этой re... ну как вариант.

 

присоединяюсь. 9.1 работает без проблем.

Share this post


Link to post
Share on other sites

У меня на 9.2 работает нормально.

Только "lagghash l2,l3" не прописано в rc.conf и сетевые Intel.

И свитч должен быть в passive mode.

Share this post


Link to post
Share on other sites

Сетевые интерфейсы встроенные и заменить их нет возможности. Заметил забавную штуку, что сетевушки получают один MAC при загрузке сразу же.

#dmesg
****
re0: <RealTek 8168/8111 B/C/CP/D/DP/E/F/G PCIe Gigabit Ethernet> port 0xe000-0xe0ff mem 0xf0104000-0xf0104fff,0xf0100000-0xf0103fff irq 16 at device 0.0 on pci2
re0: Using 1 MSI-X message
re0: Chip rev. 0x2c800000
re0: MAC rev. 0x00100000
miibus0: <MII bus> on re0
rgephy0: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 1 on miibus0
rgephy0:  none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, 1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow
re0: Ethernet address: 90:2b:34:d6:bb:42
pcib3: <ACPI PCI-PCI bridge> irq 17 at device 28.5 on pci0
pci3: <ACPI PCI bus> on pcib3
re1: <RealTek 8168/8111 B/C/CP/D/DP/E/F/G PCIe Gigabit Ethernet> port 0xd000-0xd0ff mem 0xf0004000-0xf0004fff,0xf0000000-0xf0003fff irq 17 at device 0.0 on pci3
re1: Using 1 MSI-X message
re1: Chip rev. 0x2c800000
re1: MAC rev. 0x00100000
miibus1: <MII bus> on re1
rgephy1: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 1 on miibus1
rgephy1:  none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, 1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow
re1: Ethernet address: 90:2b:34:d6:bb:42
****

Походу дело в дровах, скачал свежи драйвера с Realtek.com.tw. Сейчас пере собираю ядро, о результатах напишу )).

Share this post


Link to post
Share on other sites

Заметил еще одно, что после создания ЛАГа второй сетевой адаптер запоминает МАК первого и даже после запуска другой ОС он показывает один и тот же МАК. это БАГ или нормальное поведение сетевого адаптера.

Share this post


Link to post
Share on other sites

Поставьте внешнюю сетевую Intel дополнительно в свободный PCI-E слот и проблем не будет.

Share this post


Link to post
Share on other sites

Заметил еще одно, что после создания ЛАГа второй сетевой адаптер запоминает МАК первого и даже после запуска другой ОС он показывает один и тот же МАК. это БАГ или нормальное поведение сетевого адаптера.

 

Это нормальное поведение. Когда сформирован Lagg обе сетевые карты имеют один и тот же MAC.

Share this post


Link to post
Share on other sites

vlad11, естественно, что при создании lagg оба сетевых адаптера получают один MAC. Но тут он запоминается самим адаптером, при загрузке с любого LifeCD он определят один и тот же MAC походу БАГ сетевых адаптеров.

Написал в службу поддержки Gigabyte и получил вот такой ответ:

Доступность драйверов конкретного чипсета для ОС семейства Linux зависит от политики, которой придерживается компания-разработчик чипсетов. Необходимые драйверы для ОС Linux рекомендуем найти и загрузить с официального сайта производителя, либо воспользоваться услугами иных источников.

Share this post


Link to post
Share on other sites

Покажите

pciconf -lv | egrep -A 4 re0
pciconf -lv | egrep -A 4 re1

 

А потом сделайте PR о некорректности работы lagg на чипах Риалтека. Вывод команд выше приложите.

 

Upd. Вспомнил, lagg на Реалтеках под Линуксом аналогично себя ведет, обе сетевые имеют одинаковый МАС, даже если зайдешь в БИОС.

Проверял МАСи на коммутаторе, куда включена машинка.

Edited by vlad11

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this