code: func (memif *Memif) closeQueues() {
  	log.WithFields(logger.Fields{
  		"ifName":   memif.IfName,
  		"Rx-count": len(memif.rxQueueBufs),
  		"Tx-count": len(memif.txQueueBufs),
  	}).Debug("Closing Rx/Tx queues.")
  
  	// Close interrupt channels.
  	for _, ch := range memif.queueIntCh {
  		close(ch)
  	}
  	memif.queueIntCh = nil
  
  	// Deallocate Rx/Tx packet buffers.
  	for _, pb := range memif.rxQueueBufs {
  		C.free(unsafe.Pointer(pb.buffers))
  	}
  	memif.rxQueueBufs = nil
  	for _, pb := range memif.txQueueBufs {
  		C.free(unsafe.Pointer(pb.buffers))
  	}
  	memif.txQueueBufs = nil
  }
docs: // closeQueues deallocates all resources associated with Rx/Tx queues.