def parse_ipv6(ip): try: packed = inet_pton(AF_INET6, ip.strip()) except (error, UnicodeEncodeError): return None hi, lo = struct.unpack("!QQ", packed) return (hi << 64) | lo