2017-01-31 13 views
0

В контроллере POX я могу создать прослушиватель событий, который будет поднят, когда значение hard_timeout истекло? Предположим, я установил flow_mod из hard_timeout = 10. Через 10 секунд мой слушатель должен уметь зафиксировать событие, поднятое с этого истечения. Причина моего вопроса заключается в том, что я хочу активировать функцию только после истечения определенного правила потока.Создать обработчик события, когда значение hard_timeout истекло

Спасибо

ответ

0

Вы можете прослушивать событие из модуля топологии для удаления потока

core.openflow.addListenerByName("FlowRemoved", self._handle_flow_removal) 

затем в методе класса _handle_flow_removal вы можете получить причину

def _handle_flow_removal (self, event): 
    """ 
    handler flow removed event here 
    """ 
    print event.__dict__() # to get available info 

В event dict найти ключ ofp и извлечь bool

ofp.reason == of.OFPRR_HARD_TIMEOUT: