Bug 896235

Summary: Static ipv6 addresses are not available for services ordered after network.target
Product: [Fedora] Fedora Reporter: Scott Shambarger <scott-fedora>
Component: initscriptsAssignee: Bill Nottingham <notting>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 17CC: iarlyy, jonathan, lnykryn, notting, plautrba, rvokal, vpavlin
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: 2013-01-18 21:49:50 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Scott Shambarger 2013-01-16 21:43:09 UTC
Description of problem:

Adding a static ipv6 address in the ifcfg for an interface does not wait for duplicate address detection to complete before completing (and activating network.target)

Version-Release number of selected component (if applicable):
initscripts-9.37.2-1.fc17

How reproducible:

Depending on boot speed, services depending on network.target are unable to bind to configured static ipv6 addresses.

Steps to Reproduce:
1. Add static ipv6 address to ifcfg-{some interface} (IPV6ADDR entry)
2. Configure a service (say dovecot) to listen on the static ipv6 address
3. Reboot the system, and see the result that the service was unable to bind to the configured address (basically because duplicate addresses detection had not completed).
  
Actual results:

In the case of dovecot, the entire service fails when it can't listen on any of the configured addresses, and does not retry, error:

dovecot: master: Fatal: Failed to start listeners

Expected results:

ipv6 address should be available for binding by the time network.target is reached (similarly to ipv4, which performs pings to check for DAD, but the ipv4 address is available for binding at network.target).

Additional info:

dhclient-script from the dhclient package appears to do the right thing in the function add_ipv6_addr_with_DAD(), although I would think it could be made more responsive using "usleep 250000" rather than "sleep 1" (and more loops).

This bug appears to be similar to 782042 (reported against F16, and may be auto-closed soon).

Comment 1 Bill Nottingham 2013-01-18 21:49:32 UTC
It is the same, and https://bugzilla.redhat.com/show_bug.cgi?id=782042#c2 still stands.

Comment 2 Bill Nottingham 2013-01-18 21:49:50 UTC

*** This bug has been marked as a duplicate of bug 782042 ***