(mac, ulbit=None)
return eui64.upper()
Compute the interface ID in modified EUI-64 format associated 
    to the Ethernet address provided as input.
    value taken by U/L bit in the interface identifier is basically 
    the reversed value of that in given MAC address it can be forced
    to a specific value by using optional 'ulbit' parameter.
Compute the interface ID in modified EUI-64 format associated 
    to the Ethernet address provided as input.
    value taken by U/L bit in the interface identifier is basically 
    the reversed value of that in given MAC address it can be forced
    to a specific value by using optional 'ulbit' parameter.
Compute the interface ID in modified EUI - 64 format associated to the Ethernet address provided as input . value taken by U / L bit in the interface identifier is basically the reversed value of that in given MAC address it can be forced to a specific value by using optional ulbit parameter .
def in6_mactoifaceid(mac, ulbit=None):
    """
    Compute the interface ID in modified EUI-64 format associated 
    to the Ethernet address provided as input.
    value taken by U/L bit in the interface identifier is basically 
    the reversed value of that in given MAC address it can be forced
    to a specific value by using optional 'ulbit' parameter.
    """
    if len(mac) != 17: return None
    m = "".join(mac.split(':'))
    if len(m) != 12: return None
    first = int(m[0:2], 16)
    if ulbit is None or not (ulbit == 0 or ulbit == 1):
        ulbit = [1,'-',0][first & 0x02]
    ulbit *= 2
    first = "%.02x" % ((first & 0xFD) | ulbit)
    eui64 = first + m[2:4] + ":" + m[4:6] + "FF:FE" + m[6:8] + ":" + m[8:12]
    return eui64.upper()
def in6_mactoifaceid ( mac , ulbit = None ) : if len ( mac ) != 17 : return None m = "" . join ( mac . split ( ':' ) ) if len ( m ) != 12 : return None first = int ( m [ 0 : 2 ] , 16 ) if ulbit is None or not ( ulbit == 0 or ulbit == 1 ) : ulbit = [ 1 , '-' , 0 ] [ first & 0x02 ] ulbit *= 2 first = "%.02x" % ( ( first & 0xFD ) | ulbit ) eui64 = first + m [ 2 : 4 ] + ":" + m [ 4 : 6 ] + "FF:FE" + m [ 6 : 8 ] + ":" + m [ 8 : 12 ] return eui64 . upper ( )