'Get all the names of the maskingview and sub-components.
:param volume: the volume object
:param connector: the connector object
:param extra_specs: extra specifications
:returns: dict -- a dictionary with masking view information'

def _populate_masking_dict(self, volume, connector, extra_specs):

    masking_view_dict = {}
    host_name = connector['host']
    unique_name = self.utils.truncate_string(extra_specs[utils.SRP], 12)
    protocol = self.utils.get_short_protocol_type(self.protocol)
    short_host_name = self.utils.get_host_short_name(host_name)
    masking_view_dict[utils.DISABLECOMPRESSION] = False
    masking_view_dict['replication_enabled'] = False
    slo = extra_specs[utils.SLO]
    workload = extra_specs[utils.WORKLOAD]
    rep_enabled = self.utils.is_replication_enabled(extra_specs)
    short_pg_name = self.utils.get_pg_short_name(extra_specs[utils.PORTGROUPNAME])
    masking_view_dict[utils.SLO] = slo
    masking_view_dict[utils.WORKLOAD] = workload
    masking_view_dict[utils.SRP] = unique_name
    masking_view_dict[utils.ARRAY] = extra_specs[utils.ARRAY]
    masking_view_dict[utils.PORTGROUPNAME] = extra_specs[utils.PORTGROUPNAME]
    if self._get_initiator_check_flag():
        masking_view_dict[utils.INITIATOR_CHECK] = True
    else:
        masking_view_dict[utils.INITIATOR_CHECK] = False
    if slo:
        slo_wl_combo = self.utils.truncate_string((slo + workload), 10)
        child_sg_name = ('OS-%(shortHostName)s-%(srpName)s-%(combo)s-%(pg)s' % {'shortHostName': short_host_name, 'srpName': unique_name, 'combo': slo_wl_combo, 'pg': short_pg_name})
        do_disable_compression = self.utils.is_compression_disabled(extra_specs)
        if do_disable_compression:
            child_sg_name = ('%(child_sg_name)s-CD' % {'child_sg_name': child_sg_name})
            masking_view_dict[utils.DISABLECOMPRESSION] = True
    else:
        child_sg_name = ('OS-%(shortHostName)s-No_SLO-%(pg)s' % {'shortHostName': short_host_name, 'pg': short_pg_name})
    if rep_enabled:
        child_sg_name += '-RE'
        masking_view_dict['replication_enabled'] = True
    mv_prefix = ('OS-%(shortHostName)s-%(protocol)s-%(pg)s' % {'shortHostName': short_host_name, 'protocol': protocol, 'pg': short_pg_name})
    masking_view_dict[utils.SG_NAME] = child_sg_name
    masking_view_dict[utils.MV_NAME] = ('%(prefix)s-MV' % {'prefix': mv_prefix})
    masking_view_dict[utils.PARENT_SG_NAME] = ('%(prefix)s-SG' % {'prefix': mv_prefix})
    volume_name = volume.name
    device_id = self._find_device_on_array(volume, extra_specs)
    if (not device_id):
        exception_message = (_('Cannot    retrieve    volume    %(vol)s    from    the    array.    ') % {'vol': volume_name})
        LOG.exception(exception_message)
        raise exception.VolumeBackendAPIException(exception_message)
    masking_view_dict[utils.IG_NAME] = ('OS-%(shortHostName)s-%(protocol)s-IG' % {'shortHostName': short_host_name, 'protocol': protocol})
    masking_view_dict[utils.CONNECTOR] = connector
    masking_view_dict[utils.DEVICE_ID] = device_id
    masking_view_dict[utils.VOL_NAME] = volume_name
    return masking_view_dict
