diff --git a/lib/ansible/module_utils/facts.py b/lib/ansible/module_utils/facts.py index b223c5f5f7..c4ad5cab73 100644 --- a/lib/ansible/module_utils/facts.py +++ b/lib/ansible/module_utils/facts.py @@ -1836,6 +1836,7 @@ class LinuxNetwork(Network): if words[0] == 'inet': if '/' in words[1]: address, netmask_length = words[1].split('/') + broadcast = words[3] else: # pointopoint interfaces do not have a prefix address = words[1] @@ -1849,6 +1850,7 @@ class LinuxNetwork(Network): interfaces[iface] = {} if not secondary and "ipv4" not in interfaces[iface]: interfaces[iface]['ipv4'] = {'address': address, + 'broadcast': broadcast, 'netmask': netmask, 'network': network} else: @@ -1856,6 +1858,7 @@ class LinuxNetwork(Network): interfaces[iface]["ipv4_secondaries"] = [] interfaces[iface]["ipv4_secondaries"].append({ 'address': address, + 'broadcast': broadcast, 'netmask': netmask, 'network': network, }) @@ -1866,12 +1869,14 @@ class LinuxNetwork(Network): interfaces[device]["ipv4_secondaries"] = [] interfaces[device]["ipv4_secondaries"].append({ 'address': address, + 'broadcast': broadcast, 'netmask': netmask, 'network': network, }) # If this is the default address, update default_ipv4 if 'address' in default_ipv4 and default_ipv4['address'] == address: + default_ipv4['broadcast'] = broadcast default_ipv4['netmask'] = netmask default_ipv4['network'] = network default_ipv4['macaddress'] = macaddress