Hello all, Just tracing a bit the code I noticed that there is a concept of "queue pair" and every crypto device allocates its own number of queue pairs. Two questions (version 19.01): 1. Regarding the max_res_idx (ipsec.c) calculation: max_res_idx = (dev->max_qp / 2) - 1; (if dev->max_qp == 1 then max_res_idx = 65535) Notice that if max_qp is 1 then the loop below never ends (since j is always <= 65535) u16 j; for (j = 0; j <= max_res_idx; j++, res_idx++) { }
Another issue that I am trying to understand is the snippet below (ipsec.h): enq = rte_cryptodev_enqueue_burst (res->dev_id, res->qp_id + outbound, res->ops, res->n_ops); outbound == 1 in the enqueue case and crypto resources under that function call have only "res->gp_id" queue pairs ids, not sure how can it work(unless there is a contiguous allocation from another device) I'd welcome any help on understanding both points. BR, Manuel
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12014): https://lists.fd.io/g/vpp-dev/message/12014 Mute This Topic: https://lists.fd.io/mt/29538345/21656 Mute #vpp: https://lists.fd.io/mk?hashtag=vpp&subid=1480452 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-