diff options
Diffstat (limited to 'scripts/automation/regression/hltapi_example.py')
-rwxr-xr-x | scripts/automation/regression/hltapi_example.py | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/scripts/automation/regression/hltapi_example.py b/scripts/automation/regression/hltapi_example.py new file mode 100755 index 00000000..750d7c2b --- /dev/null +++ b/scripts/automation/regression/hltapi_example.py @@ -0,0 +1,74 @@ +#!/router/bin/python + +import outer_packages +from client.trex_hltapi import CTRexHltApi +import traceback +import sys, time +from pprint import pprint + +def check_response(res): + if res['status'] == 0: + print 'Encountered error:\n%s' % res['log'] + sys.exit(1) + +if __name__ == "__main__": + try: + is_verbose = 2 if '--verbose' in sys.argv else 1 + hlt_client = CTRexHltApi(verbose = is_verbose) + + print 'Connecting...' + res = hlt_client.connect(device = 'csi-trex-04', port_list = [0], username = 'danklei', break_locks = True, reset = True) + check_response(res) + port_handle = res['port_handle'] + print 'Connected.' + + res = hlt_client.traffic_config('reset', port_handle = port_handle[:], ip_src_addr='1.1.1.1') + print res + check_response(res) + + res = hlt_client.traffic_config('create', port_handle = port_handle[:], ip_src_addr='1.1.1.1') + print res + check_response(res) + + + res = hlt_client.traffic_config('create', port_handle = port_handle[0], ip_src_addr='2.2.2.2') + check_response(res) + + + res = hlt_client.get_stats() + res = hlt_client.traffic_config('modify', port_handle = port_handle[0], stream_id = 1, ip_src_addr='6.6.6.6') + check_response(res) + #for stream_id, stream_data in hlt_client.get_port_streams(0).iteritems(): + # print '>>>>>>>>> %s: %s' % (stream_id, stream_data) + + + check_response(hlt_client.traffic_config('create', port_handle = port_handle[1], ip_src_addr='3.3.3.3')) + check_response(hlt_client.traffic_config('create', port_handle = port_handle[1], ip_src_addr='4.4.4.4')) + print '2' + check_response(htl_client.traffic_config('create', port_handle = port_handle[:], stream_id = 999, ip_src_addr='5.5.5.5')) + check_response(hlt_client.traffic_config('modify', port_handle = port_handle[0], stream_id = 1, ip_src_addr='6.6.6.6')) + print '3' + check_response(hlt_client.traffic_config('modify', port_handle = port_handle[1], stream_id = 1)) + +# res = hlt_client.traffic_config('create', port_handle = port_handle[1])#, ip_src_addr='2000.2.2') +# if res['status'] == 0: +# fail(res['log']) + + print 'got to running!' + check_response(hlt_client.traffic_control('run', port_handle = port_handle[1], mul = {'type': 'raw', 'op': 'abs', 'value': 10}, duration = 15)) + for i in range(0, 15): + print '.', + time.sleep(1) + + print 'stop the traffic!' + check_response(hlt_client.traffic_control('stop', port_handle = port_handle[1])) + + + except Exception as e: + print traceback.print_exc() + print e + raise + finally: + print 'Done.' + #if hlt_client.trex_client: + # res = hlt_client.teardown() |