Bug 183124

Summary: Static routes can not be assigned to alias interfaces
Product: Red Hat Enterprise Linux 4 Reporter: Will Tatam <will>
Component: iprouteAssignee: Radek Vokál <rvokal>
Status: CLOSED NEXTRELEASE QA Contact: Brock Organ <borgan>
Severity: medium Docs Contact:
Priority: medium    
Version: 4.0   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-02-27 22:29:56 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Will Tatam 2006-02-26 15:48:49 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5

Description of problem:
When building a redundant router router we required that we have static router that are associated to an alias rather than the bare interface.

The reason for this is we have eth0 without an ip, but also eth0.123 and also eth0:1

Currenly if you try and add route-eth0:1 then ifup-routes will read the file but will try and pass the route command with the device as eth0:1 rather than eth0
We can't put the routes in route-eth0 as then it will complain that the network is unreachable as there aren't any ip addresses bound at the time eth0 is started



Version-Release number of selected component (if applicable):
initscripts-7.93.20.EL-1

How reproducible:
Always

Steps to Reproduce:
1. create eth0:1
2. create /etc/sysconfig/network-scripts/route-eth0:1
3. ifup eth0:1
  

Actual Results:  no routes added

Expected Results:  routes added 

Additional info:

--- ifup-routes.old     2006-02-26 15:47:56.000000000 +0000
+++ ifup-routes 2006-02-26 15:44:29.000000000 +0000
@@ -15,7 +15,9 @@
        if [ "x$(eval echo '$'GATEWAY$routenum)x" != "xx" ]; then
            line="$line via $(eval echo '$'GATEWAY$routenum)"
        fi
-       line="$line dev $2"
+       # WJT - 2006-02-26 - Extract the device name from things like eth2:1
+       dev=`/bin/echo $2 | /bin/awk -F: '{ print $1}'`
+       line="$line dev $dev"
        /sbin/ip route add $line
        routenum=$(($routenum+1))
     done

Comment 1 Bill Nottingham 2006-02-27 22:28:47 UTC
This problem is resolved in the next release of Red Hat Enterprise Linux. Red
Hat does not currently plan to provide a resolution for this in a Red Hat
Enterprise Linux update for currently deployed systems.

With the goal of minimizing risk of change for deployed systems, and in response
to customer and partner requirements, Red Hat takes a conservative approach when
evaluating changes for inclusion in maintenance updates for currently deployed
products. The primary objectives of update releases are to enable new hardware
platform support and to resolve critical defects. 

This fix is actually in the iproute package - newer versions allow the
alias-style device name to work.