Что происходит с правилами потока, когда OVS теряет соединение с контроллером?

В моем понимании, правила потока остаются в силе. Моя проблема связана с правилами, которые направляют пакет на контроллер. Если, например, приходит новый поток, а контроллер не работает, будет ли этот новый пакет просто отброшен?


person stoneman_41    schedule 16.10.2017    source источник


Ответы (2)


будет ли этот новый пакет просто отброшен?

В яблочко!

person Marievi    schedule 17.10.2017
comment
Есть ли способ отключить правила, у которых есть действие, которое должно быть отправлено на контроллер, чтобы вместо этого он мог сопоставляться со следующим наибольшим правилом сопоставления? - person stoneman_41; 18.10.2017

Это зависит от конфигурации, будут ли потоки представлены или нет. Вот объяснение из Документация Openflow 1.3:

Записи потока удаляются из таблиц потоков двумя способами: либо по запросу контроллера, либо с помощью механизма истечения срока действия переключения потока. Механизм истечения срока действия коммутатора, который запускается коммутатором независимо от контроллера и основан на состоянии и конфигурации записей потока. Каждая запись потока имеет связанные с ней idle_timeout и hard_timeout. Если какое-либо значение не равно нулю, коммутатор должен отметить время поступления записи о потоке, так как позже может потребоваться вытеснить запись. Ненулевое поле hard_timeout приводит к тому, что запись потока будет удалена через заданное количество секунд, независимо от того, сколько пакетов она совпала. Ненулевое поле idle_timeout приводит к удалению записи потока, если в течение заданного количества секунд в нем не было найдено ни одного пакета. Коммутатор должен реализовывать истечение срока действия потока и удалять записи потока из таблицы потоков по истечении одного из их тайм-аутов.

Если и idle_timeout, и hard_timeout равны нулю, запись считается постоянной и никогда не истечет время ожидания:

Если задан параметр idle_timeout, а параметр hard_timeout равен нулю, срок действия записи должен истечь через idle_timeout секунд без получения трафика. Если idle_timeout равен нулю, а hard_timeout установлен, запись должна истечь через hard_timeout секунд, независимо от того, попадают ли пакеты в запись. Если установлены и idle_timeout, и hard_timeout, время ожидания записи потока истечет после idle_timeout секунд без трафика или через hard_timeout секунд, в зависимости от того, что наступит раньше. Если и idle_timeout, и hard_timeout равны нулю, запись считается постоянной и никогда не истечет время ожидания. Его все еще можно удалить с помощью сообщения flow_mod типа OFPFC_DELETE.

person Yavuz Sert    schedule 17.10.2017