How to Channel Bond two Nic cards in Mandrake 9.1

Im not all that savy with linux just yet... I'd  like to bond my two network cards. Is this possible with mandrake 9.1 and if so then how?

I have two 3com Server Nic cards installed. I plan to bond them and configure my 3com superstack 3300 to use port trunking capablities.

I rely souly on KDE 3.1.  So please explain it in the best possible GUI terms...

Your time is greatly appreciated...
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

I don't think there is a GUI option for doing this. I've never done it before, but a quick scout around, gives me the following links:

your first step would be to determine if you even have support for ifenslave. To do this, open a terminal window and type "ifenslave --help", you should get something like this:

# ifenslave --help
Usage: ifenslave [-afrvV] <master-interface> <slave-interface> [metric <N>]

Once you have that, I would suggest try setting it up as suggested in the first link above. This will involve hand editing the network config files.
c0rrupti0nAuthor Commented:
I found that ifenslave isnt installed on my OS...
Command doesnt exsist...

I follow the links given and find thing regarding whether or not its possible to install ifenslave under mandrake 9.1. Or if its even supported for mandrake... I find allot of support for Redhat.

Not to mention ive searched everywhere! for the program ifenslave and have some up with nothing :/

Can i get a detailed description of what needs to be done or if its even possible.

Thanks so much for your swift response...

It looks like the ifenslave command is provided by the iputils package. You can get it from here:

First check to see if you have the iputils package installed. Sorry, I am not familiar with Mandrake, only RedHat but will try to help as best I can.
Exploring SQL Server 2016: Fundamentals

Learn the fundamentals of Microsoft SQL Server, a relational database management system that stores and retrieves data when requested by other software applications.

c0rrupti0nAuthor Commented:
Hello again,

Thanks so much for the help... OK,

I installed the package and am now lost... I follow the readme @ inux/Documentation/network/ directory and no luck. iputils are installed properly but i cant seem to find the location it install it self... I know i sound like a complete idiot. But please bare with me... After finding the folder im going to need a lil assistance on compiling the kernal or whatever its called...

Thank you...
Not sure if Mandrake has the "locate" command. If it does, use this to find where the files are installed:

[root@wonderwoman /root 11:28:04] # locate ifenslave

If locate doesn't work, use the "find" command:

[root@wonderwoman /root 11:27:13] # find / -name ifenslave

The syntax for the find command is:
"/" specifies to start searching from the root directory (will search entire file system)
"-name" specifies to search for filename
"ifenslave" is the filename to match.

Something else you may notice, locate gives any file/path that matches the string you ask it to locate. Find only gives exact matches. Locate is also faster as it actually searches a DB that is updated daily. The find command actually physically looks in each directory for files.

Once you have found the loaction of ifenslave, try running it to see what happens, hopefully you should get some output from it.

Can I ask if there is any real use for bonding the two NIC's together. I don't mind doing it just for the point of doing it, I'm just curious.

(and yes, the hostname of my linux box IS "wonderwoman" ;)
c0rrupti0nAuthor Commented:
I managed to find the executable with the locate command... Now I'm going to need assistance in compiling the kernal.. or rebuilding it.. I am lost when it comes to doing this...
Is it necessary? Can I skip this step?

According to the Readme file. The following is suposidly needed:

Build the new kernel/modules.

Get update ifenslave.c (included in tar file.) (location to be determined.)

install ifenslave.c; do:
      gcc -O2 -o ifenslave ifenslave.c
      cp ifenslave /sbin/ifenslave

Modify /etc/conf.modules by adding the line:
      alias bond0 bonding
if you have found the executable, try running it with the "--help" option after it. Specify the full path to the executable, not just the actual executable name (ie. "/some/path/to/ifenslave" NOT "ifenslave")

You only need to rebuild the kernel if it doesn't have the appropriate options selected when it was compiled. Hopefully when you run the "ifenslave --help" command it might give some output to indicate whether or not this is so.

Where is the ifenslave installed to ?
c0rrupti0nAuthor Commented:
Im almost there i can sence it... heh

This is my output for ifconfig... I suposidly need to configure this first before anything else...
[workgroup@Storage sbin]$ ifconfig --help
  ifconfig [-a] [-i] [-v] [-s] <interface> [[<AF>] <address>]
  [add <address>[/<prefixlen>]]
  [del <address>[/<prefixlen>]]
  [[-]broadcast [<address>]]  [[-]pointopoint [<address>]]
  [netmask <address>]  [dstaddr <address>]  [tunnel <address>]
  [outfill <NN>] [keepalive <NN>]
  [hw <HW> <address>]  [metric <NN>]  [mtu <NN>]
  [[-]trailers]  [[-]arp]  [[-]allmulti]
  [multicast]  [[-]promisc]
  [mem_start <NN>]  [io_addr <NN>]  [irq <NN>]  [media <type>]
  [txqueuelen <NN>]
  [up|down] ...

  <HW>=Hardware Type.
  List of possible hardware types:
    loop (Local Loopback) slip (Serial Line IP) cslip (VJ Serial Line IP)
    slip6 (6-bit Serial Line IP) cslip6 (VJ 6-bit Serial Line IP) adaptive (Adaptive Serial Line IP)
    strip (Metricom Starmode IP) ash (Ash) ether (Ethernet)
    tr (16/4 Mbps Token Ring) tr (16/4 Mbps Token Ring (New)) ax25 (AMPR AX.25)
    netrom (AMPR NET/ROM) rose (AMPR ROSE) tunnel (IPIP Tunnel)
    ppp (Point-to-Point Protocol) hdlc ((Cisco)-HDLC) lapb (LAPB)
    arcnet (ARCnet) dlci (Frame Relay DLCI) frad (Frame Relay Access Device)
    sit (IPv6-in-IPv4) fddi (Fiber Distributed Data Interface) hippi (HIPPI)
    irda (IrLAP) ec (Econet) x25 (generic X.25)
  <AF>=Address family. Default: inet
  List of possible address families:
    unix (UNIX Domain) inet (DARPA Internet) inet6 (IPv6)
    ax25 (AMPR AX.25) netrom (AMPR NET/ROM) rose (AMPR ROSE)
    ipx (Novell IPX) ddp (Appletalk DDP) ec (Econet)
    ash (Ash) x25 (CCITT X.25)

The read mean file says:
For other distributions, you need to do something like:

/sbin/ifconfig bond0 addresss netmask broadcast up
/sbin/ifenslave bond0 eth0
/sbin/ifenslave bond0 eth1

But i tried this in several different ways and all i get are syntax errors...

Thanks again for the swift reply...
Have you done this:

Modify /etc/conf.modules by adding the line:
     alias bond0 bonding

You need to do this, as this essentially creates the bond0 device using the "bonding" module. Once you have done this, reboot and it should autoprobe for the stuff defined in conf.modules. If everything works, you should see a line during the boot sequence to say that the module "bonding" was successfully loaded. If it doesn't work, you will most likely get an error. Alternatively, if you don't want to reboot, you can try it manually by running the command "insmod" to insert the module (after modifying conf.modules) and then use the command "lsmod" to view the installed modules. You may need to specify a parameter to insmod (eg. "insmod bonding") to tell it what module to install, I can't remember and I'm not at a terminal at the moment to check.

Once you have done that, you can use the ifconfig command to give bond0 an ip address and mask. Once you have done this, you then add the eth0 & eth1 to bond0 using ifenslave.

Essentially "bond0" is a virtual network adapter and eth0 & eth1 are the phyical adapters enslaved to the bond0 card.
c0rrupti0nAuthor Commented:
I modified /etc/conf.modules and at boot up it said something about "loopback something something" OK.
So i assume this started just fine... Now my problem is the follow steps...  I ran the following...

ifconfig bond0 addresss netmask broadcast up
ifenslave bond0 eth0
ifenslave bond0 eth1

Then i got the following results:

[root@Storage sbin]# ifconfig bond0 addresss netmask broadcast up
addresss: Unknown host
ifconfig: `--help' gives usage information.
[root@Storage sbin]# ifenslave bond0 eth0
master has no hw address assigned; getting one from slave!
Something broke getting the master's IP address: Cannot assign requested address.
Something broke getting the master's destination address: Cannot assign requested address.
Something broke getting the master's broadcast address: Cannot assign requested address.
Something broke getting the master's netmask: Cannot assign requested address.
The interface eth0 is up, shutting it down it to enslave it.
Something broke setting the slave's address: Invalid argument.
Error setting the slave with SIOCSIFDSTADDR: Invalid argument.
Something broke setting the slave broadcast address: Invalid argument.
Something broke setting the slave netmask: Invalid argument.
SIOCBONDENSLAVE: 22 (Invalid argument).

Im not sure if I wrote the correct ip for the netmask or even the broadcast... My my network addresses are


you are supposed to actually put in your IP address where it says "address" EG. the line you type should be:

ifconfig bond0 netmask broadcast up

other than that, you got all the other parameters correct, the subnet mask is right and the broadcast is correct as well.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
c0rrupti0nAuthor Commented:
Please pardon my incompotents... Its just when reading from a readme file one would believe that they keep some sort of uniform when giving a how-to explanation. It didnt make sence to me for them to mention the word address and later in the command express the netmask and broadcast with ( paramaters. Not to mention how the word address was spelt as"addresss". But hey thats just me...

I will give it a try when i get to the office.. Thanks again man...
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Linux Networking

From novice to tech pro — start learning today.