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