uint32_t i;
char *tmp;
int ret;
+ int algo_parsed = 0;
time_t t = time(NULL);
struct tm *tm_now = localtime(&t);
return ret;
for (i = 0; i < info.nb_vec_lines; i++) {
- if (strstr(info.vec[i], "AESVS")) {
- info.algo = FIPS_TEST_ALGO_AES;
- ret = parse_test_aes_init();
- if (ret < 0)
- return ret;
- } else if (strstr(info.vec[i], "HMAC")) {
- info.algo = FIPS_TEST_ALGO_HMAC;
- ret = parse_test_hmac_init();
- if (ret < 0)
- return ret;
- } else if (strstr(info.vec[i], "TDES")) {
- info.algo = FIPS_TEST_ALGO_TDES;
- ret = parse_test_tdes_init();
- if (ret < 0)
- return 0;
+ if (!algo_parsed) {
+ if (strstr(info.vec[i], "AESVS")) {
+ algo_parsed = 1;
+ info.algo = FIPS_TEST_ALGO_AES;
+ ret = parse_test_aes_init();
+ if (ret < 0)
+ return ret;
+ } else if (strstr(info.vec[i], "GCM")) {
+ algo_parsed = 1;
+ info.algo = FIPS_TEST_ALGO_AES_GCM;
+ ret = parse_test_gcm_init();
+ if (ret < 0)
+ return ret;
+ } else if (strstr(info.vec[i], "CMAC")) {
+ algo_parsed = 1;
+ info.algo = FIPS_TEST_ALGO_AES_CMAC;
+ ret = parse_test_cmac_init();
+ if (ret < 0)
+ return 0;
+ } else if (strstr(info.vec[i], "CCM")) {
+ algo_parsed = 1;
+ info.algo = FIPS_TEST_ALGO_AES_CCM;
+ ret = parse_test_ccm_init();
+ if (ret < 0)
+ return 0;
+ } else if (strstr(info.vec[i], "HMAC")) {
+ algo_parsed = 1;
+ info.algo = FIPS_TEST_ALGO_HMAC;
+ ret = parse_test_hmac_init();
+ if (ret < 0)
+ return ret;
+ } else if (strstr(info.vec[i], "TDES")) {
+ algo_parsed = 1;
+ info.algo = FIPS_TEST_ALGO_TDES;
+ ret = parse_test_tdes_init();
+ if (ret < 0)
+ return 0;
+ } else if (strstr(info.vec[i], "PERMUTATION")) {
+ algo_parsed = 1;
+ info.algo = FIPS_TEST_ALGO_TDES;
+ ret = parse_test_tdes_init();
+ if (ret < 0)
+ return 0;
+ } else if (strstr(info.vec[i], "VARIABLE")) {
+ algo_parsed = 1;
+ info.algo = FIPS_TEST_ALGO_TDES;
+ ret = parse_test_tdes_init();
+ if (ret < 0)
+ return 0;
+ } else if (strstr(info.vec[i], "SUBSTITUTION")) {
+ algo_parsed = 1;
+ info.algo = FIPS_TEST_ALGO_TDES;
+ ret = parse_test_tdes_init();
+ if (ret < 0)
+ return 0;
+ } else if (strstr(info.vec[i], "SHA-")) {
+ algo_parsed = 1;
+ info.algo = FIPS_TEST_ALGO_SHA;
+ ret = parse_test_sha_init();
+ if (ret < 0)
+ return ret;
+ } else if (strstr(info.vec[i], "XTS")) {
+ algo_parsed = 1;
+ info.algo = FIPS_TEST_ALGO_AES_XTS;
+ ret = parse_test_xts_init();
+ if (ret < 0)
+ return ret;
+ }
}
tmp = strstr(info.vec[i], "# Config info for ");
continue;
}
+ tmp = strstr(info.vec[i], "\" information for \"");
+ if (tmp != NULL) {
+ char tmp_output[128] = {0};
+
+ strlcpy(tmp_output, info.vec[i], tmp - info.vec[i] + 1);
+
+ fprintf(info.fp_wr, "%s%s%s\n", tmp_output,
+ "\" information for DPDK Cryptodev ",
+ info.device_name);
+ continue;
+ }
+
if (i == info.nb_vec_lines - 1) {
/** update the time as current time, write to file */
fprintf(info.fp_wr, "%s%s\n", "# Generated on ",
fips_test_clear();
+ strcpy(info.file_name, req_file_path);
info.algo = FIPS_TEST_ALGO_MAX;
if (parse_file_type(req_file_path) < 0) {
RTE_LOG(ERR, USER1, "File %s type not supported\n",