xref: /dpdk/drivers/net/cnxk/cn10k_ethdev.h (revision 357afd6d69477c53f8df9758612745940d15ed38)
15a4341c8SNithin Dabilpuram /* SPDX-License-Identifier: BSD-3-Clause
25a4341c8SNithin Dabilpuram  * Copyright(C) 2021 Marvell.
35a4341c8SNithin Dabilpuram  */
45a4341c8SNithin Dabilpuram #ifndef __CN10K_ETHDEV_H__
55a4341c8SNithin Dabilpuram #define __CN10K_ETHDEV_H__
65a4341c8SNithin Dabilpuram 
75a4341c8SNithin Dabilpuram #include <cnxk_ethdev.h>
869daa9e5SNithin Dabilpuram #include <cnxk_security.h>
9*357afd6dSRahul Bhansali #include <cn10k_rxtx.h>
1069daa9e5SNithin Dabilpuram 
1169daa9e5SNithin Dabilpuram /* Private data in sw rsvd area of struct roc_ot_ipsec_outb_sa */
1269daa9e5SNithin Dabilpuram struct cn10k_outb_priv_data {
1369daa9e5SNithin Dabilpuram 	void *userdata;
1469daa9e5SNithin Dabilpuram 	/* Rlen computation data */
1569daa9e5SNithin Dabilpuram 	struct cnxk_ipsec_outb_rlens rlens;
167be78d02SJosh Soref 	/* Back pointer to eth sec session */
1769daa9e5SNithin Dabilpuram 	struct cnxk_eth_sec_sess *eth_sec;
1869daa9e5SNithin Dabilpuram 	/* SA index */
1969daa9e5SNithin Dabilpuram 	uint32_t sa_idx;
2069daa9e5SNithin Dabilpuram };
2169daa9e5SNithin Dabilpuram 
22f742a9a6SJerin Jacob /* Rx and Tx routines */
23f742a9a6SJerin Jacob void cn10k_eth_set_rx_function(struct rte_eth_dev *eth_dev);
2419f3af23SJerin Jacob void cn10k_eth_set_tx_function(struct rte_eth_dev *eth_dev);
25f742a9a6SJerin Jacob 
2669daa9e5SNithin Dabilpuram /* Security context setup */
2769daa9e5SNithin Dabilpuram void cn10k_eth_sec_ops_override(void);
2869daa9e5SNithin Dabilpuram 
29fb35a2c7SNithin Dabilpuram /* SSO Work callback */
30bea5d990SVamsi Attunuru void cn10k_eth_sec_sso_work_cb(uint64_t *gw, void *args,
31bea5d990SVamsi Attunuru 			       uint32_t soft_exp_event);
32fb35a2c7SNithin Dabilpuram 
335a4341c8SNithin Dabilpuram #endif /* __CN10K_ETHDEV_H__ */
34