summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2013-02-14 12:36:13 +0000
committerHauke Mehrtens <hauke@hauke-m.de>2013-02-14 12:36:13 +0000
commit60913bbac6756bf45b0a22ba575c8b68a8e432d4 (patch)
treea18da2fee9952252bb661797b8bdbf6d8a08450d
parentc75c1e03a3a73b896a2e061f47e6390c44fc6f7b (diff)
downloadmtk-20170518-60913bbac6756bf45b0a22ba575c8b68a8e432d4.zip
mtk-20170518-60913bbac6756bf45b0a22ba575c8b68a8e432d4.tar.gz
mtk-20170518-60913bbac6756bf45b0a22ba575c8b68a8e432d4.tar.bz2
switch: export cpuport, ports and vlans via /proc
SVN-Revision: 35595
-rw-r--r--package/switch/src/switch-core.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/package/switch/src/switch-core.c b/package/switch/src/switch-core.c
index c77e4bb..ab0754c 100644
--- a/package/switch/src/switch-core.c
+++ b/package/switch/src/switch-core.c
@@ -138,6 +138,24 @@ static int handle_driver_version(void *driver, char *buf, int nr)
return sprintf(buf, "%s\n", version);
}
+static int handle_driver_cpuport(void *driver, char *buf, int nr)
+{
+ int cpuport = ((switch_driver *) driver)->cpuport;
+ return sprintf(buf, "%i\n", cpuport);
+}
+
+static int handle_driver_ports(void *driver, char *buf, int nr)
+{
+ int ports = ((switch_driver *) driver)->ports;
+ return sprintf(buf, "%i\n", ports);
+}
+
+static int handle_driver_vlans(void *driver, char *buf, int nr)
+{
+ int vlans = ((switch_driver *) driver)->vlans;
+ return sprintf(buf, "%i\n", vlans);
+}
+
static void add_handler(switch_driver *driver, const switch_config *handler, struct proc_dir_entry *parent, int nr)
{
switch_priv *priv = (switch_priv *) driver->data;
@@ -221,6 +239,9 @@ static void do_unregister(switch_driver *driver)
switch_config global_driver_handlers[] = {
{"driver", handle_driver_name, NULL},
{"version", handle_driver_version, NULL},
+ {"cpuport", handle_driver_cpuport, NULL},
+ {"ports", handle_driver_ports, NULL},
+ {"vlans", handle_driver_vlans, NULL},
{NULL, NULL, NULL}
};