Properly set a broadcast address on new interfaces.

This commit is contained in:
Ryan Petrello 2015-02-02 10:26:02 -05:00
parent 4ddb937ad2
commit 4149504e77
2 changed files with 10 additions and 11 deletions

View File

@ -195,13 +195,10 @@ class IPManager(base.Manager):
Generates an `ip addr (add|del) <cidr> dev <ifname>` command.
"""
family = {4: 'inet', 6: 'inet6'}[address[0].version]
args = [
'addr',
cmd,
'%s/%s' % (address[0], address[1]),
'dev',
real_ifname
]
args = ['addr', cmd, '%s/%s' % (address[0], address[1])]
if cmd == 'add':
args += ['brd', '+']
args += ['dev', real_ifname]
if family == 'inet6':
args = ['-6'] + args
return args

View File

@ -254,13 +254,15 @@ class IPTestCase(TestCase):
mgr._update_addresses('em0', iface, old_iface)
assert self.mock_execute.call_args_list == [
mock.call([
cmd, 'addr', 'add', '192.168.105.2/24', 'dev', 'em0'
cmd, 'addr', 'add', '192.168.105.2/24', 'brd', '+', 'dev',
'em0'
], 'sudo'),
mock.call([cmd, 'link', 'set', 'em0', 'up'], 'sudo'),
mock.call([cmd, 'addr', 'show', 'em0']),
mock.call([
cmd, '-6', 'addr', 'add',
'fdca:3ba5:a17a:acda:20c:29ff:fe94:723d/64', 'dev', 'em0'
'fdca:3ba5:a17a:acda:20c:29ff:fe94:723d/64', 'brd', '+',
'dev', 'em0'
], 'sudo'),
mock.call([cmd, 'link', 'set', 'em0', 'up'], 'sudo'),
mock.call([cmd, 'addr', 'show', 'em0'])
@ -365,8 +367,8 @@ class IPTestCase(TestCase):
mock.call([cmd, 'link', 'set', 'eth0', 'up'], 'sudo'),
mock.call([
cmd, '-6', 'addr', 'add',
'fdca:3ba5:a17a:acda:f816:3eff:fe34:ba28/64', 'dev',
'eth0'
'fdca:3ba5:a17a:acda:f816:3eff:fe34:ba28/64', 'brd', '+',
'dev', 'eth0'
], 'sudo'),
mock.call([cmd, 'link', 'set', 'eth0', 'up'], 'sudo')
]