NIC bonding and Etherchannel. Help!!!

Unanswered Question
Jun 28th, 2008

I am implementing NIC bonding/teaming with Catalyst 2960.

Linux_A has both NICs connected to the Catalyst 2960 with

a bonding interface. I setup the catalyst with EtherChannel

as follows:

interface GigabitEthernet0/2

description Generic dual-processor eth1

switchport access vlan 140

switchport mode access

load-interval 30

channel-group 1 mode on

spanning-tree portfast


C2960#sh run int g0/8

Building configuration...

Current configuration : 196 bytes


interface GigabitEthernet0/8

description Generic dual-processor eth0

switchport access vlan 140

switchport mode access

load-interval 30

channel-group 1 mode on

spanning-tree portfast


C2960#sh run inter port-channel1

Building configuration...

Current configuration : 101 bytes


interface Port-channel1

switchport access vlan 140

switchport mode access

load-interval 30



port-channel load-balance src-dst-ip

Here is an issue I am facing:

From Linux_A, I can send almost 200Mbps in total output to

Linux_B and Linux_C, I use Iperf to test this. I also

verified this with "show interface g0/2 and show interface

g0/8" that eth1 and eth0 of Linux_A is connected to,


From both Linux_B and Linux_C, I can send only 100Mbps

total to Linux_A. Again, I use Iperf to verify this

and show interface as well. I see that interface g0/2

has no traffics.

Can someone explain to me why it behaves that way?

IOS running on Catlyst 2960 is c2960-lanbasek9-mz.122-25.SEE4.bin


I have this problem too.
0 votes
  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 0 (0 ratings)
glen.grant Sat, 06/28/2008 - 16:35

What speed is the port speed that these negotiated at ? Are all 3 servers 100 meg connected ? Just a guess here , from linux "A" to linux B and c , the channel hashing algoritm is using a separate channel for each conversation going out so you get the full 200 meg . The conversation from b and c coming back in due to the algoritm the switch is using is probably riding a single port back in restricting it to 100 meg total. You may have to play with the etherchannel algorithm whether it be by mac address or ip address though its pretty hard to get an idea on how it will balance out with just 2 conversations . Etherchannel does not mean a conversation will use both ports for a given conversation , a single conversation will always ride down a single link in the channel.

cisco24x7 Sat, 06/28/2008 - 17:04

All of the servers are 100Meg connected.

Actually, I have Linux_B, Linux_C, Linux_D,..

Linux_Z (via vmware ESX) and I noticed the

same result. In other words, I have about 20

conversations and I noticed the same thing.

It maxes out at 100mbps when everything tries

to send files to Linux_A.

I have tried different combinations but no luck so far:

C2960(config)#port-channel lo

C2960(config)#port-channel load-balance ?

dst-ip Dst IP Addr

dst-mac Dst Mac Addr

src-dst-ip Src XOR Dst IP Addr

src-dst-mac Src XOR Dst Mac Addr

src-ip Src IP Addr

src-mac Src Mac Addr

Any more ideas please? Thanks.

cisco24x7 Sun, 06/29/2008 - 03:21


After removing "channel-group 1 mode on" from

interface g0/2 and g0/8, I can now send about

a total of 200Mbps From Linux_A to B and C and

that from Linux_B and C, I can send about a

total of 125Mbps, 67mbps on g0/2 and 58mbs

on g0/8.

anyone know why it behaves this way? Thanks.


This Discussion