Bug 1311857 - Error info when start an ethernet interface with multi static ipv6 address on host
Error info when start an ethernet interface with multi static ipv6 address on...
Status: ASSIGNED
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: libvirt (Show other bugs)
7.2
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Ján Tomko
Jingjing Shao
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2016-02-25 03:37 EST by Jingjing Shao
Modified: 2018-02-01 21:14 EST (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
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 Jingjing Shao 2016-02-25 03:37:09 EST
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 01:39:44 EDT
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 07:52:42 EDT
(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.*.

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