This service will be undergoing maintenance at 20:00 UTC, 2017-04-03. It is expected to last about 30 minutes
Bug 160710 - when using bonding, routes out of physical adapters are still configured
when using bonding, routes out of physical adapters are still configured
Status: CLOSED WONTFIX
Product: Red Hat Enterprise Linux 3
Classification: Red Hat
Component: kernel (Show other bugs)
3.0
x86_64 Linux
medium Severity high
: ---
: ---
Assigned To: John W. Linville
Brian Brock
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2005-06-16 16:06 EDT by Cole
Modified: 2007-11-30 17:07 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2005-08-03 12:14:22 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
jwltest-fib-enslave.patch (1.19 KB, patch)
2005-06-24 17:25 EDT, John W. Linville
no flags Details | Diff

  None (edit)
Description Cole 2005-06-16 16:06:23 EDT
Description of problem:
When bonding interfaces, three routes become active, 2 for the physical adapters
and one for the bonded adapter.

Version-Release number of selected component (if applicable):


How reproducible:
Bond 2 interfaces and notice that you must use ping -I bond0 etc for for
successful network communication

Steps to Reproduce:
1.Bond eth0 and eth1
2.run /sbin/ip route show
3.try and ping an external host(expect failure)
4.remove the eth routes using /sbin/ip route del
5.ping again (expect success)
  
Actual results:


Expected results:


Additional info:
The script we use to fix this in rhel 3 update 2 (/etc/init.d/route):
#!/bin/bash
 
###########################
# Add Support for chkconfig
###########################
 
# chkconfig: 3 10 99
# description: Custom route scripts
 
########################################
# Delete proto kernel routes for bonding
########################################
eth=true
int="eth0 eth1 eth2 eth3 bond0"
while [[ "$eth" = true ]];do
 
check=`/sbin/ip route show |grep eth`
bad=`/sbin/ip route show |grep eth |awk '{print $1}'`
 
for b in $bad
do
for i in $int
do
nohup /sbin/ip route del $b dev ${i} 2>&1 >/dev/null
done
done
 
if [[ $check = "" ]];then
eth=false ; else
eth=true
fi
done

Addendum a:
I also notice that every once and awhile, a route out of an eth interface will
sneak back into the route table.

Addendum b:
For due diligence, I added /etc/init.d/route to the end of /etc/init.d/network

Thanks,
Cole
Comment 5 John W. Linville 2005-06-24 17:25:49 EDT
Created attachment 115956 [details]
jwltest-fib-enslave.patch

Notify fib of enslaved interfaces, and have the fib remove their entries from
the routing table...
Comment 6 John W. Linville 2005-06-24 17:26:09 EDT
I have test kernels w/ the above patch here:  
  
   http://people.redhat.com/linville/kernels/rhel3/  
  
Please give them a try and see if the act in a desirable fashion.  I'm not  
100% sure that this patch will be acceptable, but if it works then that will  
be a "plus" to consider... :-)  Please post the test result here...thanks! 
Comment 7 John W. Linville 2005-08-03 12:14:22 EDT
Closed due to inactivity.  Please reopen when requested information becomes 
available.  Thanks! 

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