本文整理汇总了Python中pybvc.openflowdev.ofswitch.OFSwitch.get_operational_FlowEntries方法的典型用法代码示例。如果您正苦于以下问题:Python OFSwitch.get_operational_FlowEntries方法的具体用法?Python OFSwitch.get_operational_FlowEntries怎么用?Python OFSwitch.get_operational_FlowEntries使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pybvc.openflowdev.ofswitch.OFSwitch
的用法示例。
在下文中一共展示了OFSwitch.get_operational_FlowEntries方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: show_table
# 需要导入模块: from pybvc.openflowdev.ofswitch import OFSwitch [as 别名]
# 或者: from pybvc.openflowdev.ofswitch.OFSwitch import get_operational_FlowEntries [as 别名]
def show_table(self, table_id, oper, ofp):
flow_entries = []
ofswitch = OFSwitch(self.ctrl, self.switchid)
if oper:
result = ofswitch.get_operational_FlowEntries(table_id)
else:
result = ofswitch.get_configured_FlowEntries(table_id)
status = result.get_status()
if(status.eq(STATUS.OK) == True):
data = result.get_data()
flow_entries = sorted(data, key=lambda fe: fe.get_flow_priority())
elif(status.eq(STATUS.DATA_NOT_FOUND)):
print "\n".strip()
print " Requested data not found"
print "\n".strip()
exit(0)
else:
print ("\n")
print ("!!!Error, reason: %s" % status.brief().lower())
exit(0)
print "\n".strip()
s = "Device Operational" if oper else "Controller Cached"
print " Switch '%s' - %s Flows" % (self.switchid, s)
print "\n".strip()
if len(flow_entries) > 0:
for flow_entry in flow_entries:
assert(isinstance(flow_entry, FlowEntry))
if(ofp):
print " -- Flow id '%s'" % flow_entry.get_flow_id()
print " %s" % flow_entry.to_ofp_oxm_syntax()
else:
lines = flow_entry.to_yang_json(strip=True).split('\n')
for line in lines:
print " %s" % line
else:
print " No flows found"
print "\n".strip()