happy to hear that as i thought it just an unmanaged switch (as what
you mentioned in your first post) without STP capability... STP will
block one of the ports of a switch if it sees two the same mac address
forming a loop... hence your alb is only working with one slave
port...

fooler.

On Sun, Mar 29, 2015 at 11:11 PM, Michael Tinsay <[email protected]> wrote:
> Well, I finally got it to work -- it turns out that I needed to disable the
> Spanning Tree Protocol feature of the switch as the "ARP magic trick" of alb
> does not work well with STP.
>
>
> --- mike t.
>
>
> ________________________________
> From: fooler mail <[email protected]>
> To: Michael Tinsay <[email protected]>; Philippine Linux Users' Group
> (PLUG) Technical Discussion List <[email protected]>
> Sent: Sunday, 29 March 2015, 9:59
>
> Subject: Re: [plug] balance-alb question
>
> hi mike,
>
> 160MBps x 8 bits is 1.28Gbps which is more than to your 1Gbps network
> card...  remember your speed is only as fast as its slowest link..
>
> i duplicate your network setup in my laptop running enterprise windows
> 8 (i7, 32gb ram, ssd)  as host OS and using virtualbox as
> virtualization software and redhat as guest OS... the following setup:
>
> network segment: 192.168.255.128/25
>
> server aka serverbond5 (192.168.255.254/25):
>
> [root@serverbond5 ~]# ifconfig bond0 | grep -B 2 "inet addr"
> bond0    Link encap:Ethernet  HWaddr 08:00:27:09:98:FB
>           inet addr:192.168.255.254  Bcast:192.168.255.255
> Mask:255.255.255.128
>
> [root@serverbond5 ~]# cat /proc/net/bonding/bond0
> Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)
>
> Bonding Mode: adaptive load balancing
> Primary Slave: None
> Currently Active Slave: eth1
> MII Status: up
> MII Polling Interval (ms): 0
> Up Delay (ms): 0
> Down Delay (ms): 0
>
> Slave Interface: eth1
> MII Status: up
> Speed: 1000 Mbps
> Duplex: full
> Link Failure Count: 0
> Permanent HW addr: 08:00:27:09:98:fb
> Slave queue ID: 0
>
> Slave Interface: eth2
> MII Status: up
> Speed: 1000 Mbps
> Duplex: full
> Link Failure Count: 0
> Permanent HW addr: 08:00:27:83:44:19
> Slave queue ID: 0
>
> client1 aka clientbond6 (192.168.255.129/25):
>
> [root@clientbond6 ~]# ifconfig eth1 | grep -B 2 "inet addr"
> eth1      Link encap:Ethernet  HWaddr 08:00:27:88:37:C8
>           inet addr:192.168.255.129  Bcast:192.168.255.255
> Mask:255.255.255.128
>
> client2 aka clientbond7 (192.168.255.130/25)
>
> [root@clientbond7 ~]# ifconfig eth1 | grep -B 2 "inet addr"
> eth1      Link encap:Ethernet  HWaddr 08:00:27:FE:6A:31
>           inet addr:192.168.255.130  Bcast:192.168.255.255
> Mask:255.255.255.128
>
>
> now let us see how bond mode 6 or alb works for *receive* load balancing...
>
> pinging from client1 to server...
>
> client1:
>
> [root@clientbond6 ~]# ping -c 1 192.168.255.254
> PING 192.168.255.254 (192.168.255.254) 56(84) bytes of data.
> 64 bytes from 192.168.255.254: icmp_seq=1 ttl=64 time=1.50 ms
>
> server listening at eth1:
>
> [root@serverbond5 ~]# tcpdump -i eth1 -nn icmp
> tcpdump: WARNING: eth1: no IPv4 address assigned
> tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
> listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
> 20:45:04.055800 IP 192.168.255.129 > 192.168.255.254: ICMP echo
> request, id 30724, seq 1, length 64
> 20:45:04.055822 IP 192.168.255.254 > 192.168.255.129: ICMP echo reply,
> id 30724, seq 1, length 64
>
> server listening at eth2:
>
> no icmp packets captured
>
> *********************
>
> pinging from client2 to server:
>
> client2:
>
> [root@clientbond7 ~]# ping -c 1 192.168.255.254
> PING 192.168.255.254 (192.168.255.254) 56(84) bytes of data.
> 64 bytes from 192.168.255.254: icmp_seq=1 ttl=64 time=40.1 ms
>
> server listening at eth1:
>
> no icmp packets captured
>
> server listening at eth2:
>
> [root@serverbond5 ~]# tcpdump -i eth2 -nn icmp
> tcpdump: WARNING: eth2: no IPv4 address assigned
> tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
> listening on eth2, link-type EN10MB (Ethernet), capture size 65535 bytes
> 20:52:36.973335 IP 192.168.255.130 > 192.168.255.254: ICMP echo
> request, id 52227, seq 1, length 64
> 20:52:36.973356 IP 192.168.255.254 > 192.168.255.130: ICMP echo reply,
> id 52227, seq 1, length 64
>
> at this point you see that client1 packets goes to eth1 and client2
> packets goes to eth2 ...
>
> now let us try again to repeat the process if the results are still the
> same..
>
> pinging from client1 to server:
>
> [root@clientbond6 ~]# ping -c 1 192.168.255.254
> PING 192.168.255.254 (192.168.255.254) 56(84) bytes of data.
> 64 bytes from 192.168.255.254: icmp_seq=1 ttl=64 time=0.278 ms
>
> from server listening at eth1:
>
> [root@serverbond5 ~]# tcpdump -i eth1 -nn icmp
> tcpdump: WARNING: eth1: no IPv4 address assigned
> tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
> listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
> 21:04:03.722654 IP 192.168.255.129 > 192.168.255.254: ICMP echo
> request, id 62723, seq 1, length 64
>
> from server listening at eth2:
>
> [root@serverbond5 ~]# tcpdump -i eth2 -nn icmp
> tcpdump: WARNING: eth2: no IPv4 address assigned
> tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
> listening on eth2, link-type EN10MB (Ethernet), capture size 65535 bytes
> 21:04:03.722681 IP 192.168.255.254 > 192.168.255.129: ICMP echo reply,
> id 62723, seq 1, length 64
>
> as you can see there.. icmp echo request goes to eth1 and icmp echo
> reply goes to eth2...
>
> ****************
>
> pinging from client2 to server:
>
> [root@clientbond7 ~]# ping -c 1 192.168.255.254
> PING 192.168.255.254 (192.168.255.254) 56(84) bytes of data.
> 64 bytes from 192.168.255.254: icmp_seq=1 ttl=64 time=0.436 ms
>
> from server listening at eth1:
>
> [root@serverbond5 ~]# tcpdump -i eth1 -nn icmp
> tcpdump: WARNING: eth1: no IPv4 address assigned
> tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
> listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
> 21:30:34.090810 IP 192.168.255.254 > 192.168.255.130: ICMP echo reply,
> id 61443, seq 1, length 64
>
> from server listening at eth2:
>
> [root@serverbond5 ~]# tcpdump -i eth2 -nn icmp
> tcpdump: WARNING: eth2: no IPv4 address assigned
> tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
> listening on eth2, link-type EN10MB (Ethernet), capture size 65535 bytes
> 21:30:34.090787 IP 192.168.255.130 > 192.168.255.254: ICMP echo
> request, id 61443, seq 1, length 64
>
> as you can see there.. icmp echo request goest to eth2 and icmp echo
> reply goes to eth1
>
> so this means... receive load balancing is balancing perfectly...
>
> did a test on transmit load balancing of mode 6 and it is load
> balancing perfectly also.... i was wrong to say regarding to the
> hashing of client address but i was right to say both slaves are
> active...
>
> to summarize... the fastest speed you can get is the slowest link
> between two end points...
>
> fooler.
>
>
>
> On Fri, Mar 27, 2015 at 10:49 PM,
>> Michael Tinsay <[email protected]> wrote:
>> Thanks Holden and Fooler.
>>
>> The crux of the issue is that I cannot seem to get the supposed "receive
>> load balancing" feature of balance-alb working as I expect it -- I'm still
>> only getting 100MBps when simultaneous transfers from both clients to the
>> server are happening;  I was expecting to see at least 160MBps if each
>> clients are transmitting to different NIC's in the server's bonded
>> interfaces.
>>
>>
>> --- mike t.
>>
>>
>>
>> ________________________________
>> From: Holden Hao <[email protected]>
>> To: Philippine Linux Users' Group (PLUG) Technical Discussion List
>> <[email protected]>
>> Cc: Michael Tinsay <[email protected]>
>> Sent: Friday, 27 March 2015, 11:18
>> Subject: Re: [plug] balance-alb question
>>
>> Mike,
>>
>> The following links might help you.  The first one is a detailed overview
>> of
>> link aggregation.  It uses round robin mode in the examples but the
>> explanations and tools might help.  The second one is about copying large
>> data between server and host using various FOSS tools.
>>
>> Speed Up Your Home Network With Link Aggregation in Linux Mint 17 and
>> Xubuntu 14.04
>>
>> https://delightlylinux.wordpress.com/2014/07/12/speed-up-your-home-network-with-link-aggregation-in-linux-mint-17-and-xubuntu-14-04/
>>
>> How to transfer large amounts of data via network
>> http://moo.nac.uci.edu/~hjm/HOWTO_move_data.html
>>
>> HTH,
>>
>>
>> Holden
>>
>>
>>
>> On Fri, Mar 27, 2015 at 8:21 AM, fooler mail <[email protected]>
>> wrote:
>>
>> dont forget also to set your swtich mtu to 9000 as path mtu discovery
>> (PMTUD) will choose the lowest mtu between the path of two hosts...
>>
>> fooler.
>>
>> On Thu, Mar 26, 2015 at 6:53 AM, fooler mail <[email protected]>
>> wrote:
>>> if i recall correctly.. alb slaves are both active and the one showing
>>> is just the current active... alb is using hashing to determined which
>>> slave interface should be use for this client.. hash value is based on
>>> client's address.. if both clients hash value are on the same index..
>>> then it will be using the same slave... but read the bond alb source
>>> code to know the details...
>>>
>>> for the meantime.. check your mtu if it sets to jumbo frames (eg. mtu
>>> 9000 ) as you can't saturate your gigabit card if you are only using
>>> mtu 1500...
>>>
>>> fooler.
>>>
>>> On Tue, Mar 24, 2015 at 4:34 AM, Michael Tinsay <[email protected]>
>>> wrote:
>>>> Hello PLUGgers!
>>>>
>>>>
>>>> I have a small setup here in the office to test NIC bonding performance,
>>>> specifically balance-alb or mode 6.  So I have the ff. machines:
>>>>
>>>> 1) SERVER: a desktop PC with two LAN ports (the mobo-built-in one plus a
>>>> PCI-card one, both are Realtek chipset using the r8169 driver)
>>>>
>>>> 2) CLIENT-A: a desktop PC with just 1 LAN port - the built-in one.
>>>>
>>>> 3) CLIENT-B: a laptop with a built-in LAN port.
>>>>
>>>> 4) An 8-port unmanaged Cisco/Linksys switch.
>>>>
>>>> All LAN ports in all machines are capable of 1GigE.
>>>>
>>>>
>>>> My goal is to see if the following will hold true:
>>>>
>>>> a) Simultaneous transfer of a 32GB-sized file from both CLIENT-A and
>>>> CLIENT-B to SERVER and getting a sustained transfer rate of 100MBps or
>>>> so
>>>> per client.
>>>>
>>>> b) Simultaneous transfer of a 32GB-sized file from SERVER to both
>>>> clients
>>>> and getting a sustained transfer rate of 100MBps or so per client.
>>>>
>>>>
>>>> However, I can't seem to achieve either of the goal.
>>>>
>>>> After a lot of googling around, "cat /proc/net/bonding/bond0" shows that
>>>> while both ethernet ports are slaved, only one is active.
>>>>
>>>> How do I make both slaves active?  My Google Fu is failing me on this.
>>>>
>>>>
>>>> --- mike t.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _________________________________________________
>>>> Philippine Linux Users' Group (PLUG) Mailing List
>>>> http://lists.linux.org.ph/mailman/listinfo/plug
>>>> Searchable Archives: http://archives.free.net.ph
>> _________________________________________________
>> Philippine Linux Users' Group (PLUG) Mailing List
>> http://lists.linux.org.ph/mailman/listinfo/plug
>> Searchable Archives: http://archives.free.net.ph
>
>
>
>>
>>
>>
>> _________________________________________________
>> Philippine Linux Users' Group (PLUG) Mailing List
>> http://lists.linux.org.ph/mailman/listinfo/plug
>> Searchable Archives: http://archives.free.net.ph
>>
>>
>>
>> _________________________________________________
>> Philippine Linux Users' Group (PLUG) Mailing List
>> http://lists.linux.org.ph/mailman/listinfo/plug
>> Searchable Archives: http://archives.free.net.ph
> _________________________________________________
> Philippine Linux Users' Group (PLUG) Mailing List
> http://lists.linux.org.ph/mailman/listinfo/plug
> Searchable Archives: http://archives.free.net.ph
>
>
>
> _________________________________________________
> Philippine Linux Users' Group (PLUG) Mailing List
> http://lists.linux.org.ph/mailman/listinfo/plug
> Searchable Archives: http://archives.free.net.ph
_________________________________________________
Philippine Linux Users' Group (PLUG) Mailing List
http://lists.linux.org.ph/mailman/listinfo/plug
Searchable Archives: http://archives.free.net.ph

Reply via email to