- 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