本文整理汇总了Python中pybvc.openflowdev.ofswitch.OFSwitch.get_configured_FlowEntry方法的典型用法代码示例。如果您正苦于以下问题:Python OFSwitch.get_configured_FlowEntry方法的具体用法?Python OFSwitch.get_configured_FlowEntry怎么用?Python OFSwitch.get_configured_FlowEntry使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pybvc.openflowdev.ofswitch.OFSwitch
的用法示例。
在下文中一共展示了OFSwitch.get_configured_FlowEntry方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: show_flow
# 需要导入模块: from pybvc.openflowdev.ofswitch import OFSwitch [as 别名]
# 或者: from pybvc.openflowdev.ofswitch.OFSwitch import get_configured_FlowEntry [as 别名]
def show_flow(self, table_id, flow_id, oper, ofp):
ofswitch = OFSwitch(self.ctrl, self.switchid)
flow_entry = None
if oper:
result = ofswitch.get_operational_FlowEntry(table_id, flow_id)
else:
result = ofswitch.get_configured_FlowEntry(table_id, flow_id)
status = result.get_status()
if(status.eq(STATUS.OK) == True):
flow_entry = result.get_data()
assert(isinstance(flow_entry, FlowEntry))
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(flow_entry != None):
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 " Not found"
print "\n".strip()
示例2: of_demo_26
# 需要导入模块: from pybvc.openflowdev.ofswitch import OFSwitch [as 别名]
# 或者: from pybvc.openflowdev.ofswitch.OFSwitch import get_configured_FlowEntry [as 别名]
#.........这里部分代码省略.........
flow_entry.add_match(match)
flowEntries.append(flow_entry)
print ("\n")
print ("<<< Remove configured flows from the Controller")
ofswitch.delete_flows(flow_table_id)
print ("\n")
print ("<<< Set OpenFlow flows on the Controller")
print ("\n")
print ("<<< Flows to be configured:")
flowEntries = sorted(flowEntries, key=lambda fe: fe.get_flow_priority())
for fe in flowEntries:
print (" %s" % fe.to_ofp_oxm_syntax())
time.sleep(rundelay)
success = True
for fe in flowEntries:
result = ofswitch.add_modify_flow(fe)
status = result.get_status()
if(status.eq(STATUS.OK)):
pass
else:
success = False
print ("\n")
print ("!!!Demo terminated, failed to add flow:\n '%s'" %
fe.to_ofp_oxm_syntax())
print (" Failure reason: %s" % status.detailed())
if success:
print "\n"
print ("<<< Flows successfully added to the Controller")
else:
print "\n"
print ("<<< Removing all flows from the Controller")
ofswitch.delete_flows(flow_table_id)
exit(0)
print ("\n")
print ("<<< Get configured flows from the Controller")
time.sleep(rundelay)
print ("\n")
print ("<<< Configured flows:")
result = ofswitch.get_configured_FlowEntries(flow_table_id=0)
status = result.get_status()
if(status.eq(STATUS.OK)):
data = result.get_data()
flowEntries = sorted(data, key=lambda fe: fe.get_flow_priority())
for fe in flowEntries:
print " %s" % fe.to_ofp_oxm_syntax()
else:
print ("\n")
print ("!!!Demo terminated, reason: %s" % status.brief().lower())
exit(0)
print ("\n")
print ("<<< Get configured flows by IDs from the Controller:")
time.sleep(rundelay)
for i in range(flow_id_base, flow_id):
result = ofswitch.get_configured_FlowEntry(flow_table_id, i)
status = result.get_status()
if(status.eq(STATUS.OK)):
print (" -- Flow id '%s'" % i)
fe = result.get_data()
print " %s" % fe.to_ofp_oxm_syntax()
else:
print ("\n")
print ("!!!Demo terminated, reason: %s" % status.brief().lower())
print ("<<< Removing all flows from the Controller")
ofswitch.delete_flows(flow_table_id)
exit(0)
time.sleep(rundelay)
print ("\n")
print ("<<< Remove configured flows from the Controller")
ofswitch.delete_flows(flow_table_id)
time.sleep(rundelay)
print ("\n")
print ("<<< Get configured flows from the Controller")
result = ofswitch.get_configured_FlowEntries(flow_table_id=0)
status = result.get_status()
if(status.eq(STATUS.DATA_NOT_FOUND)):
print ("\n")
print "<<< No configured flows"
else:
print ("\n")
print ("!!!Demo terminated, reason: %s" % status.detailed())
exit(0)
print ("\n")
print (">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")
print (">>> Demo End")
print (">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")
示例3: sorted
# 需要导入模块: from pybvc.openflowdev.ofswitch import OFSwitch [as 别名]
# 或者: from pybvc.openflowdev.ofswitch.OFSwitch import get_configured_FlowEntry [as 别名]
if(status.eq(STATUS.OK) == True):
data = result.get_data()
flowEntries = sorted(data, key=lambda fe: fe.get_flow_priority())
for fe in flowEntries:
print " %s" % fe.to_ofp_oxm_syntax()
else:
print ("\n")
print ("!!!Demo terminated, reason: %s" % status.brief().lower())
exit(0)
print ("\n")
print ("<<< Get configured flows by IDs from the Controller:")
time.sleep(rundelay)
for i in range(flow_id_base, flow_id):
result = ofswitch.get_configured_FlowEntry(flow_table_id, i)
status = result.get_status()
if(status.eq(STATUS.OK) == True):
print (" -- Flow id '%s'" % i)
fe = result.get_data()
print " %s" % fe.to_ofp_oxm_syntax()
else:
print ("\n")
print ("!!!Demo terminated, reason: %s" % status.brief().lower())
print ("<<< Removing all flows from the Controller")
ofswitch.delete_flows(flow_table_id)
exit(0)
time.sleep(rundelay)