Created attachment 424439 [details]
Patch proposed by email@example.com
Description of problem:
The fix for bug #483711 cleans up /sys/class/net/bondX/bonding/arp_ip_target in ifdown.
When using /etc/modprobe.conf to set the bonding options (and not BONDING_OPTS in /etc/sysconfig/network-scripts/ifcfg-bond<x>, ie old-style config), then the interface will not come up after a network restart because the arp_ip_target is not restored.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Configure a bonding interface without specifying the options with BONDING_OPTS
2. Instead, specify the options in /etc/modprobe.conf
options bond0 mode=1 arp_interval=100 arp_ip_target=192.168.122.1
3. service network restart
bond0 will never come up because the arp_ip_target is cleared in ifdown
the arp_ip_target should be restored even when specified in modprobe.conf
Although the recommended way is to set the bonding options using BONDING_OPTS in /etc/sysconfig/network-scripts/ifcfg-bond<x> as stated in the deployment guide (http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/html/Deployment_Guide/s2-networkscripts-interfaces-chan.html), using the old-style modprobe.conf to set bonding options should not prevent the network from being restarted.
Attaching a patch proposed by firstname.lastname@example.org which adds the arp_ip_target only if not already present.
This patch fixes the issue without breaking the previous fix for bug #483711
This request was evaluated by Red Hat Product Management for inclusion in Red Hat Enterprise Linux 5.6 and Red Hat does not plan to fix this issue the currently developed update.
Contact your manager or support representative in case you need to escalate this bug.
OK, reading this patch some more, I see why it's the way that it is.
However, this would mean that bringing down a device configured with BONDING_OPTS would *not* clear arp_ip_target, which would lead to extra targets if the user changed the configuration. So I don't think this patch is correct as-is.
Created attachment 491474 [details]
Seems reasonable. Tweaked to apply, added upstream at 5749d2e9d5795fdaf65b97befd64cf90103d423d.
If backporting upstream, make sure to grab b24d6b8 as well.
(In reply to comment #11)
> If backporting upstream, make sure to grab b24d6b8 as well.
already upstream as 5749d2e9d5795fdaf65b97befd64cf90103d423d in RHEL-5 branch
Technical note added. If any revisions are required, please edit the "Technical Notes" field
accordingly. All revisions will be proofread by the Engineering Content Services team.
When a bonding interface was configured in the /etc/modprobe.conf file without specifying the options in the BONDING_OPTS variable, the arp_ip_target parameter value was cleared after a network restart. Subsequently, the interface connection could not be restored. With this update, the ifdown-eth script has been fixed to only add the arp_ip_target parameter if it is not present, fixing this bug.
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.