mirror of
				https://github.com/Telecominfraproject/wlan-ap.git
				synced 2025-10-30 18:07:52 +00:00 
			
		
		
		
	Compare commits
	
		
			3 Commits
		
	
	
		
			v4.1.1
			...
			cloud_disc
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | c0c358cb50 | ||
|   | f3036317b4 | ||
|   | 2ae3092959 | 
| @@ -23,6 +23,7 @@ let ubus = libubus.connect(); | |||||||
| let uci = libuci.cursor(); | let uci = libuci.cursor(); | ||||||
| let state = DISCOVER; | let state = DISCOVER; | ||||||
| let discovery_method = ""; | let discovery_method = ""; | ||||||
|  | let discovery_block_list = []; | ||||||
| let validate_time; | let validate_time; | ||||||
| let offline_time; | let offline_time; | ||||||
| let orphan_time; | let orphan_time; | ||||||
| @@ -102,6 +103,9 @@ function gateway_load() { | |||||||
| } | } | ||||||
|  |  | ||||||
| function discovery_state_write() { | function discovery_state_write() { | ||||||
|  | 	if (length(discovery_method) == 0) | ||||||
|  | 		return; | ||||||
|  |  | ||||||
| 	let discovery_state = { | 	let discovery_state = { | ||||||
| 		"type": discovery_method, | 		"type": discovery_method, | ||||||
| 		"updated": time() | 		"updated": time() | ||||||
| @@ -155,6 +159,7 @@ function set_state(set) { | |||||||
| 		ulog(LOG_INFO, 'Wait for validation\n'); | 		ulog(LOG_INFO, 'Wait for validation\n'); | ||||||
| 		validate_time = time(); | 		validate_time = time(); | ||||||
| 		state = VALIDATING; | 		state = VALIDATING; | ||||||
|  | 		push(discovery_block_list, discovery_method); | ||||||
| 		break; | 		break; | ||||||
|  |  | ||||||
| 	case ONLINE: | 	case ONLINE: | ||||||
| @@ -163,6 +168,7 @@ function set_state(set) { | |||||||
| 			ulog(LOG_INFO, 'Setting cloud controller to validated\n'); | 			ulog(LOG_INFO, 'Setting cloud controller to validated\n'); | ||||||
| 			gateway_write({ valid: true }); | 			gateway_write({ valid: true }); | ||||||
| 			discovery_state_write(); | 			discovery_state_write(); | ||||||
|  | 			discovery_block_list = []; | ||||||
| 		} | 		} | ||||||
| 		break; | 		break; | ||||||
|  |  | ||||||
| @@ -231,6 +237,13 @@ function time_is_valid() { | |||||||
| 	return valid; | 	return valid; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | function is_discover_method_blacked() { | ||||||
|  | 	if (discovery_method in discovery_block_list) | ||||||
|  | 		return true; | ||||||
|  |  | ||||||
|  | 	return false; | ||||||
|  | } | ||||||
|  |  | ||||||
| function interval_handler() { | function interval_handler() { | ||||||
| 	printf(`State ${state}\n`); | 	printf(`State ${state}\n`); | ||||||
| 	switch(state) { | 	switch(state) { | ||||||
| @@ -260,19 +273,21 @@ function interval_handler() { | |||||||
| 		if (!time_is_valid()) | 		if (!time_is_valid()) | ||||||
| 			return; | 			return; | ||||||
|  |  | ||||||
| 		discovery_method = DISCOVER_DHCP; |  | ||||||
| 		if (discover_dhcp()) |  | ||||||
| 			return; |  | ||||||
|  |  | ||||||
| 		if (system('/usr/bin/est_client enroll')) | 		if (system('/usr/bin/est_client enroll')) | ||||||
| 			return; | 			return; | ||||||
|  |  | ||||||
|  | 		discovery_method = DISCOVER_DHCP; | ||||||
|  | 		if (!is_discover_method_blacked() && discover_dhcp()) | ||||||
|  | 			return; | ||||||
|  |  | ||||||
| 		discovery_method = DISCOVER_FLASH; | 		discovery_method = DISCOVER_FLASH; | ||||||
| 		if (!discover_flash()) | 		if (!is_discover_method_blacked() && !discover_flash()) | ||||||
| 			return; | 			return; | ||||||
|  |  | ||||||
| 		discovery_method = DISCOVER_LOOKUP; | 		discovery_method = DISCOVER_LOOKUP; | ||||||
| 		redirector_lookup(); | 		redirector_lookup(); | ||||||
|  |  | ||||||
|  | 		discovery_block_list = []; | ||||||
| 		break; | 		break; | ||||||
|  |  | ||||||
| 	case VALIDATING: | 	case VALIDATING: | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user