<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def dcnm_network_delete_event(self, network_info):
 """Process network delete event from DCNM."""

        seg_id = network_info.get('segmentation_id')
        if not seg_id:
            LOG.error('Failed to delete network. Invalid network '
                      'info %s.', network_info)
        query_net = self.get_network_by_segid(seg_id)
        if not query_net:
            LOG.info('dcnm_network_delete_event: network %(segid)s '
                     'does not exist.', {'segid': seg_id})
            return
        if self.fw_api.is_network_source_fw(query_net, query_net.name):
            LOG.info("Service network %s, returning", query_net.name)
            return
        # Send network delete request to neutron
        try:
            del_net = self.network.pop(query_net.network_id)
            self.neutronclient.delete_network(query_net.network_id)
            self.delete_network_db(query_net.network_id)
        except Exception as exc:
            # Failed to delete network.
            # Put back the entry to the local cache???
            self.network[query_net.network_id] = del_net
            LOG.exception('dcnm_network_delete_event: Failed to delete '
                          '%(network)s. Reason %(err)s.',
                          {'network': query_net.name, 'err': str(exc)})