Добавление потоков для проталкивания MPLS через RESTCONF API контроллера ODL

Я новичок в SDN и ODL и пытаюсь добавить потоки OpenFlow к коммутаторам OVS в мини-сети, но потоки не отражаются при проверке пакетов в Wireshark. Вот мой сценарий.

  • 3 коммутатора с линейной топологией и 3 подключенных хоста: sudo mn --topo linear - пульт дистанционного управления --switch ovsk,protocol =OpenFlow13
  • Контроллер ODL, работающий на той же виртуальной машине, что и mininet

Я хотел бы настроить MPLS вручную. Например, в качестве отправной точки я пытаюсь добавить метки MPLS для пакетов, идущих от Host1 к Host3. и я пытаюсь сделать это с помощью API RESTCONF, и я получаю код состояния 200 (ОК) для запросов, которые я отправляю. Ниже приведено тело XML запросов RESTCONF.

Для IP-пакетов, поступающих через порт 1 коммутатора 1, протолкнуть метку MPLS со значением 12 и переслать ее из порта 2: 0 0 0x8847 1 12 2 2 0 100 0x800 1 0 10 true 0 flow-action-push-mpls 220

URL = " http://localhost:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:1/table0/flow/100"

Заголовки = {'content-type': 'application/xml','accept': 'application/json'}

Тип запроса = PUT

Аутентификация = Базовая Аутентификация

Затем, когда я проверяю пакеты с помощью wireshark на порту 2 коммутатора 1, я не вижу заголовок MPLS.

Плагины OpenFlow и RestConf устанавливаются в ODL. Какова возможная причина того, что добавленный поток не действует на пакеты?

PS. Я установил mininet с помощью менеджера пакетов, а не с помощью готовой виртуальной машины.

1 ответ

Решение

Я обнаружил, что OpenvSwitch не работает на моем хосте! Мне пришлось перезапустить сервис в /etc/init.d/openvswitch-switch. Я проверил статус с помощью $sudo /etc/init.d/openvswitch-switch statusобычно следует сказать, что openvswitch работает, но это не так. Чтобы перезапустить сервис я сделал sudo /etc/init.d/openvswitch-switch restart

После этого я смог подключиться между коммутаторами и контроллером. Но мои потоки не были перенесены с контроллера на коммутаторы по той причине, что я до сих пор не уверен, что это такое, но я предполагаю, что у меня были некоторые недостающие теги xml, и это было исправлено, когда я ссылался на ODL end-to- Пример завершения потоков https://wiki.opendaylight.org/view/Editing_OpenDaylight_OpenFlow_Plugin:End_to_End_Flows:Example_Flows, взял интересующий меня пример и настроил его под свои нужды.

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