Bug 455186

Summary: zeroconf route on non-dhcp interface
Product: [Fedora] Fedora Reporter: Jerry Vonau <jvonau3>
Component: initscriptsAssignee: Bill Nottingham <notting>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 9CC: rvokal
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-07-15 00:26:43 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 Jerry Vonau 2008-07-13 18:17:20 UTC
Description of problem:
zeroconf route appears in routing table with no interfaces using dhcp 

Version-Release number of selected component (if applicable):
initscripts-8.76.2-1.i386


How reproducible:
Look at the any routing table, zeroconf route on the last interface to be enabled.

Steps to Reproduce:
1. /sbin/down eth0
2. /sbin/up eth0
3. look at the routing table
  
Actual results:
169.254.0.0/16 dev eth0  scope link 

Expected results:
no zeroconf route

Additional info:
diff to ifup-eth
 # Add Zeroconf route.
-if [ -z "${NOZEROCONF}" -a "${ISALIAS}" = "no" -a "${REALDEVICE}" != "lo" ]; then
+if [ -z "${NOZEROCONF}" -a "${DYNACONFIG}" = "true" -a "${ISALIAS}" = "no" -a
"${REALDEVICE}" != "lo" ]; then
     ip route replace 169.254.0.0/16 dev ${REALDEVICE} 
 fi

Comment 1 Jerry Vonau 2008-07-13 18:20:16 UTC
make that:

1. /sbin/ifdown eth0
2. /sbin/ifup eth0
 

Comment 2 Bill Nottingham 2008-07-14 15:37:50 UTC
There's no reason to not have the route for static IPs as well. Or am I
misunderstanding what you're asking?

Comment 3 Jerry Vonau 2008-07-14 18:07:29 UTC
Ok, lets expand a bit, a dhcp device would be un-configured until it's plugged
in and received a lease, while you can have a static ip address for a device
that, I would consider to be configured because of the network info, even if not
plugged in. If you have 2 or interfaces, one dhcp while the rest are static, the
last one to be enabled will get that route, not the newly "configured" dhcp
interface, done by a dhcp server. 

Is that not the point of zeroconf? adding a ipaddr/route to a device that is not
configured? Would this not be better added(created?) when dhcp couldn't
get/renew a lease? What ip address is used with this 169.254 route?


  

Comment 4 Bill Nottingham 2008-07-15 00:26:43 UTC
While it is the last interface configured, keying off of DYNCONFIG is the wrong
key - after all, you could have your static/dynamic devices ordered in any way.

Using the last device is the same algorithm used for gateway; considering that,
leaving the code as-is makes sense.