在 POX 控制器中,是否可以创建一个在hard_timeout
值过期时引发的事件侦听器?假设我安装了 hard_timeout
= 10 的flow_mod
。10 秒后,我的侦听器应该能够捕获从此过期引发的事件。我问问题的原因是,我只想在特定流规则过期后激活功能。
谢谢
可以从拓扑模块侦听事件以进行流删除
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
在事件字典中找到 ofp 键并提取布尔值
ofp.reason == of.OFPRR_HARD_TIMEOUT: