Increasing the number of network interfaces with VLANs increases power consumption .. any way to lower?

I have 7 interfaces on my OpenWrt router. They are using VLANs.

br-lan (eth0): lan, guest, iot, homeoffice, lxcbr0 and wg0
eth1: wan

I noticed that power consumption with all of them up is around 9 watts. If i stop them one-by-one with ifdown xxx until all are down, the power consumption drops to 5 watts. When I add them back one-by-one it creeps up to 9 watts again.

Is this to be expected, ie the cost of managing VLANs and more interfaces? Any ideas to reduce the power consumption, some power management of the NICs?

For reference:

/etc/config/network
config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix 'fd1d:692b:58dc::/48'
	option packet_steering '1'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'eth0'
	option ipv6 '0'

config bridge-vlan
	option device 'br-lan'
	option vlan '3'
	list ports 'eth0:t'

config bridge-vlan
	option device 'br-lan'
	option vlan '4'
	list ports 'eth0:t'

config bridge-vlan
	option device 'br-lan'
	option vlan '5'
	list ports 'eth0:t'

config bridge-vlan
	option device 'br-lan'
	option vlan '10'
	list ports 'eth0:t'

config device
	option type 'bridge'
	option name 'lxcbr0'
	option ipv6 '0'
	option bridge_empty '1'

config interface 'wan'
	option device 'eth1'
	option proto 'dhcp'
	option peerdns '0'
	list dns '1.1.1.1'
	list dns '1.0.0.1'

config interface 'guest'
	option device 'br-lan.3'
	option proto 'static'
	option ipaddr '10.9.7.1'
	option netmask '255.255.255.0'

config interface 'homeoffice'
	option device 'br-lan.4'
	option proto 'static'
	option ipaddr '10.9.6.1'
	option netmask '255.255.255.0'
	list dns '1.1.1.1'
	list dns '1.0.0.1'

config interface 'iot'
	option device 'br-lan.5'
	option proto 'static'
	option ipaddr '10.9.5.1'
	option netmask '255.255.255.0'

config interface 'lan'
	option device 'br-lan.10'
	option proto 'static'
	option ipaddr '10.9.8.1'
	option netmask '255.255.255.0'

config interface 'lxc'
	option device 'lxcbr0'
	option proto 'static'
	option ipaddr '10.0.4.1'
	option netmask '255.255.255.0'

config interface 'wg0'
	option proto 'wireguard'
...

I also tried hard-coding the VLANs without a bridge but that did not change things. For reference:

/etc/config/network
config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix 'fd1d:692b:58dc::/48'
	option packet_steering '1'

config device
	option name 'eth0'
	option ipv6 '0'

config device
	option name 'eth1'
	option ipv6 '0'

config device
	option name 'wg0'
	option ipv6 '0'

config device
	option name 'eth0.3'
	option type '8021q'
	option ifname 'eth0'
	option vid '3'
	option ipv6 '0'

config device
	option name 'eth0.4'
	option type '8021q'
	option ifname 'eth0'
	option vid '4'
	option ipv6 '0'

config device
	option name 'eth0.5'
	option type '8021q'
	option ifname 'eth0'
	option vid '5'
	option ipv6 '0'

config device
	option name 'eth0.10'
	option type '8021q'
	option ifname 'eth0'
	option vid '10'
	option ipv6 '0'

config device
	option type 'bridge'
	option name 'lxcbr0'
	option ipv6 '0'
	option bridge_empty '1'

config interface 'wan'
	option device 'eth1'
	option proto 'dhcp'
	option peerdns '0'
	list dns '1.1.1.1'
	list dns '1.0.0.1'

config interface 'guest'
	option device 'eth0.3'
	option proto 'static'
	option ipaddr '10.9.7.1'
	option netmask '255.255.255.0'

config interface 'homeoffice'
	option device 'eth0.4'
	option proto 'static'
	option ipaddr '10.9.6.1'
	option netmask '255.255.255.0'
	list dns '1.1.1.1'
	list dns '1.0.0.1'

config interface 'iot'
	option device 'eth0.5'
	option proto 'static'
	option ipaddr '10.9.5.1'
	option netmask '255.255.255.0'

config interface 'lan'
	option device 'eth0.10'
	option proto 'static'
	option ipaddr '10.9.8.1'
	option netmask '255.255.255.0'

config interface 'lxc'
	option device 'lxcbr0'
	option proto 'static'
	option ipaddr '10.0.4.1'
	option netmask '255.255.255.0'

config interface 'wg0'
	option proto 'wireguard'
...

This board uses two different NICs, one Realtek (eth0) and then other Intel (eth1). I also tried swapping eth0 with eth1 thus making the entire LAN side use eth1 but that did not change things.

What device are you using/ Does it have wifi enabled, too?

I wouldn't expect that basic VLANs would increase power consuption in general... typically, the power will increase as you have more traffic, so an idling device (with one or many VLANs) should have low consumption and a device doing a lot of routing would be higher, but it should be related to the amount of traffic that is being routed, not the number of networks. Have you run the same power tests when all devices are on a single network?

It is an AM06 Pro. I do not have the WiFi enabled. Only the iot interface has significant traffic (cameras streaming). The others are very sparsely populated.

EDIT: so does the LAN interface as I am running camera monitoring there...

If I stop, the IOT interface power consumption does not change. Again, it has the vast majority of the traffic.

So what kind of power consumption do you see if they are all on one subnet?

I haven’t tried putting all on the same.

OK mystery solved. It is a function of traffic as you suggested.

  • The iot interface flows about 15 GB/hour due to streaming cameras
  • The lan interface does the same since there is a camera monitoring box on there

If I stop the camera monitoring box, power consumption drops from 9 watts to 6 watts. If I stop the iot interface, it goes down to 5 watts. The other interfaces do not flow significant traffic at all.

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.