Разница между ovs-vsctl и ovs-dpctl

Если я настраиваю коммутатор для управления через OpenFlow, каковы условия использования ovs-dpctl по сравнению с ovs-vsctl? Страница руководства для ovs-dpctl говорит использовать ovs-vsctl, если используется ovs-vswitchd.

Итак, при каких обстоятельствах вы бы использовали ovs-dpctl? Что он делает, что вы не можете сделать иначе?

Один последующий вопрос заключается в том, откуда берется значение OF «datapath». Это будет 64-битное число в спецификации OF, которое контроллер OF использует для идентификации коммутаторов OF. Это значение рассчитывается автоматически или его нужно вводить?

Спасибо за любую помощь в этом.


person AlanObject    schedule 08.08.2015    source источник
comment
похоже, что это должно быть при ошибке сервера   -  person Daniel A. White    schedule 08.08.2015
comment
Ну, я надеялся на точку зрения программиста, а не на точку зрения системного администратора, но неважно.   -  person AlanObject    schedule 09.08.2015


Ответы (2)


ovs-dpctl:

Инструмент для создания, изменения и удаления путей данных Open vSwitch. Вот несколько примеров (команды случайные):

– ovs-dpctl add-dp dp1
– ovs-dpctl add-if dp1 eth0
– ovs-dpctl show
– ovs-dpctl dump-flows

овс-vsctl:

Утилита для запроса и обновления конфигурации ovs-vswitchd (с помощью ovsdb-server). Конфигурация порта, добавление/удаление моста, связывание и тегирование VLAN — это лишь некоторые из параметров, доступных с помощью этой команды.

Вот несколько примеров (команды случайны):

– ovs-vsctl –V : Prints the current version of openvswitch.
– ovs-vsctl show : Prints a brief overview of the switch database configuration.
– ovs-vsctl list-br : Prints a list of configured bridges
– ovs-vsctl list-ports <bridge> : Prints a list of ports on a specific bridge.
– ovs-vsctl list interface : Prints a list of interfaces.
– ovs-vsctl add-br <bridge> : Creates a bridge in the switch database.

ovs-ofctl:

Думаю, стоит упомянуть и об этом инструменте. Инструмент командной строки для мониторинга и администрирования коммутаторов OpenFlow. Он используется для перечисления реализованных потоков в модуле ядра OVS.

- ovs-ofctl add-flow <bridge> <flow>
- ovs-ofctl add-flow <bridge> <match-field> actions=all
- ovs-ofctl del-flows <bridge> <flow>

Мне кажется, что ovs-vsctl используется для настройки самого open vswitch, например, для настройки портов, мостов и т. д. В то время как ovs-dpctl используется для работы с путями данных и интерфейсами.

Источники:

  1. openvswitch и ovsdb
  2. Слайды OpenVSwitch
  3. шпаргалка openvswitch

Ваш второй вопрос -> OF datapath: Для меня datapath в контексте openflow — это объект, обозначающий связь между контроллером и коммутатором. Я считаю, что контроллер OF определяет это, но это зависит от контроллера OF.

person Ehsan Ab    schedule 10.08.2015

ovs-vsctl используется для управления openvswitch, а ovs-dpctl может использоваться для управления путями данных внутри openvswitch.

Соответствующий комментарий, объясняющий пути к данным, можно найти в dpif-provider.h:

A datapath is a collection of physical or virtual ports that are
exposed over OpenFlow as a single switch.  Datapaths and the 
collections of ports that they contain may be fixed or dynamic.

Openvswitch предоставляет возможность реализации различных путей передачи данных. Следующая диаграмма из руководства по переносу OVS показывает, как различные пути данных вписываются в Архитектура ОВС.

            _
           |   +-------------------+
           |   |    ovs-vswitchd   |<-->ovsdb-server
           |   +-------------------+
           |   |      ofproto      |<-->OpenFlow controllers
           |   +--------+-+--------+  _
           |   | netdev | |ofproto-|   |
 userspace |   +--------+ |  dpif  |   |
           |   | netdev | +--------+   |
           |   |provider| |  dpif  |   |
           |   +---||---+ +--------+   |
           |       ||     |  dpif  |   | implementation of
           |       ||     |provider|   | ofproto provider
           |_      ||     +---||---+   |
                   ||         ||       |
            _  +---||-----+---||---+   |
           |   |          |datapath|   |
    kernel |   |          +--------+  _|
           |   |                   |
           |_  +--------||---------+
                        ||
                     physical
                       NIC
person seacoder    schedule 25.08.2016