optional number_template argument in create_l3

Signed-off-by: Matthew Stidham <stidmatt@protonmail.com>
This commit is contained in:
Matthew Stidham
2021-04-13 10:20:03 -07:00
parent ed9e909c0a
commit 61b8ea14df

View File

@@ -24,13 +24,14 @@ import time
import datetime import datetime
from realm import TestGroupProfile from realm import TestGroupProfile
class CreateL3(Realm): class CreateL3(Realm):
def __init__(self, def __init__(self,
ssid, security, password, sta_list, name_prefix, upstream, radio, ssid, security, password, sta_list, name_prefix, upstream, radio,
host="localhost", port=8080, mode = 0, ap=None, host="localhost", port=8080, mode=0, ap=None,
side_a_min_rate=56, side_a_max_rate=0, side_a_min_rate=56, side_a_max_rate=0,
side_b_min_rate=56, side_b_max_rate=0, side_b_min_rate=56, side_b_max_rate=0,
number_template="00000", use_ht160=False, number_template="00000", use_ht160=False,
_debug_on=False, _debug_on=False,
_exit_on_error=False, _exit_on_error=False,
_exit_on_fail=False): _exit_on_fail=False):
@@ -43,8 +44,8 @@ class CreateL3(Realm):
self.security = security self.security = security
self.password = password self.password = password
self.radio = radio self.radio = radio
self.mode= mode self.mode = mode
self.ap=ap self.ap = ap
self.number_template = number_template self.number_template = number_template
self.debug = _debug_on self.debug = _debug_on
self.name_prefix = name_prefix self.name_prefix = name_prefix
@@ -61,9 +62,8 @@ class CreateL3(Realm):
self.station_profile.mode = 9 self.station_profile.mode = 9
self.station_profile.mode = mode self.station_profile.mode = mode
if self.ap is not None: if self.ap is not None:
self.station_profile.set_command_param("add_sta", "ap",self.ap) self.station_profile.set_command_param("add_sta", "ap", self.ap)
#self.station_list= LFUtils.portNameSeries(prefix_="sta", start_id_=0, end_id_=2, padding_number_=10000, radio='wiphy0') #Make radio a user defined variable from terminal. # self.station_list= LFUtils.portNameSeries(prefix_="sta", start_id_=0, end_id_=2, padding_number_=10000, radio='wiphy0') #Make radio a user defined variable from terminal.
self.cx_profile.host = self.host self.cx_profile.host = self.host
self.cx_profile.port = self.port self.cx_profile.port = self.port
@@ -78,12 +78,11 @@ class CreateL3(Realm):
for sta in self.sta_list: for sta in self.sta_list:
self.rm_port(sta, check_exists=True) self.rm_port(sta, check_exists=True)
def build(self): def build(self):
self.station_profile.use_security(self.security, self.station_profile.use_security(self.security,
self.ssid, self.ssid,
self.password) self.password)
self.station_profile.set_number_template(self.number_template) self.station_profile.set_number_template(self.number_template)
print("Creating stations") print("Creating stations")
self.station_profile.set_command_flag("add_sta", "create_admin_down", 1) self.station_profile.set_command_flag("add_sta", "create_admin_down", 1)
@@ -93,11 +92,12 @@ class CreateL3(Realm):
sta_names_=self.sta_list, sta_names_=self.sta_list,
debug=self.debug) debug=self.debug)
self.cx_profile.create(endp_type="lf_udp", self.cx_profile.create(endp_type="lf_udp",
side_a=self.station_profile.station_names, side_a=self.station_profile.station_names,
side_b=self.upstream, side_b=self.upstream,
sleep_time=0) sleep_time=0)
self._pass("PASS: Station build finished") self._pass("PASS: Station build finished")
def main(): def main():
parser = LFCliBase.create_basic_argparse( parser = LFCliBase.create_basic_argparse(
prog='create_l3.py', prog='create_l3.py',
@@ -136,49 +136,52 @@ python3 ./test_ipv4_variable_time.py
--a_min 1000 --a_min 1000
--b_min 1000 --b_min 1000
--ap "00:0e:8e:78:e1:76" --ap "00:0e:8e:78:e1:76"
--number_template 0000
--debug --debug
''') ''')
required_args=None required_args = None
for group in parser._action_groups: for group in parser._action_groups:
if group.title == "required arguments": if group.title == "required arguments":
required_args=group required_args = group
break; break;
if required_args is not None: if required_args is not None:
required_args.add_argument('--a_min', help='--a_min bps rate minimum for side_a', default=256000) required_args.add_argument('--a_min', help='--a_min bps rate minimum for side_a', default=256000)
required_args.add_argument('--b_min', help='--b_min bps rate minimum for side_b', default=256000) required_args.add_argument('--b_min', help='--b_min bps rate minimum for side_b', default=256000)
optional_args=None optional_args = None
for group in parser._action_groups: for group in parser._action_groups:
if group.title == "optional arguments": if group.title == "optional arguments":
optional_args=group optional_args = group
break; break;
if optional_args is not None: if optional_args is not None:
optional_args.add_argument('--mode',help='Used to force mode of stations') optional_args.add_argument('--mode', help='Used to force mode of stations')
optional_args.add_argument('--ap',help='Used to force a connection to a particular AP') optional_args.add_argument('--ap', help='Used to force a connection to a particular AP')
optional_args.add_argument('--number_template', help='Start the station numbering with a particular number. Default is 0000', default=0000)
args = parser.parse_args() args = parser.parse_args()
num_sta = 2 num_sta = 2
if (args.num_stations is not None) and (int(args.num_stations) > 0): if (args.num_stations is not None) and (int(args.num_stations) > 0):
num_sta = int(args.num_stations) num_sta = int(args.num_stations)
station_list = LFUtils.portNameSeries(prefix_="sta", start_id_=0, end_id_=num_sta-1, padding_number_=10000, radio=args.radio) station_list = LFUtils.portNameSeries(prefix_="sta", start_id_=0, end_id_=num_sta - 1, padding_number_=10000,
radio=args.radio)
ip_var_test = CreateL3(host=args.mgr, ip_var_test = CreateL3(host=args.mgr,
port=args.mgr_port, port=args.mgr_port,
number_template="0000", number_template=str(args.number_template),
sta_list=station_list, sta_list=station_list,
name_prefix="VT", name_prefix="VT",
upstream=args.upstream_port, upstream=args.upstream_port,
ssid=args.ssid, ssid=args.ssid,
password=args.passwd, password=args.passwd,
radio=args.radio, radio=args.radio,
security=args.security, security=args.security,
use_ht160=False, use_ht160=False,
side_a_min_rate=args.a_min, side_a_min_rate=args.a_min,
side_b_min_rate=args.b_min, side_b_min_rate=args.b_min,
mode=args.mode, mode=args.mode,
ap=args.ap, ap=args.ap,
_debug_on=args.debug) _debug_on=args.debug)
ip_var_test.pre_cleanup() ip_var_test.pre_cleanup()
ip_var_test.build() ip_var_test.build()