From 737c752e91bf0c59b1df8266fb38497a7d1939bc Mon Sep 17 00:00:00 2001 From: Dipti Date: Thu, 13 Aug 2020 10:59:28 -0700 Subject: [PATCH] WIP- WAN to LAN build function added --- py-scripts/test_l3_WAN_LAN.py | 123 +++++++++++++++++++++++++--------- 1 file changed, 90 insertions(+), 33 deletions(-) diff --git a/py-scripts/test_l3_WAN_LAN.py b/py-scripts/test_l3_WAN_LAN.py index 7aca5a52..a58b7887 100755 --- a/py-scripts/test_l3_WAN_LAN.py +++ b/py-scripts/test_l3_WAN_LAN.py @@ -15,10 +15,11 @@ from LANforge.lfcli_base import LFCliBase from LANforge import LFUtils import realm import time +import pprint import datetime class L3LANtoWAN(LFCliBase): - def __init__(self, host, port, ssid, security, password, resource=1, sta_list=None, number_template="00000", _debug_on=False, + def __init__(self, host, port, ssid, security, password, resource=1, sta_list=None, number_template="00000", _debug_on=True, _exit_on_error=False, _exit_on_fail=False): super().__init__(host, port, _debug=_debug_on, _halt_on_error=_exit_on_error, _exit_on_fail=_exit_on_fail) @@ -33,26 +34,83 @@ class L3LANtoWAN(LFCliBase): self.number_template = number_template self.debug = _debug_on self.local_realm = realm.Realm(lfclient_host=self.host, lfclient_port=self.port) - self.station_profile = self.local_realm.new_station_profile() - - self.station_profile.lfclient_url = self.lfclient_url - self.station_profile.ssid = self.ssid - self.station_profile.ssid_pass = self.password, - self.station_profile.security = self.security - self.station_profile.number_template_ = self.number_template - self.station_profile.mode = 0 - + + #build bridge and rdd pair def build(self): - # Build stations - #print("We've gotten into the build stations function") - self.station_profile.use_security(self.security, self.ssid, self.password) - self.station_profile.set_number_template(self.number_template) - print("Creating stations") - self.station_profile.set_command_flag("add_sta", "create_admin_down", 1) - self.station_profile.set_command_param("set_port", "report_timer", 1500) - self.station_profile.set_command_flag("set_port", "rpt_timer", 1) - self.station_profile.create(resource=1, radio="wiphy0", sta_names_=self.sta_list, debug=self.debug) - self._pass("PASS: Station build finished") + # Build bridge + req_url_br = "cli-json/add_br" + data_br = { + "shelf": 1, + "resource": 1, + "port": 'br0', + "network_devs": 'rd0a', + "br_flags": 0, + "br_priority": 65535, + "br_aging_time": -1, + "br_max_age": -1, + "br_hello_time": -1, + "br_forwarding_delay":-1 + + } + + super().json_post(req_url_br, data_br, debug_ = self.debug) + + #set port json post + req_url_set_port = "cli-json/set_port" + data_set_port = { + "shelf": 1, + "resource": 1, + "port": 'br0', + "current_flags": 131072, + "interest": 8548171804, + "report_timer": 3000, + "br_priority": 65535, + "br_aging_time": -1, + "br_max_age": -1, + "br_hello_time": -1, + "br_forwarding_delay":-1, + "br_port_cost": -1, + "br_port_priority":255, + "current_flags_msk": 135107988821114880 + } + super().json_post(req_url_set_port, data_set_port, debug_ = self.debug) + + #add_vrcx + req_url_add_vrcx= "cli-json/add_vcrx" + data_add_vrcx = { + "shelf": 1, + "resource": 1, + "vr_name": 'Router-0', + "local_dev": 'br-0', + "x": 583, + "y": 117, + "width": 10, + "height": 10, + "flags": 257, + "subnets": '5.0.0.0/16', + "nexthop":'10.40.11.202', + "dhcp_lease_time": 43200, + "dhcp_dns":'0.0.0.0', + "interface_cost": 1, + "rip_metric": 1, + "vrrp_ip_prefix": 25, + "vrrp_id":1, + "vrrp_priority":100, + "vrrp_interval":1 + } + super().json_post(req_url_add_vrcx, data_add_vrcx, debug_ = self.debug) + + #add_vrcx2 + req_url_add_vrcx2= "cli-json/add_vrcx2" + data_add_vrcx2 = { + "shelf": 1, + "resource": 1, + "vr_name": 'Router-0', + "local_dev": 'br-0', + } + super().json_post(req_url_add_vrcx2, data_add_vrcx2, debug_ = self.debug) + + def start(self, sta_list, print_pass, print_fail): self.station_profile.admin_up(1) @@ -107,24 +165,23 @@ def main(): lfjson_host = "localhost" lfjson_port = 8080 station_list = LFUtils.portNameSeries(prefix_="sta", start_id_=0, end_id_=1, padding_number_=10000) - ip_test = IPv4Test(lfjson_host, lfjson_port, ssid="jedway-wpa3-44", password="jedway-wpa3-44", - security="wpa3", sta_list=station_list,_debug_on=False) - #print("created IPv4Test object") - ip_test.cleanup(station_list) + ip_test = L3LANtoWAN(lfjson_host, lfjson_port, ssid="jedway-open-1", password="[BLANK]", + security="open", sta_list=station_list,_debug_on=False) + #ip_test.cleanup(station_list) ip_test.timeout = 60 ip_test.build() if not ip_test.passes(): print(ip_test.get_fail_message()) exit(1) - ip_test.start(station_list, False, False) - ip_test.stop() - if not ip_test.passes(): - print(ip_test.get_fail_message()) - exit(1) - time.sleep(30) - ip_test.cleanup(station_list) - if ip_test.passes(): - print("Full test passed, all stations associated and got IP") + #ip_test.start(station_list, False, False) + #ip_test.stop() + #if not ip_test.passes(): + # print(ip_test.get_fail_message()) + # exit(1) + #time.sleep(30) + #ip_test.cleanup(station_list) + #if ip_test.passes(): + # print("Full test passed, all stations associated and got IP") if __name__ == "__main__":