diff --git a/lib/ansible/module_utils/facts.py b/lib/ansible/module_utils/facts.py index f7e8d7fb9e..84c7a95e3e 100644 --- a/lib/ansible/module_utils/facts.py +++ b/lib/ansible/module_utils/facts.py @@ -1880,6 +1880,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] @@ -1893,6 +1894,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: @@ -1900,6 +1902,7 @@ class LinuxNetwork(Network): interfaces[iface]["ipv4_secondaries"] = [] interfaces[iface]["ipv4_secondaries"].append({ 'address': address, + 'broadcast': broadcast, 'netmask': netmask, 'network': network, }) @@ -1910,12 +1913,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