def METHOD_NAME(self) -> dict | None:
    """
    Return structured config for ip_igmp_snooping
    """
    if not self.shared_utils.network_services_l2:
        return None
    METHOD_NAME = {}
    igmp_snooping_enabled = self.shared_utils.igmp_snooping_enabled
    METHOD_NAME["globally_enabled"] = igmp_snooping_enabled
    if not (igmp_snooping_enabled is True):
        return METHOD_NAME
    vlans = []
    for tenant in self._filtered_tenants:
        for vrf in tenant["vrfs"]:
            for svi in vrf["svis"]:
                if vlan := self._ip_igmp_snooping_vlan(svi, tenant):
                    append_if_not_duplicate(
                        list_of_dicts=vlans,
                        primary_key="id",
                        new_dict=vlan,
                        context=f"IGMP snooping for SVIs in VRF '{vrf['name']}'",
                        context_keys=["id"],
                    )
        for l2vlan in tenant["l2vlans"]:
            if vlan := self._ip_igmp_snooping_vlan(l2vlan, tenant):
                append_if_not_duplicate(
                    list_of_dicts=vlans,
                    primary_key="id",
                    new_dict=vlan,
                    context="IGMP snooping for L2VLANs",
                    context_keys=["id"],
                )
    if vlans:
        METHOD_NAME["vlans"] = vlans
    return METHOD_NAME