From 94dbffd540eea601aecad07e2df5bfd8a46672f3 Mon Sep 17 00:00:00 2001 From: Jay Vosburgh Date: Fri, 22 Sep 2006 21:52:15 -0700 Subject: [PATCH] bonding: Allow bonding to enslave a 10 Gig adapter Allow channel bonding to enslave a 10 Gig adapter without errors. Signed-off-by: Mitch Williams Acked-by: Jay Vosburgh Signed-off-by: Jeff Garzik --- drivers/net/bonding/bond_3ad.c | 11 ++++++++++- drivers/net/bonding/bond_main.c | 1 + 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/net/bonding/bond_3ad.c b/drivers/net/bonding/bond_3ad.c index 6a40707..c24b20a 100644 --- a/drivers/net/bonding/bond_3ad.c +++ b/drivers/net/bonding/bond_3ad.c @@ -85,6 +85,7 @@ #define AD_LINK_SPEED_BITMASK_10MBPS 0x2 #define AD_LINK_SPEED_BITMASK_100MBPS 0x4 #define AD_LINK_SPEED_BITMASK_1000MBPS 0x8 +#define AD_LINK_SPEED_BITMASK_10000MBPS 0x10 //endalloun // compare MAC addresses @@ -330,7 +331,8 @@ static inline void __release_rx_machine_lock(struct port *port) * 0, * %AD_LINK_SPEED_BITMASK_10MBPS, * %AD_LINK_SPEED_BITMASK_100MBPS, - * %AD_LINK_SPEED_BITMASK_1000MBPS + * %AD_LINK_SPEED_BITMASK_1000MBPS, + * %AD_LINK_SPEED_BITMASK_10000MBPS */ static u16 __get_link_speed(struct port *port) { @@ -357,6 +359,10 @@ static u16 __get_link_speed(struct port *port) speed = AD_LINK_SPEED_BITMASK_1000MBPS; break; + case SPEED_10000: + speed = AD_LINK_SPEED_BITMASK_10000MBPS; + break; + default: speed = 0; // unknown speed value from ethtool. shouldn't happen break; @@ -775,6 +781,9 @@ static u32 __get_agg_bandwidth(struct aggregator *aggregator) case AD_LINK_SPEED_BITMASK_1000MBPS: bandwidth = aggregator->num_of_ports * 1000; break; + case AD_LINK_SPEED_BITMASK_10000MBPS: + bandwidth = aggregator->num_of_ports * 10000; + break; default: bandwidth=0; // to silent the compilor .... } diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 850aae2..13b4342 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c @@ -638,6 +638,7 @@ verify: case SPEED_10: case SPEED_100: case SPEED_1000: + case SPEED_10000: break; default: return -1; -- cgit v1.1