def check_equal_networks(src_network, dst_network):
    """
    Check if 2 networks are equal.

    Networks are equal when they have the same hash and all hashes of their
    subnets are equal too.

    :param src_network: Network instance from source cloud
    :param dst_network: Network instance from destination cloud

    :return bool: Whether networks are equal or not.
    """

    networks_are_equal = (src_network.hash == dst_network.hash and
                          src_network.subnets_hash == dst_network.subnets_hash)

    if networks_are_equal:
        return True

    return False