Bug 1378917 - ifup waits for dadfailed tentative addresses
Summary: ifup waits for dadfailed tentative addresses
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: initscripts
Version: 7.3
Hardware: All
OS: Linux
medium
medium
Target Milestone: rc
: ---
Assignee: David Kaspar [Dee'Kej]
QA Contact: Leos Pol
URL:
Whiteboard:
Keywords: Patch
Depends On: 1392766
Blocks: 1380361 1393867 1400961
TreeView+ depends on / blocked
 
Reported: 2016-09-23 13:58 UTC by Leos Pol
Modified: 2017-08-01 07:29 UTC (History)
5 users (show)

(edit)
Clone Of:
(edit)
Last Closed: 2017-08-01 07:29:01 UTC


Attachments (Terms of Use)
exit-immediately-when-dadfailed.patch (2.31 KB, patch)
2016-09-27 14:36 UTC, David Kaspar [Dee'Kej]
no flags Details | Diff
exit-immediately-when-dadfailed.patch (2.39 KB, patch)
2016-10-04 13:06 UTC, David Kaspar [Dee'Kej]
dkaspar: review? (lnykryn)
Details | Diff


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2017:2286 normal SHIPPED_LIVE initscripts bug fix and enhancement update 2017-08-01 11:26:43 UTC
Red Hat Bugzilla 1245951 None CLOSED Corosync cannot bind to IPv6 address 2019-06-07 13:08 UTC

Internal Trackers: 1245951

Description Leos Pol 2016-09-23 13:58:57 UTC
Description of problem:
See also bz1245951.
While iface inicialization when dad fails, ipv6 address remains tentative and script remains in the loop for 30s logging
INFO     : [ipv6_wait_tentative] Waiting for interface eth0 IPv6 address(es) to leave the "tentative" state


Version-Release number of selected component (if applicable):
initscripts-9.49.37-1.el7

How reproducible:
always

Steps to Reproduce:
1. stop NetworkManager
2. configure two ifaces to same ipv6 address
3. bring up both devices

Actual results:
takes 30s to ifup the second device

Expected results:
ifup exits when address is in dadfailed state

Additional info:
network-functions-ipv6 uses following command to detect tentative addresses, but should ignore dadfailed ones.

# ip -6 addr show dev eth0 scope global tentative
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 state UP qlen 1000
    inet6 aaaa:bbbb:cccc::1234/64 scope global tentative dadfailed 
       valid_lft forever preferred_lft forever

Comment 2 David Kaspar [Dee'Kej] 2016-09-27 14:36 UTC
Created attachment 1205240 [details]
exit-immediately-when-dadfailed.patch

I have rewritten the previously patched code, to test for dadfailed.
 + added info output in case the interface is still in tentative state after the loop ends
 + refactored the code a little

Comment 3 David Kaspar [Dee'Kej] 2016-10-04 13:06 UTC
Created attachment 1207172 [details]
exit-immediately-when-dadfailed.patch

New version of the patch. I have fixed the missing variable name in if-condition, and corrected the error message.

Comment 5 David Kaspar [Dee'Kej] 2017-03-22 17:43:59 UTC
Pull-request has been merged into upstream:
https://github.com/fedora-sysv/initscripts/commit/eb1a9ae171f8be0137c146b9

Comment 8 Leos Pol 2017-05-29 08:45:55 UTC
With initscripts-9.49.39-1.el7 bringing iface with duplicate ipv6 immediately exits with following output:

INFO      : [ipv6_wait_tentative] Waiting for interface eth0 IPv6 address(es) to leave the 'tentative' state
ERROR     : [ipv6_wait_tentative] Duplicate Address Detection: Duplicate addresses detected
ERROR     : [ipv6_wait_tentative] Duplicate Address Detection: Please, fix your network configuration

Comment 11 errata-xmlrpc 2017-08-01 07:29:01 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2017:2286


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