当前位置: 首页>>代码示例>>Python>>正文


Python OFSwitch.get_configured_FlowEntries方法代码示例

本文整理汇总了Python中pybvc.openflowdev.ofswitch.OFSwitch.get_configured_FlowEntries方法的典型用法代码示例。如果您正苦于以下问题:Python OFSwitch.get_configured_FlowEntries方法的具体用法?Python OFSwitch.get_configured_FlowEntries怎么用?Python OFSwitch.get_configured_FlowEntries使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在pybvc.openflowdev.ofswitch.OFSwitch的用法示例。


在下文中一共展示了OFSwitch.get_configured_FlowEntries方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: show_table

# 需要导入模块: from pybvc.openflowdev.ofswitch import OFSwitch [as 别名]
# 或者: from pybvc.openflowdev.ofswitch.OFSwitch import get_configured_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()
开发者ID:jebpublic,项目名称:pybvcsamples,代码行数:42,代码来源:oftool.py

示例2: of_demo_26

# 需要导入模块: from pybvc.openflowdev.ofswitch import OFSwitch [as 别名]
# 或者: from pybvc.openflowdev.ofswitch.OFSwitch import get_configured_FlowEntries [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 (">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")
开发者ID:BillTheBest,项目名称:pybvc,代码行数:104,代码来源:demo26.py

示例3: print

# 需要导入模块: from pybvc.openflowdev.ofswitch import OFSwitch [as 别名]
# 或者: from pybvc.openflowdev.ofswitch.OFSwitch import get_configured_FlowEntries [as 别名]
     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) == 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)
开发者ID:jebpublic,项目名称:pybvcsamples,代码行数:33,代码来源:demo26.py


注:本文中的pybvc.openflowdev.ofswitch.OFSwitch.get_configured_FlowEntries方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。