Allow channel bonding to enslave a 10 Gig adapter without errors.

Signed-off-by: Mitch Williams <[EMAIL PROTECTED]>
Acked-by: Jay Vosburgh <[EMAIL PROTECTED]>


diff -urpN -X linux-2.6.18-rc4-clean/Documentation/dontdiff 
linux-2.6.18-rc4-clean/drivers/net/bonding/bond_3ad.c 
linux-2.6.18-rc4/drivers/net/bonding/bond_3ad.c
--- linux-2.6.18-rc4-clean/drivers/net/bonding/bond_3ad.c       2006-06-17 
18:49:35.000000000 -0700
+++ linux-2.6.18-rc4/drivers/net/bonding/bond_3ad.c     2006-08-30 
11:31:45.000000000 -0700
@@ -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_
  *     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
                        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 ag
                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 -urpN -X linux-2.6.18-rc4-clean/Documentation/dontdiff 
linux-2.6.18-rc4-clean/drivers/net/bonding/bond_main.c 
linux-2.6.18-rc4/drivers/net/bonding/bond_main.c
--- linux-2.6.18-rc4-clean/drivers/net/bonding/bond_main.c      2006-08-21 
13:28:43.000000000 -0700
+++ linux-2.6.18-rc4/drivers/net/bonding/bond_main.c    2006-08-30 
10:49:37.000000000 -0700
@@ -638,6 +638,7 @@ verify:
        case SPEED_10:
        case SPEED_100:
        case SPEED_1000:
+       case SPEED_10000:
                break;
        default:
                return -1;

-- 
VGER BF report: H 0.0801872
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to