summaryrefslogtreecommitdiffstats
path: root/scripts/automation/regression/hltapi_example.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/automation/regression/hltapi_example.py')
-rwxr-xr-xscripts/automation/regression/hltapi_example.py74
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()