1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(C) 2021 Marvell.
4 #ifndef __CN9K_ETHDEV_H__
5 #define __CN9K_ETHDEV_H__
7 #include <cnxk_ethdev.h>
8 #include <cnxk_security.h>
9 #include <cnxk_security_ar.h>
13 int64_t fc_cache_pkts;
19 uint16_t sqes_per_sqb_log2;
20 int16_t nb_sqb_bufs_adj;
21 rte_iova_t cpt_io_addr;
25 uint64_t mark_flag : 8;
26 uint64_t mark_fmt : 48;
27 } __plt_cache_aligned;
30 uint64_t mbuf_initializer;
41 struct cnxk_timesync_info *tstamp;
42 } __plt_cache_aligned;
44 /* Private data in sw rsvd area of struct roc_onf_ipsec_inb_sa */
45 struct cn9k_inb_priv_data {
47 uint32_t replay_win_sz;
48 struct cnxk_on_ipsec_ar ar;
49 struct cnxk_eth_sec_sess *eth_sec;
52 /* Private data in sw rsvd area of struct roc_onf_ipsec_outb_sa */
53 struct cn9k_outb_priv_data {
62 /* Rlen computation data */
63 struct cnxk_ipsec_outb_rlens rlens;
72 uint16_t copy_salt : 1;
77 /* User data pointer */
80 /* Back pointer to eth sec session */
81 struct cnxk_eth_sec_sess *eth_sec;
84 struct cn9k_sec_sess_priv {
90 uint8_t roundup_byte : 5;
99 /* Rx and Tx routines */
100 void cn9k_eth_set_rx_function(struct rte_eth_dev *eth_dev);
101 void cn9k_eth_set_tx_function(struct rte_eth_dev *eth_dev);
103 /* Security context setup */
104 void cn9k_eth_sec_ops_override(void);
106 #endif /* __CN9K_ETHDEV_H__ */