Host to host NIC bonding works only in one direction

Discussion in 'Linux Networking' started by ricketts.s, Jul 18, 2007.

  1. ricketts.s

    ricketts.s Guest

    I am trying to set up a host-to-host link (no switch) between two
    ubuntu machines. I would like to use NIC bonding so that the link is
    made of two (or more) wired ethernet channels. My NICs support 100 Mb/
    s. In one direction (host a to host b), I can get about 190 Mb/s
    measured with iperf. In the other, however, I am only getting about 95
    Mb/s.

    My setup is as follows. Host A has a Broadcom BCM4401-B0 and a US
    Robotics USR997902. Host B has an Intel Pro 100 VE and a Realtek
    RTL-8139. Each machine also has a third NIC installed that I am not
    using. The Broadcom is wired directly to the Realtek, and the USR to
    the Intel. To configure the bonding, I first run mii-tool to make sure
    my links are ok. Then on each host I run

    modprobe bonding miimon=100
    ifconfig bond0 <addr>
    ifenslave bond0 ethX ethY

    where <addr> is the address of the other host and ethX and ethY are
    the appropriate devices. These instructions come from an example in
    Documentation/networking/bonding.txt.

    To measure the performance, I use iperf. I have tried both TCP and
    UDP. In both cases, the throughput is at 190 Mb/s when host a is the
    client and host b is the server, but when the opposite is true, the
    throughput is 95 Mb/s.

    A quick check of ifconfig shows that the USR on host a has only
    received 93 packets after running several performance tests, while the
    Broadcom has received about 300,000. However, their TX levels are both
    at about 350,000. So it seems the Intel->USR channel works only in one
    direction under the bonding.

    Any ideas? What other kind of output would help debug this problem?

    Thanks,
    S.
     
    ricketts.s, Jul 18, 2007
    #1
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.