Commit 19ddde1e authored by Jarod Wilson's avatar Jarod Wilson Committed by David S. Miller

bonding: add 802.3ad support for 25G speeds

Cut-n-paste enablement of 802.3ad bonding on 25G NICs, which currently
report 0 as their bandwidth.

CC: Jay Vosburgh <j.vosburgh@gmail.com>
CC: Veaceslav Falico <vfalico@gmail.com>
CC: Andy Gospodarek <andy@greyhouse.net>
CC: netdev@vger.kernel.org
Signed-off-by: default avatarJarod Wilson <jarod@redhat.com>
Acked-by: default avatarAndy Gospodarek <andy@greyhouse.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent be7164cd
...@@ -92,6 +92,7 @@ enum ad_link_speed_type { ...@@ -92,6 +92,7 @@ enum ad_link_speed_type {
AD_LINK_SPEED_2500MBPS, AD_LINK_SPEED_2500MBPS,
AD_LINK_SPEED_10000MBPS, AD_LINK_SPEED_10000MBPS,
AD_LINK_SPEED_20000MBPS, AD_LINK_SPEED_20000MBPS,
AD_LINK_SPEED_25000MBPS,
AD_LINK_SPEED_40000MBPS, AD_LINK_SPEED_40000MBPS,
AD_LINK_SPEED_56000MBPS, AD_LINK_SPEED_56000MBPS,
AD_LINK_SPEED_100000MBPS, AD_LINK_SPEED_100000MBPS,
...@@ -260,6 +261,7 @@ static inline int __check_agg_selection_timer(struct port *port) ...@@ -260,6 +261,7 @@ static inline int __check_agg_selection_timer(struct port *port)
* %AD_LINK_SPEED_2500MBPS, * %AD_LINK_SPEED_2500MBPS,
* %AD_LINK_SPEED_10000MBPS * %AD_LINK_SPEED_10000MBPS
* %AD_LINK_SPEED_20000MBPS * %AD_LINK_SPEED_20000MBPS
* %AD_LINK_SPEED_25000MBPS
* %AD_LINK_SPEED_40000MBPS * %AD_LINK_SPEED_40000MBPS
* %AD_LINK_SPEED_56000MBPS * %AD_LINK_SPEED_56000MBPS
* %AD_LINK_SPEED_100000MBPS * %AD_LINK_SPEED_100000MBPS
...@@ -302,6 +304,10 @@ static u16 __get_link_speed(struct port *port) ...@@ -302,6 +304,10 @@ static u16 __get_link_speed(struct port *port)
speed = AD_LINK_SPEED_20000MBPS; speed = AD_LINK_SPEED_20000MBPS;
break; break;
case SPEED_25000:
speed = AD_LINK_SPEED_25000MBPS;
break;
case SPEED_40000: case SPEED_40000:
speed = AD_LINK_SPEED_40000MBPS; speed = AD_LINK_SPEED_40000MBPS;
break; break;
...@@ -707,6 +713,9 @@ static u32 __get_agg_bandwidth(struct aggregator *aggregator) ...@@ -707,6 +713,9 @@ static u32 __get_agg_bandwidth(struct aggregator *aggregator)
case AD_LINK_SPEED_20000MBPS: case AD_LINK_SPEED_20000MBPS:
bandwidth = nports * 20000; bandwidth = nports * 20000;
break; break;
case AD_LINK_SPEED_25000MBPS:
bandwidth = nports * 25000;
break;
case AD_LINK_SPEED_40000MBPS: case AD_LINK_SPEED_40000MBPS:
bandwidth = nports * 40000; bandwidth = nports * 40000;
break; break;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment