MCPcopy
hub / github.com/retspen/webvirtcloud / get_ipv4_network

Method get_ipv4_network

vrtManager/network.py:109–130  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

107 self.net.undefine()
108
109 def get_ipv4_network(self):
110 xml = self._XMLDesc(0)
111 if util.get_xml_path(xml, "/network/ip") is None:
112 return None
113 addrStr = util.get_xml_path(xml, "/network/ip/@address")
114 netmaskStr = util.get_xml_path(xml, "/network/ip/@netmask")
115 prefix = util.get_xml_path(xml, "/network/ip/@prefix")
116
117 if prefix:
118 prefix = int(prefix)
119 binstr = ((prefix * "1") + ((32 - prefix) * "0"))
120 netmaskStr = str(IP(int(binstr, base=2)))
121
122 if netmaskStr:
123 netmask = IP(netmaskStr)
124 gateway = IP(addrStr)
125 network = IP(gateway.int() & netmask.int())
126 ret = IP(str(network) + "/" + netmaskStr)
127 else:
128 ret = IP(str(addrStr))
129
130 return ret
131
132 def get_ipv4_forward(self):
133 xml = self._XMLDesc(0)

Callers 1

networkFunction · 0.80

Calls 3

_XMLDescMethod · 0.95
IPClass · 0.90
intMethod · 0.80

Tested by

no test coverage detected