X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fcnxk%2Fcn10k_ethdev.h;h=c2a46ad7ec7eb7259673a2654f1909bfd60ee364;hb=accf3cfce4cb531bb1d5aceb1c1c84cc36ae9175;hp=596985f38d0752635ff9293086f44f17ce71ab32;hpb=f742a9a6681330e975dac59aa2a5e419ecdf040e;p=dpdk.git diff --git a/drivers/net/cnxk/cn10k_ethdev.h b/drivers/net/cnxk/cn10k_ethdev.h index 596985f38d..c2a46ad7ec 100644 --- a/drivers/net/cnxk/cn10k_ethdev.h +++ b/drivers/net/cnxk/cn10k_ethdev.h @@ -5,6 +5,7 @@ #define __CN10K_ETHDEV_H__ #include +#include struct cn10k_eth_txq { uint64_t send_hdr_w0; @@ -15,6 +16,10 @@ struct cn10k_eth_txq { rte_iova_t io_addr; uint16_t sqes_per_sqb_log2; int16_t nb_sqb_bufs_adj; + rte_iova_t cpt_io_addr; + uint64_t sa_base; + uint64_t *cpt_fc; + uint16_t cpt_desc; uint64_t cmd[4]; uint64_t lso_tun_fmt; } __plt_cache_aligned; @@ -30,10 +35,55 @@ struct cn10k_eth_rxq { uint32_t qmask; uint32_t available; uint16_t data_off; + uint64_t sa_base; + uint64_t lmt_base; + uint64_t aura_handle; uint16_t rq; + struct cnxk_timesync_info *tstamp; } __plt_cache_aligned; +/* Private data in sw rsvd area of struct roc_ot_ipsec_inb_sa */ +struct cn10k_inb_priv_data { + void *userdata; + struct cnxk_eth_sec_sess *eth_sec; +}; + +/* Private data in sw rsvd area of struct roc_ot_ipsec_outb_sa */ +struct cn10k_outb_priv_data { + void *userdata; + /* Rlen computation data */ + struct cnxk_ipsec_outb_rlens rlens; + /* Back pinter to eth sec session */ + struct cnxk_eth_sec_sess *eth_sec; + /* SA index */ + uint32_t sa_idx; +}; + +struct cn10k_sec_sess_priv { + union { + struct { + uint32_t sa_idx; + uint8_t inb_sa : 1; + uint8_t outer_ip_ver : 1; + uint8_t mode : 1; + uint8_t roundup_byte : 5; + uint8_t roundup_len; + uint16_t partial_len; + }; + + uint64_t u64; + }; +} __rte_packed; + /* Rx and Tx routines */ void cn10k_eth_set_rx_function(struct rte_eth_dev *eth_dev); +void cn10k_eth_set_tx_function(struct rte_eth_dev *eth_dev); + +/* Security context setup */ +void cn10k_eth_sec_ops_override(void); + +#define LMT_OFF(lmt_addr, lmt_num, offset) \ + (void *)((uintptr_t)(lmt_addr) + \ + ((uint64_t)(lmt_num) << ROC_LMT_LINE_SIZE_LOG2) + (offset)) #endif /* __CN10K_ETHDEV_H__ */