Bug 1311046 - dhclient process is created for dev even dev is added into bridge
dhclient process is created for dev even dev is added into bridge
Status: CLOSED WONTFIX
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: initscripts (Show other bugs)
6.8
x86_64 Linux
high Severity high
: rc
: ---
Assigned To: initscripts Maintenance Team
qe-baseos-daemons
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2016-02-23 04:13 EST by Jianlin Shi
Modified: 2016-11-25 07:58 EST (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-11-09 12:36:10 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Jianlin Shi 2016-02-23 04:13:37 EST
Description of problem:
dhclient process is created for dev even dev is added into bridge, which make the network of bridge unreachable

Version-Release number of selected component (if applicable):
distro: RHEL6.8-20160212.2
initscripts-9.03.50-1.el6.x86_64

How reproducible:
Almost always with reproducer 

Steps to Reproduce:
#!/bin/bash


nic_bkr=eth2
br_bkr=br_wan
nic_test=eth0


pkill dhclient
brctl delif $br_bkr $nic_bkr  && sleep 2 && dhclient $nic_bkr
ip addr flush dev $br_bkr
ip link set $br_bkr down
brctl delbr $br_bkr
service NetworkManager stop
iptables -F
ip6tables -F
setenforce 0

# prepare bridge shared by beaker and vm
pkill dhclient
sleep 2
brctl addbr $br_bkr
ip link set $br_bkr up
brctl addif $br_bkr $nic_bkr && dhclient $br_bkr
ip addr flush dev $nic_bkr
ip link set $nic_test up
ip addr flush dev $nic_test
brctl show
ip addr list up

Actual results:
network of bridge(br_wan) becomes unreachable

Expected results:
network of bridge can be reached

Additional info:

[root@hp-dl380pg8-16 test]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.8 Beta (Santiago)
[root@hp-dl380pg8-16 test]# uname -a            
Linux hp-dl380pg8-16.rhts.eng.pek2.redhat.com 2.6.32-614.el6.x86_64 #1 SMP Mon Feb 8 23:43:40 EST 2016 x86_64 x86_64 x86_64 GNU/Linux


after run reproducer:

[root@hp-dl380pg8-16 test]# ip addr sh up
ip addr sh up
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 90:e2:ba:29:c0:ac brd ff:ff:ff:ff:ff:ff
6: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 28:80:23:9d:46:9c brd ff:ff:ff:ff:ff:ff
    inet 10.73.130.101/23 brd 10.73.131.255 scope global eth2
36: br_wan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN 
    link/ether 28:80:23:9d:46:9c brd ff:ff:ff:ff:ff:ff
    inet 10.73.130.101/23 brd 10.73.131.255 scope global br_wan
    inet6 2620:52:0:4982:2a80:23ff:fe9d:469c/64 scope global dynamic 
       valid_lft 2591940sec preferred_lft 604740sec
    inet6 fe80::38ef:7eff:fe11:ae9/64 scope link 
       valid_lft forever preferred_lft forever

[root@hp-dl380pg8-16 test]# brctl show
brctl show
bridge name	bridge id		STP enabled	interfaces
br_wan		8000.2880239d469c	no		eth2
<============eth2 is in bridge br_wan

[root@hp-dl380pg8-16 test]# ps aux | grep dhclient
ps aux | grep dhclient
root     42365  0.0  0.0   9124   800 ?        Ss   17:08   0:00 dhclient br_wan
root     42436  0.0  0.0   9124   728 ?        S<s  17:08   0:00 /sbin/dhclient -H hp-dl380pg8-16 -1 -q -cf /etc/dhcp/dhclient-eth2.conf -lf /var/lib/dhclient/dhclient-eth2.leases -pf /var/run/dhclient-eth2.pid eth2
<==========dhclient process for eth2 is created
root     42509  0.0  0.0 106028   868 ttyS1    S+   17:09   0:00 grep dhclient

[root@hp-dl380pg8-16 test]# route -n
route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.73.130.0     0.0.0.0         255.255.254.0   U     0      0        0 br_wan
10.73.130.0     0.0.0.0         255.255.254.0   U     0      0        0 eth2
169.254.0.0     0.0.0.0         255.255.0.0     U     1006   0        0 eth2
0.0.0.0         10.73.131.254   0.0.0.0         UG    0      0        0 eth2

<===========route of eth2 is created. which makes br_wan unreachable .
Comment 1 Jianlin Shi 2016-02-23 04:15:09 EST
normal on rhel-6.7GA

[root@ibm-x3650m4-09 test]# uname -a
Linux ibm-x3650m4-09.rhts.eng.pek2.redhat.com 2.6.32-573.el6.x86_64 #1 SMP Wed Jul 1 18:23:37 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux
[root@ibm-x3650m4-09 test]# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 6.7 (Santiago)

After run reproducer:

[root@ibm-x3650m4-09 test]# ip addr sh up
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 8c:7c:ff:2e:14:00 brd ff:ff:ff:ff:ff:ff
6: eth4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 6c:ae:8b:38:aa:f2 brd ff:ff:ff:ff:ff:ff
14: br_wan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN 
    link/ether 6c:ae:8b:38:aa:f2 brd ff:ff:ff:ff:ff:ff
    inet 10.73.130.107/23 brd 10.73.131.255 scope global br_wan
    inet6 2620:52:0:4982:6eae:8bff:fe38:aaf2/64 scope global dynamic 
       valid_lft 2591961sec preferred_lft 604761sec
    inet6 fe80::fc1c:51ff:feb5:47f/64 scope link 
       valid_lft forever preferred_lft forever
[root@ibm-x3650m4-09 test]# ps aux | grep dhclient
root      8622  0.0  0.0   9120   808 ?        Ss   16:33   0:00 dhclient br_wan
root      8784  0.0  0.0 103320   928 pts/0    S+   17:14   0:00 grep dhclient
[root@ibm-x3650m4-09 test]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.73.130.0     0.0.0.0         255.255.254.0   U     0      0        0 br_wan
0.0.0.0         10.73.131.254   0.0.0.0         UG    0      0        0 br_wan
Comment 3 Lukáš Nykrýn 2016-02-23 06:29:11 EST
Can you attach here your ifcfg files? And if you have some ifcfg file related to the bridge interface, can you try adding there HOTPLUG=no?
Comment 4 Jianlin Shi 2016-02-23 20:32:37 EST
(In reply to Lukáš Nykrýn from comment #3)
> Can you attach here your ifcfg files? And if you have some ifcfg file
> related to the bridge interface, can you try adding there HOTPLUG=no?

[root@hp-dl380pg8-16 ~]# cat ifcfg-eth2 
DEVICE="eth2"
BOOTPROTO="dhcp"
HWADDR="28:80:23:9D:46:9C"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="370aa1fd-eb80-4369-8fa6-076626969775"

There is no ifcfg file for bridge, we added the bridge with ip manually.

After added HOTPLUG=no, the new dhclient process wasn't created any more.
Comment 5 Lukáš Nykrýn 2016-03-11 04:59:24 EST
This is yet another race with hotplug. The wrkaround is to eput HOPLUG not to sysconfig/network of the ifcfg files. Not a blocker for 6.8
Comment 7 David Kaspar [Dee'Kej] 2016-11-09 12:36:10 EST
It has been decided that race condition with HOTPLUG will not be fixed for RHEL-6. For more info, please refer to BZ #855107.

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