mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-10-29 01:22:25 +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