git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
net/hns3: fix residual MAC after setting default MAC
[dpdk.git]
/
drivers
/
net
/
memif
/
rte_eth_memif.h
diff --git
a/drivers/net/memif/rte_eth_memif.h
b/drivers/net/memif/rte_eth_memif.h
index
5f631e9
..
2038bda
100644
(file)
--- a/
drivers/net/memif/rte_eth_memif.h
+++ b/
drivers/net/memif/rte_eth_memif.h
@@
-5,13
+5,9
@@
#ifndef _RTE_ETH_MEMIF_H_
#define _RTE_ETH_MEMIF_H_
#ifndef _RTE_ETH_MEMIF_H_
#define _RTE_ETH_MEMIF_H_
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE
-#endif /* GNU_SOURCE */
-
#include <sys/queue.h>
#include <sys/queue.h>
-#include <
rte_
ethdev_driver.h>
+#include <ethdev_driver.h>
#include <rte_ether.h>
#include <rte_interrupts.h>
#include <rte_ether.h>
#include <rte_interrupts.h>
@@
-36,8
+32,8
@@
extern int memif_logtype;
"%s(): " fmt "\n", __func__, ##args)
enum memif_role_t {
"%s(): " fmt "\n", __func__, ##args)
enum memif_role_t {
- MEMIF_ROLE_
MAST
ER,
- MEMIF_ROLE_
SLAVE
,
+ MEMIF_ROLE_
SERV
ER,
+ MEMIF_ROLE_
CLIENT
,
};
struct memif_region {
};
struct memif_region {
@@
-63,12
+59,14
@@
struct memif_queue {
uint16_t last_head; /**< last ring head */
uint16_t last_tail; /**< last ring tail */
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. Client stores transmitted
+ * mbufs to free them once server has received them.
+ */
+
/* rx/tx info */
uint64_t n_pkts; /**< number of rx/tx packets */
uint64_t n_bytes; /**< number of rx/tx bytes */
/* 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 */
struct rte_intr_handle intr_handle; /**< interrupt handle */
@@
-79,23
+77,22
@@
struct pmd_internals {
memif_interface_id_t id; /**< unique id */
enum memif_role_t role; /**< device role */
uint32_t flags; /**< device status flags */
memif_interface_id_t id; /**< unique id */
enum memif_role_t role; /**< device role */
uint32_t flags; /**< device status flags */
-#define ETH_MEMIF_FLAG_CONNECTING (1 << 0)
+#define ETH_MEMIF_FLAG_CONNECTING
(1 << 0)
/**< device is connecting */
/**< device is connecting */
-#define ETH_MEMIF_FLAG_CONNECTED (1 << 1)
+#define ETH_MEMIF_FLAG_CONNECTED
(1 << 1)
/**< device is connected */
/**< device is connected */
-#define ETH_MEMIF_FLAG_ZERO_COPY (1 << 2)
+#define ETH_MEMIF_FLAG_ZERO_COPY
(1 << 2)
/**< device is zero-copy enabled */
/**< device is zero-copy enabled */
-#define ETH_MEMIF_FLAG_DISABLED (1 << 3)
+#define ETH_MEMIF_FLAG_DISABLED
(1 << 3)
/**< device has not been configured and can not accept connection requests */
/**< device has not been configured and can not accept connection requests */
+#define ETH_MEMIF_FLAG_SOCKET_ABSTRACT (1 << 4)
+/**< use abstract socket address */
char *socket_filename; /**< pointer to socket filename */
char secret[ETH_MEMIF_SECRET_SIZE]; /**< secret (optional security parameter) */
struct memif_control_channel *cc; /**< control channel */
char *socket_filename; /**< pointer to socket filename */
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 */
/* remote info */
char remote_name[RTE_DEV_NAME_MAX_LEN]; /**< remote app name */
@@
-103,15
+100,15
@@
struct pmd_internals {
struct {
memif_log2_ring_size_t log2_ring_size; /**< log2 of ring size */
struct {
memif_log2_ring_size_t log2_ring_size; /**< log2 of ring size */
- uint8_t num_
s2m_rings; /**< number of slave to mast
er rings */
- uint8_t num_
m2s_rings; /**< number of master to slave
rings */
+ uint8_t num_
c2s_rings; /**< number of client to serv
er rings */
+ uint8_t num_
s2c_rings; /**< number of server to client
rings */
uint16_t pkt_buffer_size; /**< buffer size */
} cfg; /**< Configured parameters (max values) */
struct {
memif_log2_ring_size_t log2_ring_size; /**< log2 of ring size */
uint16_t pkt_buffer_size; /**< buffer size */
} cfg; /**< Configured parameters (max values) */
struct {
memif_log2_ring_size_t log2_ring_size; /**< log2 of ring size */
- uint8_t num_
s2m_rings; /**< number of slave to mast
er rings */
- uint8_t num_
m2s_rings; /**< number of master to slave
rings */
+ uint8_t num_
c2s_rings; /**< number of client to serv
er rings */
+ uint8_t num_
s2c_rings; /**< number of server to client
rings */
uint16_t pkt_buffer_size; /**< buffer size */
} run;
/**< Parameters used in active connection */
uint16_t pkt_buffer_size; /**< buffer size */
} run;
/**< Parameters used in active connection */
@@
-120,21
+117,25
@@
struct pmd_internals {
/**< local disconnect reason */
char remote_disc_string[ETH_MEMIF_DISC_STRING_SIZE];
/**< remote disconnect reason */
/**< 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.
*
};
/**
* Unmap shared memory and free regions from memory.
*
- * @param p
md
- * device
internals
+ * @param p
roc_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
/**
* Finalize connection establishment process. Map shared memory file
- * (
mast
er role), initialize ring queue, set link status up.
+ * (
serv
er role), initialize ring queue, set link status up.
*
* @param dev
* memif device
*
* @param dev
* memif device
@@
-146,7
+147,7
@@
int memif_connect(struct rte_eth_dev *dev);
/**
* Create shared memory file and initialize ring queue.
/**
* Create shared memory file and initialize ring queue.
- * Only called by
slave
when establishing connection
+ * Only called by
client
when establishing connection
*
* @param dev
* memif device
*
* @param dev
* memif device