FS#24802 - [netcfg] Add support for network bonding

Attached to Project: Arch Linux
Opened by Massimiliano Torromeo (mtorromeo) - Monday, 20 June 2011, 17:08 GMT
Last edited by Rémy Oudompheng (remyoudompheng) - Saturday, 15 October 2011, 10:24 GMT
Task Type Feature Request
Category Arch Projects
Status Closed
Assigned To Rémy Oudompheng (remyoudompheng)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Netcfg doesn't seem to support network bonding.

This is probably to be considered more like a bug than a feature request.
Since netcfg is meant to replace the old networking script I think that it should provide at least the same level of functionalities.
This task depends upon

Closed by  Rémy Oudompheng (remyoudompheng)
Saturday, 15 October 2011, 10:24 GMT
Reason for closing:  No response
Additional comments about closing:  Partial implementation in netcfg 2.7
Comment by Rémy Oudompheng (remyoudompheng) - Sunday, 03 July 2011, 17:18 GMT
Please explain the features you need. netcfg allows to define brigde interfaces.
Comment by Massimiliano Torromeo (mtorromeo) - Sunday, 03 July 2011, 18:11 GMT
Well, as the title suggests, I need to bond 2 network interfaces togheter: http://linux-ip.net/html/ether-bonding.html
This was possible with the old network scripts, as described here: https://wiki.archlinux.org/index.php/Configuring_Network#Bonding
Comment by Byron Williams (reactor10) - Thursday, 14 July 2011, 09:05 GMT
The changes are not too challenging as most of the work has already been completed for the bridge connection. I attach 2 files: the bonding file which should live in /usr/lib/network/connections and my modified profile.

If netcfg exists within a git repo I can push the changes to you.
Comment by Rémy Oudompheng (remyoudompheng) - Thursday, 14 July 2011, 09:14 GMT
netcfg has a git repository which you can find at projects.archlinux.org.
Comment by Byron Williams (reactor10) - Thursday, 14 July 2011, 11:26 GMT
I've cloned the repo, made the changes and have pushed the changes to my Github account - you should be able to pull it from here.
- https://github.com/reactor10/archlinux-netcfg
Comment by Rémy Oudompheng (remyoudompheng) - Thursday, 14 July 2011, 11:30 GMT
Thank you, I'll have a look at them for netcfg 2.7 release.
Comment by Rémy Oudompheng (remyoudompheng) - Thursday, 14 July 2011, 13:51 GMT
Byron: having a first look at the first patch, I don't understand how it may possibly work, did you try it?
Comment by Byron Williams (reactor10) - Thursday, 14 July 2011, 15:45 GMT
I'm using it right now on a pair of servers with Quad-NICS. Bonding consists of 3 steps (http://linux-ip.net/html/ether-bonding.html):

1) Adding the module to the kernel (not part of the script)
$ modprobe bonding
2) Putting the Interface up and Initialising it with an IP
$ ip addr add 192.168.100.33/24 brd + dev bond0
$ ip link set dev bond0 up
3) Make eth3 and eth2 slaves of bond0
$ ifenslave bond0 eth2 eth3

I have almost directly translated this, however using the in-build netcfg functions

2) bring_interface up "$INTERFACE"
2) "$CONN_DIR/ethernet" up "$1"

3) for bond_client in $BOND_INTERFACES; do
3) bring_interface up "$INTERFACE"
3) $IFENSLAVE $INTERFACE $bond_client
3) done

$BOND_INTERFACES are described in the profile.
Comment by Rémy Oudompheng (remyoudompheng) - Thursday, 14 July 2011, 16:22 GMT
Hello, I don't think your patch actually creates the bond interface, so I am wondering how you can possibly make it work. Anyway, I have applied it in a slightly modified form, with no support for options: can you rebase your changes on it?
Comment by Rémy Oudompheng (remyoudompheng) - Saturday, 20 August 2011, 11:46 GMT
please test netcfg-git

Loading...