| 925 | } |
| 926 | |
| 927 | static int |
| 928 | eth_ark_check_args(struct ark_adapter *ark, const char *params) |
| 929 | { |
| 930 | struct rte_kvargs *kvlist; |
| 931 | unsigned int k_idx; |
| 932 | struct rte_kvargs_pair *pair = NULL; |
| 933 | int ret = -1; |
| 934 | |
| 935 | kvlist = rte_kvargs_parse(params, valid_arguments); |
| 936 | if (kvlist == NULL) |
| 937 | return 0; |
| 938 | |
| 939 | ark->pkt_gen_args[0] = 0; |
| 940 | ark->pkt_chkr_args[0] = 0; |
| 941 | |
| 942 | for (k_idx = 0; k_idx < kvlist->count; k_idx++) { |
| 943 | pair = &kvlist->pairs[k_idx]; |
| 944 | ARK_PMD_LOG(DEBUG, "**** Arg passed to PMD = %s:%s\n", |
| 945 | pair->key, |
| 946 | pair->value); |
| 947 | } |
| 948 | |
| 949 | if (rte_kvargs_process(kvlist, |
| 950 | ARK_PKTDIR_ARG, |
| 951 | &process_pktdir_arg, |
| 952 | ark) != 0) { |
| 953 | ARK_PMD_LOG(ERR, "Unable to parse arg %s\n", ARK_PKTDIR_ARG); |
| 954 | goto free_kvlist; |
| 955 | } |
| 956 | |
| 957 | if (rte_kvargs_process(kvlist, |
| 958 | ARK_PKTGEN_ARG, |
| 959 | &process_file_args, |
| 960 | ark->pkt_gen_args) != 0) { |
| 961 | ARK_PMD_LOG(ERR, "Unable to parse arg %s\n", ARK_PKTGEN_ARG); |
| 962 | goto free_kvlist; |
| 963 | } |
| 964 | |
| 965 | if (rte_kvargs_process(kvlist, |
| 966 | ARK_PKTCHKR_ARG, |
| 967 | &process_file_args, |
| 968 | ark->pkt_chkr_args) != 0) { |
| 969 | ARK_PMD_LOG(ERR, "Unable to parse arg %s\n", ARK_PKTCHKR_ARG); |
| 970 | goto free_kvlist; |
| 971 | } |
| 972 | |
| 973 | if (ark->isvf) { |
| 974 | ret = 0; |
| 975 | goto free_kvlist; |
| 976 | } |
| 977 | ARK_PMD_LOG(INFO, "packet director set to 0x%x\n", ark->pkt_dir_v); |
| 978 | /* Setup the packet director */ |
| 979 | ark_pktdir_setup(ark->pd, ark->pkt_dir_v); |
| 980 | |
| 981 | /* Setup the packet generator */ |
| 982 | if (ark->pkt_gen_args[0]) { |
| 983 | ARK_PMD_LOG(DEBUG, "Setting up the packet generator\n"); |
| 984 | ark_pktgen_parse(ark->pkt_gen_args); |
no test coverage detected