summaryrefslogtreecommitdiff
path: root/src/validators/ipv6-eui64-prefix
blob: 73ef9b29e802bf25f804b5d902f72232e1ba4b10 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/env python3

# Validator used to check if given IPv6 prefix is of size /64 required by EUI64

import ipaddress

from sys import argv
from sys import exit

if __name__ == '__main__':
    if len(argv) != 2:
        exit(1)

    prefix = argv[1]

    try:
        network = ipaddress.ip_network(prefix)
        if network.prefixlen == 64:
            exit(0)
    except ValueError:
        print(
            'EUI64 prefix must be a valid IPv6 prefix in CIDR notation (e.g., 2001:db8::/64)'
        )

    exit(1)