diff options
author | hauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-02-14 12:36:13 +0000 |
---|---|---|
committer | hauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-02-14 12:36:13 +0000 |
commit | 03eaf681abe52e6ea4bf52670f0a69baceb30245 (patch) | |
tree | ce9c9bcfeb6f820d2ae41bdd95f23149279e62ce /package/switch | |
parent | cc66ec01bb6b7ff587c5d50fe3b3f160a81ccca4 (diff) |
switch: export cpuport, ports and vlans via /proc
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35595 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/switch')
-rw-r--r-- | package/switch/src/switch-core.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/package/switch/src/switch-core.c b/package/switch/src/switch-core.c index c77e4bba4..ab0754c94 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} }; |