MCPcopy Create free account
hub / github.com/F-Stack/f-stack / virtio_dev_devargs_parse

Function virtio_dev_devargs_parse

dpdk/drivers/net/virtio/virtio_ethdev.c:2068–2109  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2066
2067
2068static int
2069virtio_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
2106exit:
2107 rte_kvargs_free(kvlist);
2108 return ret;
2109}
2110
2111static uint8_t
2112rx_offload_enabled(struct virtio_hw *hw)

Callers 1

eth_virtio_dev_initFunction · 0.85

Calls 4

rte_kvargs_parseFunction · 0.85
rte_kvargs_countFunction · 0.85
rte_kvargs_processFunction · 0.85
rte_kvargs_freeFunction · 0.85

Tested by

no test coverage detected