| 162 | #define VIRTIO_ARG_VDPA "vdpa" |
| 163 | |
| 164 | static int |
| 165 | virtio_pci_devargs_parse(struct rte_devargs *devargs, int *vdpa) |
| 166 | { |
| 167 | struct rte_kvargs *kvlist; |
| 168 | int ret = 0; |
| 169 | |
| 170 | if (devargs == NULL) |
| 171 | return 0; |
| 172 | |
| 173 | kvlist = rte_kvargs_parse(devargs->args, NULL); |
| 174 | if (kvlist == NULL) { |
| 175 | PMD_INIT_LOG(ERR, "error when parsing param"); |
| 176 | return 0; |
| 177 | } |
| 178 | |
| 179 | if (rte_kvargs_count(kvlist, VIRTIO_ARG_VDPA) == 1) { |
| 180 | /* vdpa mode selected when there's a key-value pair: |
| 181 | * vdpa=1 |
| 182 | */ |
| 183 | ret = rte_kvargs_process(kvlist, VIRTIO_ARG_VDPA, |
| 184 | vdpa_check_handler, vdpa); |
| 185 | if (ret < 0) |
| 186 | PMD_INIT_LOG(ERR, "Failed to parse %s", VIRTIO_ARG_VDPA); |
| 187 | } |
| 188 | |
| 189 | rte_kvargs_free(kvlist); |
| 190 | |
| 191 | return ret; |
| 192 | } |
| 193 | |
| 194 | static int eth_virtio_pci_probe(struct rte_pci_driver *pci_drv __rte_unused, |
| 195 | struct rte_pci_device *pci_dev) |
no test coverage detected