Назад | Перейти на главную страницу

Мост OVS - как переключить порт между VLAN?

Я специалист по сетям старой закалки, пытаюсь разрабатывать OVS Bridge. Мне нужна помощь в выяснении синтаксиса для переключения интерфейсов моста OVS между VLAN.

Во-первых, некоторая системная информация ... Мой хост-ящик - это Ubuntu 16.04.4; моя версия OVS - 2.12.1 (схема БД 8.0.0).

Хорошо, вот простая картина моего тестового стенда разработки:

Довольно просто. Пара тестовых клиентов и серверов находится на противоположных сторонах моста OVS и подключена друг к другу через VLAN по умолчанию. У меня также есть два виртуальных маршрутизатора, подключенных к мосту, но в этой конфигурации они ничего не делают. Я смог настроить это с помощью нескольких онлайн-руководств, особенно один здесь.

Теперь вот в чем проблема. Мне нужно изменить структуру VLAN моста OVS на это:

Теперь все по-другому. Чтобы достичь сервера, клиентский трафик должен быть перенаправлен через VLAN 100, через оба vRouter, а затем через VLAN 200. (Да, я намеренно хочу, чтобы один и тот же пакет дважды проходил через мост OVS - мой проект пытается разработать способ точечный двойной подсчет пакетов.) VLAN 100 и 200 представляют собой VLAN с прямым доступом, здесь нет транкинга. Фактически, транкинга быть не может, потому что я хочу разделить трафик 100 и 200.

Я могу изменить IP клиента, без проблем. Но работа с VLAN в мосте OVS была катастрофической.

Первоначально я думал, что могу просто использовать команду «add-port» для изменения тегов VLAN:

ovs-vsctl add-port ovs_bridge dpdk1 tag=100
ovs-vsctl add-port ovs_bridge vy0 tag=100
ovs-vsctl add-port ovs_bridge dpdk2 tag=200
ovs-vsctl add-port ovs_bridge vy1 tag=200

Но это привело к ошибке, которую я, к сожалению, проиграл. Я искал в Google «OVS bridge change VLAN tag», но все сайты, которые я обнаружил, показывают вам, как создать новый интерфейс с тегами с нуля… не совсем то, что я ищу.

Кроме того, из-за характера моего тестирования мне нужно будет переключаться между этими двумя конфигурациями тестового стенда. Другими словами, мне нужно поместить все мои интерфейсы в VLAN по умолчанию, затем переместить их в VLAN 100/200, затем переместить их обратно, затем обратно в 100/200, затем снова по умолчанию, затем 100/200 и так далее. на. Возможно, мне придется проделать это сотни раз.

Больно снести все порты и восстановить с нуля. Если бы мост был коммутатором Cisco или Juniper, я бы мог настроить VLAN с помощью одной команды. Но я не вижу способа сделать это в мире мостов OVS. Какие-либо предложения? Спасибо!

Для всех, кто следит за этой веткой ... Я также разместил свой вопрос Вот, и получил ответ. Синтаксис для перемещения порта между VLAN 100 и VLAN по умолчанию:

root@liux:~# ovs-vsctl get port dpdk1 tag
[]
root@liux:~# ovs-vsctl set port dpdk1 tag=100
root@liux:~# ovs-vsctl get port dpdk1 tag
100
root@liux:~# ovs-vsctl set port dpdk1 tag=[]
root@liux:~# ovs-vsctl get port dpdk1 tag
[]
root@liux:~#