| 812 | } |
| 813 | |
| 814 | static int |
| 815 | lksd_proto_ipsec(uint16_t num_pkts) |
| 816 | { |
| 817 | struct ipsec_unitest_params *ut_params = &unittest_params; |
| 818 | uint32_t i, k, ng; |
| 819 | struct rte_ipsec_group grp[1]; |
| 820 | |
| 821 | /* call crypto prepare */ |
| 822 | k = rte_ipsec_pkt_crypto_prepare(&ut_params->ss[0], ut_params->ibuf, |
| 823 | ut_params->cop, num_pkts); |
| 824 | if (k != num_pkts) { |
| 825 | RTE_LOG(ERR, USER1, "rte_ipsec_pkt_crypto_prepare fail\n"); |
| 826 | return TEST_FAILED; |
| 827 | } |
| 828 | |
| 829 | /* check crypto ops */ |
| 830 | for (i = 0; i != num_pkts; i++) { |
| 831 | TEST_ASSERT_EQUAL(ut_params->cop[i]->type, |
| 832 | RTE_CRYPTO_OP_TYPE_SYMMETRIC, |
| 833 | "%s: invalid crypto op type for %u-th packet\n", |
| 834 | __func__, i); |
| 835 | TEST_ASSERT_EQUAL(ut_params->cop[i]->status, |
| 836 | RTE_CRYPTO_OP_STATUS_NOT_PROCESSED, |
| 837 | "%s: invalid crypto op status for %u-th packet\n", |
| 838 | __func__, i); |
| 839 | TEST_ASSERT_EQUAL(ut_params->cop[i]->sess_type, |
| 840 | RTE_CRYPTO_OP_SECURITY_SESSION, |
| 841 | "%s: invalid crypto op sess_type for %u-th packet\n", |
| 842 | __func__, i); |
| 843 | TEST_ASSERT_EQUAL(ut_params->cop[i]->sym->m_src, |
| 844 | ut_params->ibuf[i], |
| 845 | "%s: invalid crypto op m_src for %u-th packet\n", |
| 846 | __func__, i); |
| 847 | } |
| 848 | |
| 849 | /* update crypto ops, pretend all finished ok */ |
| 850 | for (i = 0; i != num_pkts; i++) |
| 851 | ut_params->cop[i]->status = RTE_CRYPTO_OP_STATUS_SUCCESS; |
| 852 | |
| 853 | ng = rte_ipsec_pkt_crypto_group( |
| 854 | (const struct rte_crypto_op **)(uintptr_t)ut_params->cop, |
| 855 | ut_params->obuf, grp, num_pkts); |
| 856 | if (ng != 1 || |
| 857 | grp[0].m[0] != ut_params->obuf[0] || |
| 858 | grp[0].cnt != num_pkts || |
| 859 | grp[0].id.ptr != &ut_params->ss[0]) { |
| 860 | RTE_LOG(ERR, USER1, "rte_ipsec_pkt_crypto_group fail\n"); |
| 861 | return TEST_FAILED; |
| 862 | } |
| 863 | |
| 864 | /* call crypto process */ |
| 865 | k = rte_ipsec_pkt_process(grp[0].id.ptr, grp[0].m, grp[0].cnt); |
| 866 | if (k != num_pkts) { |
| 867 | RTE_LOG(ERR, USER1, "rte_ipsec_pkt_process fail\n"); |
| 868 | return TEST_FAILED; |
| 869 | } |
| 870 | |
| 871 | return TEST_SUCCESS; |
no test coverage detected