mirror of
				https://github.com/Telecominfraproject/wlan-lanforge-scripts.git
				synced 2025-11-04 04:38:02 +00:00 
			
		
		
		
	this is the appropriate file to have that comment in Signed-off-by: Jed Reynolds <jed@bitratchet.com>
		
			
				
	
	
		
			130 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			130 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env python3
 | 
						|
"""
 | 
						|
NAME: jbr_create_wanlink.py
 | 
						|
 | 
						|
PURPOSE: create a wanlink
 | 
						|
 | 
						|
EXAMPLE:
 | 
						|
$ ./jbr_create_wanlink.py --host ct521a-jana --wl_name snail
 | 
						|
 | 
						|
NOTES:
 | 
						|
 | 
						|
 | 
						|
TO DO NOTES:
 | 
						|
 | 
						|
"""
 | 
						|
import sys
 | 
						|
 | 
						|
if sys.version_info[0] != 3:
 | 
						|
    print("This script requires Python3")
 | 
						|
    exit()
 | 
						|
 | 
						|
import importlib
 | 
						|
import argparse
 | 
						|
import pprint
 | 
						|
sys.path.insert(1, "../../")
 | 
						|
lanforge_api = importlib.import_module("lanforge_client.lanforge_api")
 | 
						|
from lanforge_client.lanforge_api import LFSession
 | 
						|
from lanforge_client.lanforge_api import LFJsonCommand
 | 
						|
from lanforge_client.lanforge_api import LFJsonQuery
 | 
						|
 | 
						|
 | 
						|
# import LANforge.lfcli_base
 | 
						|
# from LANforge.lfcli_base import LFCliBase
 | 
						|
 | 
						|
# ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- #
 | 
						|
 | 
						|
# ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- #
 | 
						|
def main():
 | 
						|
    parser = argparse.ArgumentParser(
 | 
						|
        prog=__file__,
 | 
						|
        formatter_class=argparse.RawTextHelpFormatter,
 | 
						|
        description='tests creating wanlink')
 | 
						|
    parser.add_argument("--host", "--mgr", help='specify the GUI to connect to, assumes port 8080')
 | 
						|
    parser.add_argument("--wl_name", help='name of the wanlink to create')
 | 
						|
    parser.add_argument("--resource", help='LANforge resource')
 | 
						|
    parser.add_argument("--debug", help='turn on debugging', action="store_true")
 | 
						|
 | 
						|
    args = parser.parse_args()
 | 
						|
    if not args.wl_name:
 | 
						|
        print("No wanlink name provided")
 | 
						|
        exit(1)
 | 
						|
 | 
						|
    session = LFSession(lfclient_url="http://%s:8080" % args.host,
 | 
						|
                        debug=args.debug,
 | 
						|
                        connection_timeout_sec=2.0,
 | 
						|
                        stream_errors=True,
 | 
						|
                        stream_warnings=True,
 | 
						|
                        require_session=True,
 | 
						|
                        exit_on_error=True)
 | 
						|
    command: LFJsonCommand
 | 
						|
    command = session.get_command()
 | 
						|
    query: LFJsonQuery
 | 
						|
    query = session.get_query()
 | 
						|
 | 
						|
    command.post_add_rdd(resource=args.resource,
 | 
						|
                         port="rd0a",
 | 
						|
                         peer_ifname="rd0b",
 | 
						|
                         report_timer=1000,
 | 
						|
                         shelf=1,
 | 
						|
                         debug=args.debug)
 | 
						|
 | 
						|
    command.post_add_rdd(resource=args.resource,
 | 
						|
                         port="rd1a",
 | 
						|
                         peer_ifname="rd1b",
 | 
						|
                         report_timer=1000,
 | 
						|
                         shelf=1,
 | 
						|
                         debug=args.debug)
 | 
						|
 | 
						|
    endp_a = args.wl_name + "-A"
 | 
						|
    endp_b = args.wl_name + "-B"
 | 
						|
    # Comment out some parameters like 'max_jitter', 'drop_freq' and 'wanlink'
 | 
						|
    # in order to view the X-Errors headers
 | 
						|
    command.post_add_wl_endp(alias=endp_a,
 | 
						|
                             shelf=1,
 | 
						|
                             resource=args.resource,
 | 
						|
                             wanlink=args.wl_name,
 | 
						|
                             speed=56000,
 | 
						|
                             port="rd0a",
 | 
						|
                             drop_freq="0",
 | 
						|
                             max_jitter="10",
 | 
						|
                             latency="10ms",
 | 
						|
                             min_reorder_amt="1",
 | 
						|
                             max_reorder_amt="10",
 | 
						|
                             min_drop_amt="1",
 | 
						|
                             debug=args.debug)
 | 
						|
    command.post_add_wl_endp(alias=endp_b,
 | 
						|
                             shelf=1,
 | 
						|
                             resource=args.resource,
 | 
						|
                             port="rd1a",
 | 
						|
                             wanlink=args.wl_name,
 | 
						|
                             speed=56000,
 | 
						|
                             drop_freq="0",
 | 
						|
                             max_jitter="10",
 | 
						|
                             latency="10ms",
 | 
						|
                             min_reorder_amt="1",
 | 
						|
                             max_reorder_amt="10",
 | 
						|
                             min_drop_amt="1",
 | 
						|
                             debug=args.debug)
 | 
						|
    command.post_add_cx(alias=args.wl_name,
 | 
						|
                        rx_endp=endp_a,
 | 
						|
                        tx_endp=endp_b,
 | 
						|
                        test_mgr="default_tm",
 | 
						|
                        debug=args.debug)
 | 
						|
    ewarn_list = []
 | 
						|
    result = query.get_wl(eid_list=[args.wl_name],
 | 
						|
                          wait_sec=0.2,
 | 
						|
                          timeout_sec=2.0,
 | 
						|
                          errors_warnings=ewarn_list,
 | 
						|
                          debug=args.debug)
 | 
						|
    pprint.pprint(result)
 | 
						|
    result = query.get_wl_endp(eid_list=[args.wl_name+"-A", args.wl_name+"-B"],
 | 
						|
                               wait_sec=0.2,
 | 
						|
                               timeout_sec=15.0,
 | 
						|
                               debug=args.debug)
 | 
						|
    pprint.pprint(result)
 | 
						|
 | 
						|
 | 
						|
if __name__ == "__main__":
 | 
						|
    main()
 |