[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <48FE0EEB.7050503@anduras.de>
Date: Tue, 21 Oct 2008 19:18:35 +0200
From: Sven Anders <anders@...uras.de>
To: netdev@...r.kernel.org
Subject: Possible bug in bonding driver (with VLAN in ALB mode)
Hello!
We possible found an error in the bonding driver, but we are
not sure. Maybe some can help us here and possibly find time
to test it themself.
We have the following problem using Bonding and VLAN with ALB-Mode:
Shortly after initiating "iperf" traffic from each of the client
to each other client, all traffic collapses to one line. This is
expected behaviour of the ALB algorithmus, but we did not expect
this traffic to stay there!
We would expect the traffic to be rebalanced between the bonding
slaves, but it never happens.
We analysed it down to the ARP replies the bonding interface should
receive.
After an ARP request was sent (by the router) in the "rlb_arp_xmit()",
the "rlb_choose_channel()" function is called and reserves a
(placeholder) entry in the hash table. According to the comment this
entry will be updated later by the corresponding ARP reply.
Shortly afterwards we see an ARP reply package on the VLAN interface.
But it is never processed by "rlb_arp_recv()", because this function
only receives arp packages from bond0 and so the entry is never
updated.
Now the question:
We are not sure, if this is an error in the bonding driver.
Maybe we are doing something wrong?
Do we need to set some special /proc/sys/... values or
have to configure some driver special?
(And yes we want ALB, not LACP or anything other...!)
Here are some details about our network:
+-----------+
+----+ Client 1 |
+----------+ +----------+------+ +-----------+ +-----------+
| +--------+ +-----------------------------+ Client 2 |
| Router +--------+ Switch | +-----------+
| +--------+ | +-----------+
| +--------+ +-----------------------------+ Client 3 |
+----------+ +----------+------+ +-----------+ +-----------+
+----+ Client 4 |
+-----------+
Router:
eth0
eth1
eth2
eth3
bond0 (Slaves: eth0, eth1, eth2, eth3)
bond0.11 (VLAN 11) IP: 10.0.1.250/24
bond0.12 (VLAN 12) IP: 10.0.2.250/24
bond0.13 (VLAN 13) IP: 10.0.3.250/24
bond0.14 (VLAN 14) IP: 10.0.4.250/24
Routing for each subnet is enabled.
Switch (HP ProCurve):
4 wires to router (one for each physical interface, eth0-3)
each VLAN tagged (with 11,12,13,14)
1 wire to each client, untagged VLANs
Client1:
Network 10.0.1.1/24 GW: 10.0.1.250/24
Client2:
Network 10.0.2.1/24 GW: 10.0.2.250/24
Client 3:
...
Software/Hardware:
Linux: 2.6.26.2
Network driver: e1000e (0.4.1.7-NAPI)
Switch: HP ProCurve 5406zl
Bonding configuration:
Ethernet Channel Bonding Driver: v3.2.5 (March 21, 2008)
Bonding Mode: adaptive load balancing
Primary Slave: None
Currently Active Slave: eth11
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 100
Down Delay (ms): 100
Cheers
Sven Anders
--
Sven Anders <anders@...uras.de> () Ascii Ribbon Campaign
/\ Support plain text e-mail
ANDURAS service solutions AG
Innstraße 71 - 94036 Passau - Germany
Web: www.anduras.de - Tel: +49 (0)851-4 90 50-0 - Fax: +49 (0)851-4 90 50-55
Rechtsform: Aktiengesellschaft - Sitz: Passau - Amtsgericht Passau HRB 6032
Mitglieder des Vorstands: Sven Anders, Marcus Junker
Vorsitzender des Aufsichtsrats: Mark Peters
View attachment "anders.vcf" of type "text/x-vcard" (339 bytes)
Download attachment "signature.asc" of type "application/pgp-signature" (253 bytes)
Powered by blists - more mailing lists