Data Accelerator Offload
Loading...
Searching...
No Matches
dao_eth_trs.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: Marvell-Proprietary
2 * Copyright (c) 2025 Marvell
3 */
4#ifndef __DAO_ETH_TRANSPORT_H__
5#define __DAO_ETH_TRANSPORT_H__
6
7#include <rte_common.h>
8
40#include <stdint.h>
41
42#include <rte_ethdev.h>
43#include <rte_mempool.h>
44
45/* Maximum eth ports supported by an ethernet transport device */
46#define DAO_MAX_ETH_TRS_PORTS 64
47
91
93/* Structure dao_eth_trs_hdr 8< */
94struct __rte_packed_begin dao_eth_trs_hdr {
96 uint16_t op_type;
98 uint16_t op_len;
99} __rte_packed_end;
100/* >8 End of structure dao_eth_trs_hdr. */
101
103/* Structure dao_eth_trs_pkt 8< */
104struct __rte_packed_begin dao_eth_trs_pkt {
106 struct dao_eth_trs_hdr hdr;
108 uint8_t data[];
109} __rte_packed_end;
110/* >8 End of structure dao_eth_trs_pkt. */
111
114 uint16_t nb_queues;
115 uint8_t promiscuous;
116};
117
120 uint16_t queue_size;
121 struct rte_mempool *rx_mp;
122};
123
126 uint8_t nb_devs;
127 uint16_t nb_queues;
128 uint16_t min_queue_size;
129 uint16_t max_queue_size;
130 uint32_t min_buf_len;
131 uint32_t max_pkt_len;
132};
133
137 uint32_t nb_ports;
139 uint32_t nb_queues;
141 uint32_t oct_dev_id[DAO_MAX_ETH_TRS_PORTS];
142};
143
144#define dao_eth_trs_tx rte_eth_tx_burst
145#define dao_eth_trs_rx rte_eth_rx_burst
159
170
184
200int dao_eth_trs_dev_alloc(uint8_t dev_id, struct dao_eth_trs_dev_config *config);
201
218int dao_eth_trs_dev_queue_configure(uint8_t dev_id, uint16_t queue_id,
219 struct dao_eth_trs_queue_config *conf);
220
240int dao_eth_trs_dev_queue_map(uint8_t dev_id, uint16_t dev_queue_id, uint16_t *port_id,
241 uint16_t *queue_id);
242
256int dao_eth_trs_dev_start(uint8_t dev_id);
257
269int dao_eth_trs_dev_stop(uint8_t dev_id);
270
284int dao_eth_trs_dev_free(uint8_t dev_id);
285
307int dao_eth_trs_port_info_get(uint8_t dev_id, struct dao_eth_trs_port_info *port_info);
308#endif /* __DAO_ETH_TRANSPORT_H__ */
int dao_eth_trs_port_info_get(uint8_t dev_id, struct dao_eth_trs_port_info *port_info)
int dao_eth_trs_dev_stop(uint8_t dev_id)
int dao_eth_trs_dev_start(uint8_t dev_id)
int dao_eth_trs_fini(void)
int dao_eth_trs_dev_queue_map(uint8_t dev_id, uint16_t dev_queue_id, uint16_t *port_id, uint16_t *queue_id)
int dao_eth_trs_dev_queue_configure(uint8_t dev_id, uint16_t queue_id, struct dao_eth_trs_queue_config *conf)
int dao_eth_trs_init(void)
int dao_eth_trs_dev_alloc(uint8_t dev_id, struct dao_eth_trs_dev_config *config)
int dao_eth_trs_dev_free(uint8_t dev_id)
dao_eth_trs_op_type
Definition dao_eth_trs.h:52
@ DAO_ETH_TRS_OP_TYPE_CRYPTO_START
Definition dao_eth_trs.h:56
@ DAO_ETH_TRS_OP_TYPE_CRYPTO_SYM
Definition dao_eth_trs.h:60
@ DAO_ETH_TRS_OP_TYPE_CRYPTO_ASYM
Definition dao_eth_trs.h:62
@ DAO_ETH_TRS_OP_TYPE_CRYPTO_OAEP_ENC
Definition dao_eth_trs.h:64
@ DAO_ETH_TRS_OP_TYPE_CRYPTO_OAEP_DEC
Definition dao_eth_trs.h:66
@ DAO_ETH_TRS_OP_TYPE_CRYPTO_PSS_VERIFY
Definition dao_eth_trs.h:78
@ DAO_ETH_TRS_OP_TYPE_SYM_SESSION_CREATE
Definition dao_eth_trs.h:72
@ DAO_ETH_TRS_OP_TYPE_CRYPTO_RNG
Definition dao_eth_trs.h:68
@ DAO_ETH_TRS_OP_TYPE_SYM_SESSION_DESTROY
Definition dao_eth_trs.h:74
@ DAO_ETH_TRS_OP_TYPE_REFLECT
Definition dao_eth_trs.h:54
@ DAO_ETH_TRS_OP_TYPE_CRYPTO_END
Definition dao_eth_trs.h:80
@ DAO_ETH_TRS_OP_TYPE_DECOMPRESS
Definition dao_eth_trs.h:87
@ DAO_ETH_TRS_OP_TYPE_COMPRESS
Definition dao_eth_trs.h:85
@ DAO_ETH_TRS_OP_TYPE_COMPRESS_START
Definition dao_eth_trs.h:83
@ DAO_ETH_TRS_OP_TYPE_CRYPTO_MISC
Definition dao_eth_trs.h:58
@ DAO_ETH_TRS_OP_TYPE_COMPRESS_END
Definition dao_eth_trs.h:89
@ DAO_ETH_TRS_OP_TYPE_CRYPTO_PQC
Definition dao_eth_trs.h:70
@ DAO_ETH_TRS_OP_TYPE_CRYPTO_PSS_SIGN
Definition dao_eth_trs.h:76
uint16_t op_len
Definition dao_eth_trs.h:98
uint16_t op_type
Definition dao_eth_trs.h:96
uint16_t min_queue_size
uint32_t max_pkt_len
uint32_t min_buf_len
uint16_t max_queue_size
struct rte_mempool * rx_mp