X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fmemif%2Frte_eth_memif.h;h=6f45b7072c69d6ae6c4648544e00538c9398807e;hb=e4ed8de39b31c2a5d2c529726315106421abdc97;hp=24e8a0914184d5caa8bda1e984eaa74770066706;hpb=c41a04958b09535ffc97e993233aec874cc42b1d;p=dpdk.git diff --git a/drivers/net/memif/rte_eth_memif.h b/drivers/net/memif/rte_eth_memif.h index 24e8a09141..6f45b7072c 100644 --- a/drivers/net/memif/rte_eth_memif.h +++ b/drivers/net/memif/rte_eth_memif.h @@ -63,12 +63,14 @@ struct memif_queue { uint16_t last_head; /**< last ring head */ uint16_t last_tail; /**< last ring tail */ + struct rte_mbuf **buffers; + /**< Stored mbufs. Used in zero-copy tx. Slave stores transmitted + * mbufs to free them once master has received them. + */ + /* rx/tx info */ uint64_t n_pkts; /**< number of rx/tx packets */ uint64_t n_bytes; /**< number of rx/tx bytes */ - uint64_t n_err; /**< number of tx errors */ - - memif_ring_t *ring; /**< pointer to ring */ struct rte_intr_handle intr_handle; /**< interrupt handle */ @@ -92,6 +94,7 @@ struct pmd_internals { char secret[ETH_MEMIF_SECRET_SIZE]; /**< secret (optional security parameter) */ struct memif_control_channel *cc; /**< control channel */ + rte_spinlock_t cc_lock; /**< control channel lock */ /* remote info */ char remote_name[RTE_DEV_NAME_MAX_LEN]; /**< remote app name */ @@ -116,8 +119,6 @@ struct pmd_internals { /**< local disconnect reason */ char remote_disc_string[ETH_MEMIF_DISC_STRING_SIZE]; /**< remote disconnect reason */ - - struct rte_vdev_device *vdev; /**< vdev handle */ }; struct pmd_process_private { @@ -132,7 +133,7 @@ struct pmd_process_private { * @param proc_private * device process private data */ -void memif_free_regions(struct pmd_process_private *proc_private); +void memif_free_regions(struct rte_eth_dev *dev); /** * Finalize connection establishment process. Map shared memory file