/** * @return Network */ public function getSpanNetwork() { $xorIP = IP::parseInAddr($this->getFirstIP()->inAddr() ^ $this->getLastIP()->inAddr()); preg_match('/^(0*)/', $xorIP->toBin(), $match); $prefixLength = strlen($match[1]); $ip = IP::parseBin(str_pad(substr($this->getFirstIP()->toBin(), 0, $prefixLength), $xorIP->getMaxPrefixLength(), '0')); return new Network($ip, Network::prefix2netmask($prefixLength, $ip->getVersion())); }