@@ -90,6 +90,7 @@
#define AD_LINK_SPEED_BITMASK_2500MBPS 0x10
#define AD_LINK_SPEED_BITMASK_10000MBPS 0x20
#define AD_LINK_SPEED_BITMASK_20000MBPS 0x40
+#define AD_LINK_SPEED_BITMASK_40000MBPS 0x80
/* compare MAC addresses */
#define MAC_ADDRESS_EQUAL(A, B) \
@@ -250,6 +251,7 @@ static inline int __check_agg_selection_timer(struct port *port)
* %AD_LINK_SPEED_BITMASK_2500MBPS,
* %AD_LINK_SPEED_BITMASK_10000MBPS
* %AD_LINK_SPEED_BITMASK_20000MBPS
+ * %AD_LINK_SPEED_BITMASK_40000MBPS
*/
static u16 __get_link_speed(struct port *port)
{
@@ -289,6 +291,10 @@ static u16 __get_link_speed(struct port *port)
speed = AD_LINK_SPEED_BITMASK_20000MBPS;
break;
+ case SPEED_40000:
+ speed = AD_LINK_SPEED_BITMASK_40000MBPS;
+ break;
+
default:
/* unknown speed value from ethtool. shouldn't happen */
speed = 0;
@@ -658,6 +664,9 @@ static u32 __get_agg_bandwidth(struct aggregator *aggregator)
case AD_LINK_SPEED_BITMASK_20000MBPS:
bandwidth = aggregator->num_of_ports * 20000;
break;
+ case AD_LINK_SPEED_BITMASK_40000MBPS:
+ bandwidth = aggregator->num_of_ports * 40000;
+ break;
default:
bandwidth = 0; /* to silence the compiler */
}