Red Hat Bugzilla – Bug 828524
With multiple bond interfaces, only the first arp_interval and arp_ip_target "options" line is used.
Last modified: 2013-06-13 15:36:43 EDT
Description of problem:
When more than one bonded network interface exists, and an "options" line exists for each in /etc/modprobe.conf, both bonded interfaces will be set with the options (arp_ip_target, arp_interval) from the first one.
Version-Release number of selected component (if applicable):
kernel-2.6.18-274.12.1.el5 with initscripts-8.45.42-1.el5
kernel-184.108.40.2068.4.1.el5 with initscripts-8.45.42-1.el5
Setup a server with two separate bonded interfaces (bond0, bond1), and set an options line in /etc/modprobe.conf for each with different arp_interval and arp_ip_target options.
Steps to Reproduce:
1. Setup two bonded interfaces.
2. Use the following in /etc/modprobe.conf...
alias bond0 bonding
options bond0 arp_interval=1000 arp_ip_target=192.168.1.100
alias bond1 bonding
options bond1 arp_interval=333 arp_ip_target=192.168.1.101
3. # cat /proc/net/bonding/bond0
# cat /proc/net/bonding/bond1
"ARP Polling Interval (ms): 1000" for both bond0 & bond1
"ARP IP target/s (n.n.n.n for): 192.168.1.100" for both bond0 & bond1
"ARP Polling Interval (ms): 1000" for bond0
"ARP IP target/s (n.n.n.n for): 192.168.1.100" for bond0
"ARP Polling Interval (ms): 333" for bond1
"ARP IP target/s (n.n.n.n for): 192.168.1.101" for bond1
We're not entirely sure of the impact but we came across this when investigating some flapping of the interface for which the setting are not taking effect and though it may have been the cause.
This should be probably addressed to module-init-tools.
Any additional information on this one? The impact or perhaps cause via something else?
After pointing customer to the "Important" note in the Deployment Guide, which suggests using the BONDING_OPTS in the ifcfg file instead of modprobe.conf, the correct behaviour was acheived.
Since the same kernel module is used for both bonding interfaces, modprobe.conf cannot be used to set different options for the two interfaces. Setting the bonding options per the method linked in comment 3 will correctly apply the options to the bonding interface rather than the bonding module.