Поддержка Openvswitch для dpctl

Я установил Mininet и openvswitch под Ubuntu 14.04. Попытка выдать команды пути данных vSwitch (к Vswitch) с помощью dpctl. При вводе команды dpctl в командной строке bash всегда возвращается «команда не найдена». Это верно при использовании sudo и даже в каталоге openvswitch. Что мешает найти эту команду? Кажется, это часть дистрибутива openvswitch. Также работает контроллер NOX, к вашему сведению. Спасибо!


person Kovalick    schedule 12.12.2014    source источник


Ответы (4)


Я думаю, что команда, которую вы ищете, это ovs-dpctl. Он является частью openvswitch-switch пакета.

person nik    schedule 01.03.2015

Пошаговое руководство по Mininet использует старую команду dpctl (из исходной эталонной реализации OpenFlow) для отображения потоков из xterm. В последнее время проще использовать инструмент Open vSwitch, ovs-ofctl. Например, отобразите потоки, установленные в коммутаторе, из коммутатора xterm, используйте:источник

потоки дампа ovs-ofctl tcp:127.0.0.1:6634

person dr34m3r    schedule 02.02.2016

Различия в том, что:

ovs-dpctl — администрирование путей данных Open vSwitch ovs-ofctl — администрирование коммутаторов OpenFlow

Я думаю, вы можете использовать любой из них, но использование немного отличается, насколько я вижу, эти два достигают одного и того же:

потоки дампа ovs-dpctl или потоки дампа ovs-ofctl tcp:127.0.0.1:6634

скриншот выходных данных команды

person Eric Chou    schedule 07.07.2016

ovs-ofctl и ovs-dpctl предназначены для совершенно двух разных целей. ovs-ofctl всегда представляет потоки открытого потока. Таким образом, вы можете видеть все разные потоки для всех разных таблиц. Это всегда будут одни и те же потоки, независимо от того, что добавляет контроллер. Но dpctl показывает потоки данных ovs, также известные как мегапотоки. Ovs имеет концепцию мегапотоков, которая представляет собой комбинацию нескольких конвейерных потоков. например, если у вас есть 3 потока openflow, например:

таблица = 0, ip, действие = dec_ttl, goto_table: 1

таблица=1, ip, nw_src=10.0.0.0/8, действие=goto_table:2

таблица = 2, in_port = 1, действие = вывод: 2

И если пакет попадает во все 3 потока, то вы можете увидеть один мегапоток, объединяющий все 3 правила openflow в пути данных для этого пакета. Если вы используете dpctl, вы можете увидеть потоки, подобные этому:

таблица = 0, in_port = 1, ip, nw_src = 10.0.0.1, действие = dec_ttl, вывод: 2

Помните, что OVS генерирует мегапоток таким образом, что один тип пакета никогда не попадет в 2 разных мегапотока на пути передачи данных. А механизм мегапотока в ovs заключается в повышении производительности обработки пакетов в ovs.

Если вы хотите больше узнать об архитектуре ovs, см. приведенный ниже документ: http://openvswitch.org/support/papers/nsdi2015.pdf

person Subrata Paul    schedule 16.09.2017