X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fmemif%2Frte_eth_memif.h;h=6f45b7072c69d6ae6c4648544e00538c9398807e;hb=c59e2faf147339e9b8375e2698919b8c053b0666;hp=5f631e925ca18e50acd9f013c6e92c553a7ea143;hpb=09c7e63a71f9f2a31efd7e94458019ea4dc427b6;p=dpdk.git diff --git a/drivers/net/memif/rte_eth_memif.h b/drivers/net/memif/rte_eth_memif.h index 5f631e925c..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,10 +94,7 @@ struct pmd_internals { char secret[ETH_MEMIF_SECRET_SIZE]; /**< secret (optional security parameter) */ struct memif_control_channel *cc; /**< control channel */ - - struct memif_region *regions[ETH_MEMIF_MAX_REGION_NUM]; - /**< shared memory regions */ - memif_region_index_t regions_num; /**< number of regions */ + rte_spinlock_t cc_lock; /**< control channel lock */ /* remote info */ char remote_name[RTE_DEV_NAME_MAX_LEN]; /**< remote app name */ @@ -120,17 +119,21 @@ 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 { + struct memif_region *regions[ETH_MEMIF_MAX_REGION_NUM]; + /**< shared memory regions */ + memif_region_index_t regions_num; /**< number of regions */ }; /** * Unmap shared memory and free regions from memory. * - * @param pmd - * device internals + * @param proc_private + * device process private data */ -void memif_free_regions(struct pmd_internals *pmd); +void memif_free_regions(struct rte_eth_dev *dev); /** * Finalize connection establishment process. Map shared memory file