| 2066 | |
| 2067 | |
| 2068 | static int |
| 2069 | virtio_dev_devargs_parse(struct rte_devargs *devargs, uint32_t *speed, int *vectorized) |
| 2070 | { |
| 2071 | struct rte_kvargs *kvlist; |
| 2072 | int ret = 0; |
| 2073 | |
| 2074 | if (devargs == NULL) |
| 2075 | return 0; |
| 2076 | |
| 2077 | kvlist = rte_kvargs_parse(devargs->args, NULL); |
| 2078 | if (kvlist == NULL) { |
| 2079 | PMD_INIT_LOG(ERR, "error when parsing param"); |
| 2080 | return 0; |
| 2081 | } |
| 2082 | |
| 2083 | if (speed && rte_kvargs_count(kvlist, VIRTIO_ARG_SPEED) == 1) { |
| 2084 | ret = rte_kvargs_process(kvlist, |
| 2085 | VIRTIO_ARG_SPEED, |
| 2086 | link_speed_handler, speed); |
| 2087 | if (ret < 0) { |
| 2088 | PMD_INIT_LOG(ERR, "Failed to parse %s", |
| 2089 | VIRTIO_ARG_SPEED); |
| 2090 | goto exit; |
| 2091 | } |
| 2092 | } |
| 2093 | |
| 2094 | if (vectorized && |
| 2095 | rte_kvargs_count(kvlist, VIRTIO_ARG_VECTORIZED) == 1) { |
| 2096 | ret = rte_kvargs_process(kvlist, |
| 2097 | VIRTIO_ARG_VECTORIZED, |
| 2098 | vectorized_check_handler, vectorized); |
| 2099 | if (ret < 0) { |
| 2100 | PMD_INIT_LOG(ERR, "Failed to parse %s", |
| 2101 | VIRTIO_ARG_VECTORIZED); |
| 2102 | goto exit; |
| 2103 | } |
| 2104 | } |
| 2105 | |
| 2106 | exit: |
| 2107 | rte_kvargs_free(kvlist); |
| 2108 | return ret; |
| 2109 | } |
| 2110 | |
| 2111 | static uint8_t |
| 2112 | rx_offload_enabled(struct virtio_hw *hw) |
no test coverage detected