Bug 828524 - With multiple bond interfaces, only the first arp_interval and arp_ip_target "options" line is used.
With multiple bond interfaces, only the first arp_interval and arp_ip_target ...
Status: CLOSED NOTABUG
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: module-init-tools (Show other bugs)
5.8
Unspecified Linux
unspecified Severity high
: rc
: ---
Assigned To: David Shea
qe-baseos-daemons
:
Depends On:
Blocks: 921048 928849
  Show dependency treegraph
 
Reported: 2012-06-04 16:31 EDT by Dylan Gross
Modified: 2013-06-13 15:36 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-06-13 15:36:43 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Dylan Gross 2012-06-04 16:31:04 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):

Reproduced on:  
   kernel-2.6.18-274.12.1.el5 with initscripts-8.45.42-1.el5
   kernel-2.6.18.308.4.1.el5  with initscripts-8.45.42-1.el5

How reproducible:

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


  
Actual results:
    "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

Expected results:

    "ARP Polling Interval (ms):  1000"  for bond0
    "ARP IP target/s (n.n.n.n for):  192.168.1.100"  for bond0

     and ....

    "ARP Polling Interval (ms):  333"  for bond1
    "ARP IP target/s (n.n.n.n for):  192.168.1.101"  for bond1


Additional info:
    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.
Comment 1 Lukáš Nykrýn 2012-06-05 10:34:46 EDT
This should be probably addressed to module-init-tools.
Comment 2 David Cantrell 2013-03-20 09:19:49 EDT
Any additional information on this one?  The impact or perhaps cause via something else?
Comment 3 Dylan Gross 2013-03-20 10:03:35 EDT
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.  

https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_Linux/5/html-single/Deployment_Guide/index.html#s2-networkscripts-interfaces-chan
Comment 9 David Shea 2013-06-13 15:36:43 EDT
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.

Note You need to log in before you can comment on or make changes to this bug.