mirror of
				https://github.com/Telecominfraproject/wlan-ap.git
				synced 2025-10-31 02:17:58 +00:00 
			
		
		
		
	ucentral-schema: add udhcpc-vsi-parse script
Fixes: WIFI-14271 Signed-off-by: Paul White <paul@shasta.cloud>
This commit is contained in:
		| @@ -0,0 +1,3 @@ | |||||||
|  | #!/bin/sh | ||||||
|  |  | ||||||
|  | /usr/share/ucentral/udhcpc-vsi-parse.uc "$@" | ||||||
							
								
								
									
										49
									
								
								feeds/ucentral/ucentral-schema/files/usr/share/ucentral/udhcpc-vsi-parse.uc
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										49
									
								
								feeds/ucentral/ucentral-schema/files/usr/share/ucentral/udhcpc-vsi-parse.uc
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,49 @@ | |||||||
|  | #!/usr/bin/ucode | ||||||
|  |  | ||||||
|  | let fs = require("fs"); | ||||||
|  |  | ||||||
|  | let cmd = ARGV[0]; | ||||||
|  | let ifname = getenv("interface"); | ||||||
|  | let vendor = getenv("vendor"); | ||||||
|  | let value = getenv("opt43"); | ||||||
|  |  | ||||||
|  | if (!ifname) | ||||||
|  |         exit(0); | ||||||
|  |  | ||||||
|  | if (!vendor) | ||||||
|  |     vendor = "unknown"; | ||||||
|  |  | ||||||
|  | if (cmd == "deconfig" || !vendor || !value) { | ||||||
|  |         // No VSI available | ||||||
|  |         if (fs.stat("/tmp/udhcpc-vsi.json")) { | ||||||
|  |                 let f = fs.open("/tmp/udhcpc-vsi.json", "r"); | ||||||
|  |                 let r_list = json(f.read('all')); | ||||||
|  |                 f.close(); | ||||||
|  |                 if (type(r_list) == "object") | ||||||
|  |                         vsi_list = r_list; | ||||||
|  |  | ||||||
|  |                 if (ifname in vsi_list) { | ||||||
|  |                         delete vsi_list[ifname]; | ||||||
|  |                         if (length(vsi_list)) | ||||||
|  |                                 fs.writefile("/tmp/udhcpc-vsi.json", vsi_list); | ||||||
|  |                         else | ||||||
|  |                                 fs.unlink("/tmp/udhcpc-vsi.json"); | ||||||
|  |                 } | ||||||
|  |         } | ||||||
|  | } | ||||||
|  | else if (cmd == "bound") { | ||||||
|  |     let vsi = { vendor, value }; | ||||||
|  |  | ||||||
|  |     let vsi_list = {}; | ||||||
|  |     if (fs.stat("/tmp/udhcpc-vsi.json")) { | ||||||
|  |             let f = fs.open("/tmp/udhcpc-vsi.json", "r"); | ||||||
|  |             let r_list = json(f.read('all')); | ||||||
|  |             f.close(); | ||||||
|  |             if (type(r_list) == "object") | ||||||
|  |                     vsi_list = r_list; | ||||||
|  |     } | ||||||
|  |     vsi_list[ifname] = vsi; | ||||||
|  |     fs.writefile("/tmp/udhcpc-vsi.json", vsi_list); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | exit(0); | ||||||
		Reference in New Issue
	
	Block a user
	 Paul White
					Paul White