@classmethod
def parse(cls, value, evpn_overlay=False):
    """
        +---------------------------------+
        |  Flags (1 octet)                |
        +---------------------------------+
        |  Tunnel Type (1 octets)         |
        +---------------------------------+
        |  MPLS Label (3 octets)          |
        +---------------------------------+
        |  Tunnel Identifier (variable)   |
        +---------------------------------+
        :param value raw hex value
        """
    flag = ord(value[0:1])
    tunnel_type = ord(value[1:2])
    if evpn_overlay:
        mpls_label = cls.parse_vni(value[2:5])
    else:
        mpls_label = cls.parse_mpls_label(value[2:5])
    tunnel_id = cls.parse_tunnel_id(tunel_type=tunnel_type, tunel_data=
        value[5:])
    return {'leaf_info_required': flag, 'tunnel_type': tunnel_type,
        'mpls_label': [mpls_label], 'tunnel_id': tunnel_id}
