def of_demo_2(): f = "cfg.yml" d = {} if(load_dict_from_file(f, d) is False): print("Config file '%s' read error: " % f) exit() try: ctrlIpAddr = d['ctrlIpAddr'] ctrlPortNum = d['ctrlPortNum'] ctrlUname = d['ctrlUname'] ctrlPswd = d['ctrlPswd'] nodeName = d['nodeName'] rundelay = d['rundelay'] except: print ("Failed to get Controller device attributes") exit(0) print ("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<") print ("<<< Demo 2 Start") print ("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<") print ("\n") print ("<<< Creating Controller instance") time.sleep(rundelay) ctrl = Controller(ctrlIpAddr, ctrlPortNum, ctrlUname, ctrlPswd, None) print ("'Controller':") print ctrl.brief_json() print ("\n") print ("<<< Get information about OpenFlow node '%s'" % nodeName) time.sleep(rundelay) ofswitch = OFSwitch(ctrl, nodeName) result = ofswitch.get_switch_info() status = result.get_status() if(status.eq(STATUS.OK)): print ("Node '%s' generic info:" % nodeName) info = result.get_data() print json.dumps(info, indent=4) else: print ("\n") print ("!!!Demo terminated, reason: %s" % status.brief().lower()) exit(0) print ("\n") result = ofswitch.get_features_info() status = result.get_status() if(status.eq(STATUS.OK)): print ("Node '%s' features:" % nodeName) features = result.get_data() print json.dumps(features, indent=4) else: print ("\n") print ("!!!Demo terminated, reason: %s" % status.brief().lower()) exit(0) print ("\n") result = ofswitch.get_ports_list() status = result.get_status() if(status.eq(STATUS.OK)): ports = result.get_data() print ("Node '%s' ports list:" % nodeName) print json.dumps(ports, indent=4, sort_keys=True) else: print ("\n") print ("!!!Demo terminated, reason: %s" % status.brief().lower()) exit(0) print ("\n") result = ofswitch.get_ports_brief_info() status = result.get_status() if(status.eq(STATUS.OK)): print ("Node '%s' ports brief information:" % nodeName) info = result.get_data() print json.dumps(info, indent=4, sort_keys=True) else: print ("\n") print ("!!!Demo terminated, reason: %s" % status.brief().lower()) exit(0) print ("\n") print (">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>") print (">>> Demo End") print (">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")
def of_demo_1(): f = "cfg.yml" d = {} if(load_dict_from_file(f, d) is False): print("Config file '%s' read error: " % f) exit() try: ctrlIpAddr = d['ctrlIpAddr'] ctrlPortNum = d['ctrlPortNum'] ctrlUname = d['ctrlUname'] ctrlPswd = d['ctrlPswd'] # nodeName = d['nodeName'] rundelay = d['rundelay'] except: print ("Failed to get Controller device attributes") exit(0) print ("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<") print ("<<< Demo 1 Start") print ("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<") print ("\n") print ("<<< Creating Controller instance") time.sleep(rundelay) ctrl = Controller(ctrlIpAddr, ctrlPortNum, ctrlUname, ctrlPswd, None) print ("'Controller':") print ctrl.brief_json() print "\n" print ("<<< Get list of OpenFlow nodes connected to the Controller") time.sleep(rundelay) result = ctrl.get_openflow_nodes_operational_list() status = result.get_status() if(status.eq(STATUS.OK)): print ("OpenFlow node names (composed as \"openflow:datapathid\"):") nodenames = result.get_data() print json.dumps(nodenames, indent=4) else: print ("\n") print ("!!!Demo terminated, reason: %s" % status.brief().lower()) exit(0) print "\n" print ("<<< Get generic information about OpenFlow nodes") time.sleep(rundelay) for name in nodenames: ofswitch = OFSwitch(ctrl, name) result = ofswitch.get_switch_info() status = result.get_status() if(status.eq(STATUS.OK)): print ("'%s' info:" % name) info = result.get_data() print json.dumps(info, indent=4) else: print ("\n") print ("!!!Demo terminated, reason: %s" % status.brief().lower()) exit(0) print ("\n") print (">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>") print (">>> Demo End") print (">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")