Может переключать обработку нескольких команд LACP на одних и тех же портах

Если я использую адаптер с поддержкой SRIOV для виртуализации и настраиваю 2 разных канала LACP на 2 гостя, то есть может быть 2 канала LACP на тех же портах на стороне коммутатора, может ли коммутатор справиться с этим делом?

Например:

порт коммутатора 0 <=> порт адаптера 0

PF (Host): eth0

VF1 (Guest1-eth0): команда 1 LACP

VF2(Guest2-eth0): команда 2 LACP

===================

порт коммутатора 1 <=> порт адаптера 1

PF (Host): eth1

VF1 (Гость1-eth1): команда 1 LACP

VF2 (Гость2-eth1): команда 2 LACP

Заранее спасибо.

2 ответа

Это не сработает так, как вы ожидаете. Коммутатор не знает о PF и VF, он просто собирается связать два Ethernet-интерфейса, используя LACP или нет (все, а не только трафик к той или иной VF)

То, как я должен был это сделать: включить LACP на PF и связать их. Тогда вы ДОЛЖНЫ также связать VF, когда они передаются гостю. Как упоминал jamieb, проверка подмены Mac будет проблемой, но есть способы обойти это. С Intel SR-IOV nics вы можете установить опцию, которая говорит, что VFs могут устанавливать свои собственные MAC, и вы можете отключить проверку обмана с помощью "ip link". Если у вас есть что-то вроде Broadcom NetExtremeII nics (драйверы серии bnx2), вы не можете отключить спуфинг MAC или позволить гостям установить свой собственный MAC.

Если вы используете Broadcoms, вам нужно сделать небольшую предварительную настройку, прежде чем гости смогут использовать их должным образом. После загрузки включите VFs, установите их MAC-адреса (они изначально придумали MAC как все нули, которые нельзя использовать), затем вы должны отключить и повторно включить VF для того, чтобы эти MAC-адреса фактически могли использоваться с MAC-адреса, которые вы установили. Я назначаю их попарно с одним и тем же mac, например, port0-vf0 устанавливает mac в 22:27:1a:2a:d5:3a port1-vf0 устанавливает mac одинаково, передает обе VF гостю (я использую KVM) и в qemu xml назначьте MAC-адреса так же, как вы установили вручную на VF. Затем в гостевой связи они используют режим 2, и связь будет работать правильно.

С Intel вы просто сообщаете PF, что хотите отключить отслеживание MAC-адресов, и позволяете VF устанавливать свой собственный MAC-адрес, а затем вы можете разрешить kvm управлять MAC-адресами, и вам не нужно делать ничего особенного в связывании, это будет просто работать, как если бы они были обычными адаптерами.

Важно то, что вы запускаете LACP ТОЛЬКО на PF. Как только это будет сделано, пары VF из PF в основном уже связаны на стороне коммутатора и ДОЛЖНЫ быть связаны на гостевой стороне для ВСЕХ vfs из этих PF. LACP - это протокол канального уровня, а не протокол по MAC-адресу. Он не связывает пути с конкретными MAC-адресами с помощью LACP, он связывает физические порты вместе, и эти физические порты переносят трафик для PF и всех VF.

Вам нужно будет отключить проверку подделки на коммутаторах SR-IOV. Когда вы связываете интерфейсы в гостях, связь меняет интерфейс MAC. Переключатель SR-IOV обычно отбрасывает любые кадры, которые не принадлежат его собственным PF или VF. Это называется проверка на подделку.

Кроме этого, это должно работать нормально.

Другие вопросы по тегам