net: bridge: assign path_cost for 2.5G and 5G link speed
authorSteven Hsieh <steven.hsieh@broadcom.com>
Wed, 28 Sep 2022 17:57:58 +0000 (10:57 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 30 Sep 2022 11:35:29 +0000 (12:35 +0100)
commitbd139381531987091d8c38e0d2c68faf1ad83668
treed467cf7958d4b42be9eb50bc0ec5f269a27aab04
parentdb7fccc122f4b5a6886e2a57b61019bdcab6dc22
net: bridge: assign path_cost for 2.5G and 5G link speed

As 2.5G, 5G ethernet ports are more common and affordable,
these ports are being used in LAN bridge devices.
STP port_cost() is missing path_cost assignment for these link speeds,
causes highest cost 100 being used.
This result in lower speed port being picked
when there is loop between 5G and 1G ports.

Original path_cost: 10G=2, 1G=4, 100m=19, 10m=100
Adjusted path_cost: 10G=2, 5G=3, 2.5G=4, 1G=5, 100m=19, 10m=100
                    speed greater than 10G = 1

Signed-off-by: Steven Hsieh <steven.hsieh@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/bridge/br_if.c