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 1497395 - client get ipv6 address which do not in the dnsmasq dhcp range
Summary: client get ipv6 address which do not in the dnsmasq dhcp range
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: dnsmasq
Version: 7.4
Hardware: Unspecified
OS: Unspecified
low
medium
Target Milestone: rc
: ---
Assignee: Petr Menšík
QA Contact: qe-baseos-daemons
URL:
Whiteboard:
Depends On:
Blocks: 1534569
TreeView+ depends on / blocked
 
Reported: 2017-09-30 05:31 UTC by yalzhang@redhat.com
Modified: 2020-05-27 14:33 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-05-27 14:33:32 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
the output from "# tcpdump ip6 -i virbr1" (6.01 KB, text/plain)
2017-09-30 05:34 UTC, yalzhang@redhat.com
no flags Details

Description yalzhang@redhat.com 2017-09-30 05:31:52 UTC
Description of problem:
client get ipv6 address which do not in the dnsmasq dhcp range.

Version-Release number of selected component (if applicable):
# rpm -q libvirt dnsmasq
libvirt-3.7.0-2.el7.x86_64
dnsmasq-2.76-4.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1. As libvirt use dnsmasq as a dhcp server, start a guest connected to a network 'net', the guest can get  ipv6 address which in the defined range.
# virsh net-dumpxml net
<network connections='1' ipv6='yes'>
  <name>net</name>
  <uuid>ca9ea2a9-eed4-431d-b281-90458b7d83ea</uuid>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='virbr1' stp='on' delay='0'/>
  <mac address='52:54:00:7a:9e:b1'/>
  <ip address='192.168.100.1' netmask='255.255.255.0'>
  </ip>
  <ip family='ipv6' address='2001:db8:ca2:2::1' prefix='64'>
    <dhcp>
      <range start='2001:db8:ca2:2:5::100' end='2001:db8:ca2:2:5::1ff'/>
    </dhcp>
  </ip>
</network>

# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 2001:db8:ca2:2:5::1e7  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::5054:ff:fe7b:5191  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:7b:51:91  txqueuelen 1000  (Ethernet)

# cat /var/lib/libvirt/dnsmasq/net.conf
##WARNING:  THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
##OVERWRITTEN AND LOST.  Changes to this configuration should be made using:
##    virsh net-edit net
## or other application using the libvirt API.
##
## dnsmasq conf file created by libvirt
strict-order
pid-file=/var/run/libvirt/network/net.pid
except-interface=lo
bind-dynamic
interface=virbr1
dhcp-range=2001:db8:ca2:2:5::100,2001:db8:ca2:2:5::1ff,64
dhcp-lease-max=256
dhcp-hostsfile=/var/lib/libvirt/dnsmasq/net.hostsfile
addn-hosts=/var/lib/libvirt/dnsmasq/net.addnhosts
enable-ra

2.  destroy the 'dhcp server' and 'client' for step 3 to make the changes.
# virsh destroy yal; virsh net-destroy net
Domain yal destroyed

Network net destroyed


3. change the ipv6 ip-dhcp-range for the network, then start the network and vm

# virsh net-start net; virsh net-dumpxml net
Network net started

<network ipv6='yes'>
  <name>net</name>
  <uuid>ca9ea2a9-eed4-431d-b281-90458b7d83ea</uuid>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='virbr1' stp='on' delay='0'/>
  <mac address='52:54:00:7a:9e:b1'/>
  <ip address='192.168.100.1' netmask='255.255.255.0'>
  </ip>
  <ip family='ipv6' address='2001:db8:ca2:2::1' prefix='64'>
    <dhcp>
      <range start='2001:db8:ca2:2:7::200' end='2001:db8:ca2:2:7::2ff'/>
    </dhcp>
  </ip>
</network>

# virsh start yal
Domain yal started

# cat /var/lib/libvirt/dnsmasq/net.conf
##WARNING:  THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
##OVERWRITTEN AND LOST.  Changes to this configuration should be made using:
##    virsh net-edit net
## or other application using the libvirt API.
##
## dnsmasq conf file created by libvirt
strict-order
pid-file=/var/run/libvirt/network/net.pid
except-interface=lo
bind-dynamic
interface=virbr1
dhcp-range=2001:db8:ca2:2:7::200,2001:db8:ca2:2:7::2ff,64
dhcp-lease-max=256
dhcp-hostsfile=/var/lib/libvirt/dnsmasq/net.hostsfile
addn-hosts=/var/lib/libvirt/dnsmasq/net.addnhosts
enable-ra


4. log in guest and check the ipv6 address do not change, but it is not in the current range
# ifconfig -a
eth0: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether 52:54:00:7b:51:91  txqueuelen 1000  (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
....
# dhclient -6 
# ifconfig 
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 2001:db8:ca2:2:5::1e7  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::5054:ff:fe7b:5191  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:7b:51:91  txqueuelen 1000  (Ethernet)

Actual results:
client get ipv6 address which do not in the current dnsmasq dhcp range.

Expected results:
the guest should get a ipv6 address in the range of  "<range start='2001:db8:ca2:2:7::200' end='2001:db8:ca2:2:7::2ff'/>"

Additional info:
It seems the guest or host will remember what he has got or allocated last time until the lease time even the range changed.

Comment 2 yalzhang@redhat.com 2017-09-30 05:34:23 UTC
Created attachment 1332574 [details]
the output from "# tcpdump ip6  -i virbr1"

Comment 7 RHEL Program Management 2020-05-27 14:33:32 UTC
Development Management has reviewed and declined this request. You may appeal this decision by using your Red Hat support channels, who will make certain  the issue receives the proper prioritization with product and development management.

https://www.redhat.com/support/process/production/#howto


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