#!/usr/bin/env python3
# mac2ll -- convert MAC addresses to IPv6 link-local addresses
import argparse
import ipaddress
import re
import sys

parser = argparse.ArgumentParser()
parser.add_argument("mac_address", nargs="+")
args = parser.parse_args()

for mac in args.mac_address:
    mac = re.split("[:-]", mac)
    mac = [int(x, 16) for x in mac]
    mac[0] ^= 2
    addr = [0xFE, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] \
         + mac[:3] + [0xFF, 0xFE] + mac[3:]
    addr = bytes(addr)
    addr = ipaddress.IPv6Address(addr)
    print(addr)
