Merge "Make sure dnsmasq can distinguish IPv6 address from MAC address"
This commit is contained in:
commit
8d9223d27b
@ -417,16 +417,22 @@ class Dnsmasq(DhcpLocalProcess):
|
||||
name = 'host-%s.%s' % (r.sub('-', alloc.ip_address),
|
||||
self.conf.dhcp_domain)
|
||||
set_tag = ''
|
||||
# (dzyu) Check if it is legal ipv6 address, if so, need wrap
|
||||
# it with '[]' to let dnsmasq to distinguish MAC address from
|
||||
# IPv6 address.
|
||||
ip_address = alloc.ip_address
|
||||
if netaddr.valid_ipv6(ip_address):
|
||||
ip_address = '[%s]' % ip_address
|
||||
if getattr(port, 'extra_dhcp_opts', False):
|
||||
if self.version >= self.MINIMUM_VERSION:
|
||||
set_tag = 'set:'
|
||||
|
||||
buf.write('%s,%s,%s,%s%s\n' %
|
||||
(port.mac_address, name, alloc.ip_address,
|
||||
(port.mac_address, name, ip_address,
|
||||
set_tag, port.id))
|
||||
else:
|
||||
buf.write('%s,%s,%s\n' %
|
||||
(port.mac_address, name, alloc.ip_address))
|
||||
(port.mac_address, name, ip_address))
|
||||
|
||||
name = self.get_conf_file_name('host')
|
||||
utils.replace_file(name, buf.getvalue())
|
||||
|
@ -967,11 +967,11 @@ tag:44444444-4444-4444-4444-444444444444,option:bootfile-name,pxelinux3.0"""
|
||||
exp_host_data = ('00:00:80:aa:bb:cc,host-192-168-0-2.openstacklocal,'
|
||||
'192.168.0.2\n'
|
||||
'00:00:f3:aa:bb:cc,host-fdca-3ba5-a17a-4ba3--2.'
|
||||
'openstacklocal,fdca:3ba5:a17a:4ba3::2\n'
|
||||
'openstacklocal,[fdca:3ba5:a17a:4ba3::2]\n'
|
||||
'00:00:0f:aa:bb:cc,host-192-168-0-3.openstacklocal,'
|
||||
'192.168.0.3\n'
|
||||
'00:00:0f:aa:bb:cc,host-fdca-3ba5-a17a-4ba3--3.'
|
||||
'openstacklocal,fdca:3ba5:a17a:4ba3::3\n'
|
||||
'openstacklocal,[fdca:3ba5:a17a:4ba3::3]\n'
|
||||
'00:00:0f:rr:rr:rr,host-192-168-0-1.openstacklocal,'
|
||||
'192.168.0.1\n').lstrip()
|
||||
exp_opt_name = '/dhcp/cccccccc-cccc-cccc-cccc-cccccccccccc/opts'
|
||||
@ -1016,11 +1016,11 @@ tag:tag1,249,%s,%s""".lstrip() % (fake_v6,
|
||||
exp_host_data = ('00:00:80:aa:bb:cc,host-192-168-0-2.openstacklocal,'
|
||||
'192.168.0.2\n'
|
||||
'00:00:f3:aa:bb:cc,host-fdca-3ba5-a17a-4ba3--2.'
|
||||
'openstacklocal,fdca:3ba5:a17a:4ba3::2\n'
|
||||
'openstacklocal,[fdca:3ba5:a17a:4ba3::2]\n'
|
||||
'00:00:0f:aa:bb:cc,host-192-168-0-3.openstacklocal,'
|
||||
'192.168.0.3\n'
|
||||
'00:00:0f:aa:bb:cc,host-fdca-3ba5-a17a-4ba3--3.'
|
||||
'openstacklocal,fdca:3ba5:a17a:4ba3::3\n'
|
||||
'openstacklocal,[fdca:3ba5:a17a:4ba3::3]\n'
|
||||
'00:00:0f:rr:rr:rr,host-192-168-0-1.openstacklocal,'
|
||||
'192.168.0.1\n').lstrip()
|
||||
exp_host_data.replace('\n', '')
|
||||
|
Loading…
x
Reference in New Issue
Block a user