Hi Meng, > -----Original Message----- > From: users [mailto:[email protected]] On Behalf Of Meng Wang > Sent: Thursday, May 23, 2019 7:50 PM > To: [email protected] > Subject: [dpdk-users] [crypto-QAT] how does qat sym pmd setup session > > Hi, > > I find it a bit confusing that in qat_sym_pmd.c, session_pool was not > set when sym qp was setup, as shown below. > > static int qat_sym_qp_setup(struct rte_cryptodev *dev, uint16_t qp_id, > const struct rte_cryptodev_qp_conf *qp_conf, > int socket_id, struct rte_mempool *session_pool __rte_unused) > > However, later on when qat sym builds request it explicitly looks for > session info in qat_sym_build_request(), which ends up with failure. > > Did I miss something during device and qp setup? How does qat sym setup > session info for qp? [Fiona] the session_pool passed to qp_setup is only for use in sessionless ops. See API comments in rte_cryptodev.h. QAT does not support sessionless, so doesn't use this param.
For session based ops, which use RTE_CRYPTO_OP_WITH_SESSION, the session Is independent of the qp. How it's used is not QAT-specific. The procedure is to call rte_cryptodev_sym_session_create(pool), then rte_cryptodev_sym_session_init(dev_id) Further details are described here: http://doc.dpdk.org/guides/prog_guide/cryptodev_lib.html > Thanks, > Meng
