Bug 1879597

Summary: "dracut-initqueue[XXX]: RTNETLINK answers: Network is unreachable" when booting with static IP address
Product: Red Hat Enterprise Linux 8 Reporter: Renaud Métrich <rmetrich>
Component: dracutAssignee: Lukáš Nykrýn <lnykryn>
Status: CLOSED ERRATA QA Contact: Petr Matyáš <pmatyas>
Severity: low Docs Contact:
Priority: low    
Version: 8.2CC: dracut-maint-list, dtardon, fsumsal, pkhedeka, pmatyas
Target Milestone: rcKeywords: Bugfix, Triaged
Target Release: 8.0Flags: pm-rhel: mirror+
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: dracut-049-151.git20210719.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-11-09 19:38:39 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 Renaud Métrich 2020-09-16 15:23:43 UTC
Description of problem:

When booting with a static IP address configured on kernel command line, the following message is seen:

dracut-initqueue[XXX]: RTNETLINK answers: Network is unreachable

This is due to having the following code snippet in network-legacy dracut module:
-------- 8< ---------------- 8< ---------------- 8< ---------------- 8< --------
 98 do_static() {
 :
104     elif ! linkup "$netif"; then
 :
109     ip route get "$ip" | {
110         read a rest
111         if [ "$a" = "local" ]; then
112             warn "Not assigning $ip to interface $netif, cause it is already assigned!"
113             return 1
114         fi
115         return 0
116     } || return 1
 :
-------- 8< ---------------- 8< ---------------- 8< ---------------- 8< --------

On line 104, a "linkup" is made, but no IP address assigned (that's expected).
Then on line 109 a "ip route get <ip>" is made to check if the <ip> is already assigned.
Due to not having an IP address yet (which is expected), the "RTNETLINK answers: Network is unreachable" message is printed to stderr, while it should be hidden from the user.


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

dracut RH7 and RH8


How reproducible:

Always

Steps to Reproduce:
1. Boot with a static IP address on kernel command line

  ip=192.168.122.86::192.168.122.1:24:test:enp1s0:none

2. Check the console or journal

  # journalctl -b | grep RTNET

Actual results:

Sep 16 17:17:51 vm-rhel8 dracut-initqueue[472]: RTNETLINK answers: Network is unreachable

Expected results:

Nothing printed

Additional info:

Suggested fix:

109     ip route get "$ip" 2>/dev/null | {

Comment 4 Petr Matyáš 2021-08-11 08:24:48 UTC
Verified on dracut-049-188.git20210802.el8.x86_64

Comment 6 errata-xmlrpc 2021-11-09 19:38:39 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 (dracut bug fix and enhancement update), 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-2021:4394