luci-base: network.js: add getL2Device(), getMTU() helpers
authorJo-Philipp Wich <jo@mein.io>
Wed, 31 Jul 2019 18:01:11 +0000 (20:01 +0200)
committerJo-Philipp Wich <jo@mein.io>
Wed, 14 Aug 2019 20:58:15 +0000 (22:58 +0200)
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
modules/luci-base/htdocs/luci-static/resources/network.js

index 61fdafb9a048e7a8e2fca8cebe51165c586a04df..86e6ea574478d658e8a3365a2a364a1e280381bf 100644 (file)
@@ -517,6 +517,15 @@ function initNetworkState() {
 
                                s.bridges[devname] = b;
                        }
+
+                       if (s.interfaces.hasOwnProperty(devname)) {
+                               Object.assign(s.interfaces[devname], {
+                                       macaddr: dev.mac,
+                                       type:    dev.type,
+                                       mtu:     dev.mtu,
+                                       qlen:    dev.qlen
+                               });
+                       }
                }
 
                if (L.isObject(board.switch)) {
@@ -1546,6 +1555,11 @@ Protocol = L.Class.extend({
                }
        },
 
+       getL2Device: function() {
+               var ifname = this._ubus('device');
+               return (ifname != null ? L.network.instantiateDevice(ifname, this) : null);
+       },
+
        getDevices: function() {
                var rv = [];
 
@@ -1647,10 +1661,17 @@ Device = L.Class.extend({
        },
 
        getMAC: function() {
-               var mac = this._ubus('macaddr');
+               var mac = (this.dev != null ? this.dev.macaddr : null);
+               if (mac == null)
+                       mac = this._ubus('macaddr');
+
                return mac ? mac.toUpperCase() : null;
        },
 
+       getMTU: function() {
+               return this.dev ? this.dev.mtu : null;
+       },
+
        getIPAddrs: function() {
                var addrs = (this.dev != null ? this.dev.ipaddrs : null);
                return (Array.isArray(addrs) ? addrs : []);