RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1275232 - RFE: Add ipv6 fe80 link address to the virtual interface automatically while start a ipv6 network
Summary: RFE: Add ipv6 fe80 link address to the virtual interface automatically while ...
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: libvirt
Version: 7.2
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Ján Tomko
QA Contact: yalzhang@redhat.com
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-10-26 10:19 UTC by zhenfeng wang
Modified: 2018-06-02 08:41 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-06-02 08:41:57 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description zhenfeng wang 2015-10-26 10:19:39 UTC
Description of problem:
while start a ipv6 virtual network, there will have a new virtual interface created in the pysical host which got a globel ipv6 address from the ipv6 network, however, the virtual interface won't got a link local address like fe80 address automatically, this will lead the guest fail to bind the ipv6 network during we start the guest which graphical buffer bind to ipv6 network

Version-Release number of selected component (if applicable):
libvirt-1.2.17-13.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1.Prepare a xml for ipv6 network
#cat ipv6-net.xml
<network ipv6='yes'>
  <name>ipv6-net</name>
  <uuid>7ba66277-91b2-45b0-810b-f3620b924790</uuid>
  <forward mode='nat'/>
  <bridge name='virbr6' stp='on' delay='0'/>
  <mac address='52:54:00:46:07:af'/>
  <ip family='ipv6' address='2001:b8:ca2:2::1' prefix='64'>
    <dhcp>
      <range start='2001:b8:ca2:2:1::10' end='2001:b8:ca2:2:1::ff'/>
    </dhcp>
  </ip>
</network>


2.Define the network and start it, after start it, we could find the a new virtual interface created in the physcial host, however the interface have no linklocal address(fe80 address) assigned
#virsh define ipv6.xml
# virsh net-start ipv6-net
Network ipv6-net started

# ifconfifg
--

virbr6: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet6 2001:b8:ca2:2::1  prefixlen 64  scopeid 0x0<global>
        ether 52:54:00:46:07:af  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

3.Start a guest which graphical buffer listen on ipv6 network, guest will fail to start since failed to initialize spice server

#virsh dumpxml rhel72
--
    <graphics type='spice' autoport='yes'>
      <listen type='network' network='ipv6-net'/>
    </graphics>

# virsh start rhel72
error: Failed to start domain rhel72
error: internal error: process exited while connecting to monitor: ((null):21135): Spice-Warning **: reds.c:3107:reds_init_socket: reds_init_socket: binding socket to 2001:b8:ca2:2::1:5900 failed
2015-10-15T09:24:31.904199Z qemu-kvm: failed to initialize spice server

Actual results:
Fail to start guest while the guest's graphical buffer bind to ipv6 network

Expected results:
1.if we could implement this new function that assign a fe80 link address to the virtual interface automatically, then we hope fix it, since it's a very useful function for the guest's graphics 

2.if we could't support it, please record it in doc, so that it won't confuse the consumer 

Additional info:
File this bug during review the following bug
https://bugzilla.redhat.com/show_bug.cgi?id=1192318

Comment 1 Thomas Huth 2016-01-26 12:17:03 UTC
Could you try whether you get a link-local address when you use stp='off' instead of stp='on' in your ipv6-net.xml file?

Comment 2 zhenfeng wang 2016-01-27 05:55:16 UTC
Hi Thomas
could get the link-local address successfully while use stp='off'

pkginfo
libvirt-1.2.17-13.el7_2.2.x86_64

steps
1.Prepare a ipv6 net
# cat ipv6-net.xml 
<network ipv6='yes'>
  <name>ipv6-net</name>
  <uuid>7ba66277-91b2-45b0-810b-f3620b924790</uuid>
  <forward mode='nat'/>
  <bridge name='virbr6' stp='off' delay='0'/>
  <mac address='52:54:00:46:07:af'/>
  <ip family='ipv6' address='2001:b8:ca2:2::1' prefix='64'>
    <dhcp>
      <range start='2001:b8:ca2:2:1::10' end='2001:b8:ca2:2:1::ff'/>
    </dhcp>
  </ip>
</network>

# virsh net-define ipv6-net.xml 
Network ipv6-net defined from ipv6-net.xml

# virsh net-start ipv6-net
Network ipv6-net started

2.check new created virtual interface, it could get link-local address
#ifconfig
--
virbr6: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet6 fe80::5054:ff:fe46:7af  prefixlen 64  scopeid 0x20<link>
        inet6 2001:b8:ca2:2::1  prefixlen 64  scopeid 0x0<global>
        ether 52:54:00:46:07:af  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5  bytes 566 (566.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

3.Start a guest which graphical buffer listen on ipv6 network, guest could start successfully, also could connect guest's desktop with the assigned ipv6 address

#virsh dumpxml rhel7.1
--
    <graphics type='spice' autoport='yes'>
      <listen type='network' network='ipv6-net'/>
    </graphics>
    <graphics type='vnc' port='-1' autoport='yes'>
      <listen type='network' network='ipv6-net'/>
    </graphics>

# virsh start rhel7.1
Domain rhel7.1 started

#virsh dumpxml rhel7.1 
--
    <graphics type='spice' port='5900' autoport='yes' listen='2001:b8:ca2:2::1'>
      <listen type='network' address='2001:b8:ca2:2::1' network='ipv6-net'/>
    </graphics>
    <graphics type='vnc' port='5901' autoport='yes' listen='2001:b8:ca2:2::1'>
      <listen type='network' address='2001:b8:ca2:2::1' network='ipv6-net'/>
    </graphics>


#remote-viewer spice://[2001:b8:ca2:2::1]:5900
#remote-viewer vnc://[2001:b8:ca2:2::1]:5901

Comment 4 Ján Tomko 2018-06-02 08:41:57 UTC
Adding the link-local address is the kernel's business, libvirt should not touch them.


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