Bug 1311857

Summary: Error info when start an ethernet interface with multi static ipv6 address on host
Product: Red Hat Enterprise Linux Advanced Virtualization Reporter: Jingjing Shao <jishao>
Component: libvirtAssignee: Virtualization Maintenance <virt-maint>
Status: CLOSED DEFERRED QA Contact: Jing Qi <jinqi>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.0CC: dyuan, mzhan, rbalakri, xuzhang, yalzhang
Target Milestone: rcKeywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-02-11 13:11:20 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 Jingjing Shao 2016-02-25 08:37:09 UTC
Description of problem:
Error info when start an ethernet interface with multi static ipv6 address on host

PKG
OS-rhel7.2
libvirt-1.3.1-1.el7.x86_64

How reproducible:
100%

Setup
1.save the config file of eth0
# cp /etc/sysconfig/network-scritps/ifcfg-eth0 /tmp

2. After the following test step is finished, please copy the ifcfg-eth0
back, and restart network to restore netowrk.


Steps to Reproduce:

1. prepare ipv6.xml
<interface type='ethernet' name='eth0'>
<start mode='onboot'/>
<protocol family='ipv6'>
<ip address='2002::200' prefix='64'/>
<ip address='2002::201' prefix='64'/>
</protocol>
</interface>


2.[root@localhost jishao]# service NetworkManager status
Redirecting to /bin/systemctl status NetworkManager.service
● NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Wed 2016-02-17 14:22:01 CST; 23min ago
Process: 10425 ExecStart=/usr/sbin/NetworkManager --no-daemon (code=exited, status=0/SUCCESS)


3.[root@localhost jishao]# virsh iface-define ipv6.xml
Interface eth0 defined from ipv6.xml

4.[root@localhost jishao]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
ONBOOT="yes"
IPV6INIT=yes
IPV6_AUTOCONF=no
DHCPV6=no
IPV6ADDR=2002::200/64
IPV6ADDR_SECONDARIES="2002::201/64"


5.[root@localhost jishao]# virsh iface-list --all
Name State MAC Address
---------------------------------------------------
eth0 inactive 44:37:e6:95:03:e4
lo active 00:00:00:00:00:00



6.[root@localhost jishao]# virsh iface-start eth0
error: Failed to start interface eth0
error: internal error: failed to create (start) interface eth0: unspecified error - interface eth0 failed to become active - possible disconnected cable.


7.[root@localhost jishao]# virsh iface-list
Name State MAC Address
---------------------------------------------------
eth0 active 44:37:e6:95:03:e4
lo active 00:00:00:00:00:00

8.[root@localhost jishao]# service network restart
Restarting network (via systemctl):                        [  OK  ]

9.[root@localhost jishao]# virsh iface-destroy eth0
Interface eth0 destroyed


Expected results:
eth0 started without error


Additional info:
On rhel7 guest, do all the steps, eth0 can be started without error

Comment 2 Jingjing Shao 2016-08-04 05:39:44 UTC
I try to reproduce the issus on r7.3 with kernel-3.10.0-482.el7.x86_64;
libvirt-2.0.0-4.el7.x86_64; netcf-0.2.8-2-el7.x86_64

#cat ipv6.xml
<interface type='ethernet' name='eth0'>
<start mode='onboot'/>
<protocol family='ipv6'>
<ip address='2002::200' prefix='64'/>
<ip address='2002::201' prefix='64'/>
</protocol>
</interface>

# service NetworkManager  status
Redirecting to /bin/systemctl status  NetworkManager.service
● NetworkManager.service - Network Manager
   Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Wed 2016-08-03 19:08:02 CST; 18h ago
     Docs: man:NetworkManager(8)
 Main PID: 795 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/NetworkManager.service

#virsh iface-define  ipv6.xml
Interface eno1 defined from ipv6.xml

#cat /etc/sysconfig/network-scripts/ifcfg-eno1
DEVICE="eno1"
ONBOOT="yes"
IPV6INIT="yes"
IPV6_AUTOCONF="no"
DHCPV6C="no"
IPV6ADDR="2002::200/64"
IPV6ADDR_SECONDARIES="2002::201/64"

# virsh iface-start eno1
Interface eno1 started   <-----it can be started without error.

# virsh iface-destroy eno1
Interface eno1 destroyed
# virsh iface-undefine eno1
Interface eno1 undefined

#cat cat ipv6-local.xml
<interface type='ethernet' name='eno1'>
  <start mode='onboot'/>
  <protocol family='ipv6'>
  </protocol>
</interface>

# virsh iface-define ipv6-local.xml
Interface eno1 defined from ipv6-local.xml

#virsh iface-start eno1    <-------it still started with error
error: Failed to start interface eno1
error: internal error: failed to create (start) interface eno1: unspecified error - interface eno1 failed to become active - possible disconnected cable.

# virsh iface-list 
 Name                 State      MAC Address
---------------------------------------------------
 eno1                 active     b4:b5:2f:af:a1:01

Comment 3 yalzhang@redhat.com 2017-04-27 11:52:42 UTC
(In reply to Jingjing Shao from comment #2)
I met the same issue as #c2, and it only happens on e1000e interface, the fail rate is more than 80%(17/20). When I use igb interface, it always works well.

NM is disabled;
kernel 3.10.0-655.el7.x86_64
initscripts-9.49.38-1.el7.x86_64
libvirt-3.2.0-3.el7.x86_64
netcf-libs-0.2.8-4.el7.x86_64

> #cat cat ipv6-local.xml
> <interface type='ethernet' name='eno1'>
>   <start mode='onboot'/>
>   <protocol family='ipv6'>
>   </protocol>
> </interface>
> 
> # virsh iface-define ipv6-local.xml
> Interface eno1 defined from ipv6-local.xml
> 
> #virsh iface-start eno1    <-------it still started with error
> error: Failed to start interface eno1
> error: internal error: failed to create (start) interface eno1: unspecified
> error - interface eno1 failed to become active - possible disconnected cable.
> 
> # virsh iface-list 
>  Name                 State      MAC Address
> ---------------------------------------------------
>  eno1                 active     b4:b5:2f:af:a1:01

1. # for i in {1..20}; do ifup enp1s0; echo $?; sleep 2; ifdown enp1s0; done 
===> enp1s0 is e1000e interface, ifup always succeed

2. # for i in {1..20}; do virsh iface-start enp1s0; echo $?; sleep 2; virsh iface-destroy enp1s0; done  ====> iface-start fail for 17 times

3. The same command as 2 but change to igb interface enp16s0f0 ===> iface-start always succeed


the log after start fail:
# tail /var/log/messages
Apr 27 19:46:40 sriov2 avahi-daemon[786]: Withdrawing address record for fe80::b6b5:2fff:feaf:a100 on enp1s0.
Apr 27 19:46:40 sriov2 dhclient[25353]: receive_packet failed on enp1s0: Network is down
Apr 27 19:46:40 sriov2 kernel: e1000e: enp1s0 NIC Link is Down
Apr 27 19:46:43 sriov2 kernel: IPv6: ADDRCONF(NETDEV_UP): enp1s0: link is not ready
Apr 27 19:46:43 sriov2 kernel: 8021q: adding VLAN 0 to HW filter on device enp1s0
Apr 27 19:46:44 sriov2 dhclient[25353]: DHCPDISCOVER on enp16s0f1 to 255.255.255.255 port 67 interval 17 (xid=0x6a721261)
Apr 27 19:46:47 sriov2 kernel: e1000e: enp1s0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
Apr 27 19:46:47 sriov2 kernel: IPv6: ADDRCONF(NETDEV_CHANGE): enp1s0: link becomes ready
Apr 27 19:46:48 sriov2 avahi-daemon[786]: Registering new address record for fe80::b6b5:2fff:feaf:a100 on enp1s0.*.

Comment 4 Jaroslav Suchanek 2020-02-11 13:11:20 UTC
This bug was closed deferred as a result of bug triage.

Please reopen if you disagree and provide justification why this bug should
get enough priority. Most important would be information about impact on
customer or layered product. Please indicate requested target release.