# Class: Device

## LuCI.network. Device

A `Network.Device` class instance represents an underlying Linux network device and allows querying device details such as packet statistics or MTU.

#### new LuCI.network.Device()

network.js, line 2716

### Methods

#### getBridgeID(){null|string}

network.js, line 2923

  Get the bridge ID

  ##### Returns:

  Type | Description
  --- | ---
  null | string | Returns the ID of this network bridge or `null` if this network device is not a Linux bridge.

#### getBridgeSTP(){boolean}

network.js, line 2935

  Get the bridge STP setting

  ##### Returns:

  Type | Description
  --- | ---
  boolean | Returns `true` when this device is a Linux bridge and has `stp` enabled, else `false`.

#### getI18n(){string}

network.js, line 2850

  Get a long description string for the device.

  ##### Returns:

  Type | Description
  --- | ---
  string | Returns a string containing the type description and device name for non-wifi devices or operation mode and ssid for wifi ones.

#### getIP6Addrs(){Array.<string>}

network.js, line 2794

  Get the IPv6 addresses configured on the device.

  ##### Returns:

  Type | Description
  --- | ---
  Array.<string> | Returns an array of IPv6 address strings.

#### getIPAddrs(){Array.<string>}

network.js, line 2783

  Get the IPv4 addresses configured on the device.

  ##### Returns:

  Type | Description
  --- | ---
  Array.<string> | Returns an array of IPv4 address strings.

#### getMAC(){null|string}

network.js, line 2762

  Get the MAC address of the device.

  ##### Returns:

  Type | Description
  --- | ---
  null | string | Returns the MAC address of the device or `null` if not applicable, e.g. for non-ethernet tunnel devices.

#### getMTU(){number}

network.js, line 2773

  Get the MTU of the device.

  ##### Returns:

  Type | Description
  --- | ---
  number | Returns the MTU of the device.

#### getName(){string}

network.js, line 2751

  Get the name of the network device.

  ##### Returns:

  Type | Description
  --- | ---
  string | Returns the name of the device, e.g. `eth0` or `wlan0`.

#### getNetwork(){null|LuCI.network.Protocol}

network.js, line 3030

  Get the primary logical interface this device is assigned to.

  ##### Returns:

  Type | Description
  --- | ---
  null | LuCI.network.Protocol | Returns a `Network.Protocol` instance representing the logical interface this device is attached to or `null` if it is not assigned to any logical interface.

#### getNetworks(){Array.<LuCI.network.Protocol>}

network.js, line 3041

  Get the logical interfaces this device is assigned to.

  ##### Returns:

  Type | Description
  --- | ---
  Array.<LuCI.network.Protocol> | Returns an array of `Network.Protocol` instances representing the logical interfaces this device is assigned to.

#### getPorts(){null|Array.<LuCI.network.Device>}

network.js, line 2901

  Get the associated bridge ports of the device.

  ##### Returns:

  Type | Description
  --- | ---
  null | Array.<LuCI.network.Device> | Returns an array of `Network.Device` instances representing the ports (slave interfaces) of the bridge or `null` when this device isn't a Linux bridge.

#### getRXBytes(){number}

network.js, line 2995

  Get the amount of received bytes.

  ##### Returns:

  Type | Description
  --- | ---
  number | Returns the amount of bytes received by the network device.

#### getRXPackets(){number}

network.js, line 3017

  Get the amount of received packets.

  ##### Returns:

  Type | Description
  --- | ---
  number | Returns the amount of packets received by the network device.

#### getShortName(){string}

network.js, line 2836

  Get a short description string for the device.

  ##### Returns:

  Type | Description
  --- | ---
  string | Returns the device name for non-wifi devices or a string containing the operation mode and SSID for wifi devices.

#### getTXBytes(){number}

network.js, line 2984

  Get the amount of transmitted bytes.

  ##### Returns:

  Type | Description
  --- | ---
  number | Returns the amount of bytes transmitted by the network device.

#### getTXPackets(){number}

network.js, line 3006

  Get the amount of transmitted packets.

  ##### Returns:

  Type | Description
  --- | ---
  number | Returns the amount of packets transmitted by the network device.

#### getType(){string}

network.js, line 2812

  Get the type of the device..

  ##### Returns:

  Type | Description
  --- | ---
  string | Returns a string describing the type of the network device: `alias` if it is an abstract alias device (`@` notation) `wifi` if it is a wireless interface (e.g. `wlan0`) `bridge` if it is a bridge device (e.g. `br-lan`) `tunnel` if it is a tun or tap device (e.g. `tun0`) `vlan` if it is a vlan device (e.g. `eth0.1`) `switch` if it is a switch device (e.g.`eth1` connected to switch0) `ethernet` for all other device types

#### getTypeI18n(){string}

network.js, line 2868

  Get a string describing the device type.

  ##### Returns:

  Type | Description
  --- | ---
  string | Returns a string describing the type, e.g. "Wireless Adapter" or "Bridge".

#### getWifiNetwork(){null|LuCI.network.WifiNetwork}

network.js, line 3065

  Get the related wireless network this device is related to.

  ##### Returns:

  Type | Description
  --- | ---
  null | LuCI.network.WifiNetwork | Returns a `Network.WifiNetwork` instance representing the wireless network corresponding to this network device or `null` if this device is not a wireless device.

#### isBridge(){boolean}

network.js, line 2963

  Checks whether this device is a Linux bridge.

  ##### Returns:

  Type | Description
  --- | ---
  boolean | Returns `true` when the network device is present and a Linux bridge, else `false`.

#### isBridgePort(){boolean}

network.js, line 2974

  Checks whether this device is part of a Linux bridge.

  ##### Returns:

  Type | Description
  --- | ---
  boolean | Returns `true` when this network device is part of a bridge, else `false`.

#### isUp(){boolean}

network.js, line 2947

  Checks whether this device is up.

  ##### Returns:

  Type | Description
  --- | ---
  boolean | Returns `true` when the associated device is running pr `false` when it is down or absent.