-  Review setting of bridge configuration on dynamic interface add
- _ifindex is not a reliable means of calculating metrics:
	_ifindex is used for calculating metrics for new devices but has a major
	problem: Since it's only the nth entry in /proc/net/dev
	And devices may be removed from that file, and reordered, you won't always
	get the same result.
	If you do:
	- add eth0 - _ifindex (eth0=0)
	- add vlan1 - _ifindex (eth0=0,vlan1=1)
	- add vlan2 - _ifindex (eth0=0,vlan1=1,vlan2=2)
	- rem vlan1 - _ifindex (eth0=0,vlan2=1)
	- add vlan3 - _ifindex (eth0=0,vlan2=1,vlan3=2)
	Now your routing table has entries for both vlan2 and vlan3 with a metric of 2.
- Support many more device types easily:
  - VXLAN: ip link add link dummy2 name vxlan199 type vxlan id 199 dev dummy2 group 224.2.0.199 dstport 4789
  - IPVLAN: ...
  - IFB: ip link add ifb0 type ifb 
  - CAN:
  - VCAN:
  - ip6tnl:
  - gre,gretap:
  - ip6gre,ip6gretap:
  - vti:
  - nlmon: ip link add nlmon0 type nlmon
  - ipvlan: ...
  - lowpan:
  - macvtap:
  - ipoib: ..
  - geneve: ip link add gen0 type geneve id 0 remote 192.168.53.53
  - macsec:
  - bridge_slave, bond_slave: (alter existing code)
  - veth


