1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

Merge pull request #371 from lcosmin/devel

Added the network address of an interface as an ansible variable
This commit is contained in:
Michael DeHaan 2012-05-11 15:21:37 -07:00
commit 089c75016f

View file

@ -242,6 +242,9 @@ def get_network_facts(facts):
facts[iface]['ipv4'] = {} facts[iface]['ipv4'] = {}
facts[iface]['ipv4'] = { 'address': data[1].split(':')[1], facts[iface]['ipv4'] = { 'address': data[1].split(':')[1],
'netmask': data[-1].split(':')[1] } 'netmask': data[-1].split(':')[1] }
ip = struct.unpack("!L", socket.inet_aton(facts[iface]['ipv4']['address']))[0]
mask = struct.unpack("!L", socket.inet_aton(facts[iface]['ipv4']['netmask']))[0]
facts[iface]['ipv4']['network'] = socket.inet_ntoa(struct.pack("!L", ip & mask))
if 'inet6 addr' in line: if 'inet6 addr' in line:
(ip, prefix) = data[2].split('/') (ip, prefix) = data[2].split('/')
scope = data[3].split(':')[1].lower() scope = data[3].split(':')[1].lower()