Parse device arguments */
| 186 | |
| 187 | /* Parse device arguments */ |
| 188 | static int hn_parse_args(const struct rte_eth_dev *dev) |
| 189 | { |
| 190 | struct hn_data *hv = dev->data->dev_private; |
| 191 | struct rte_devargs *devargs = dev->device->devargs; |
| 192 | static const char * const valid_keys[] = { |
| 193 | NETVSC_ARG_LATENCY, |
| 194 | NETVSC_ARG_RXBREAK, |
| 195 | NETVSC_ARG_TXBREAK, |
| 196 | NETVSC_ARG_RX_EXTMBUF_ENABLE, |
| 197 | NULL |
| 198 | }; |
| 199 | struct rte_kvargs *kvlist; |
| 200 | int ret; |
| 201 | |
| 202 | if (!devargs) |
| 203 | return 0; |
| 204 | |
| 205 | PMD_INIT_LOG(DEBUG, "device args %s %s", |
| 206 | devargs->name, devargs->args); |
| 207 | |
| 208 | kvlist = rte_kvargs_parse(devargs->args, valid_keys); |
| 209 | if (!kvlist) { |
| 210 | PMD_DRV_LOG(ERR, "invalid parameters"); |
| 211 | return -EINVAL; |
| 212 | } |
| 213 | |
| 214 | ret = rte_kvargs_process(kvlist, NULL, hn_set_parameter, hv); |
| 215 | rte_kvargs_free(kvlist); |
| 216 | |
| 217 | return ret; |
| 218 | } |
| 219 | |
| 220 | /* Update link status. |
| 221 | * Note: the DPDK definition of "wait_to_complete" |
no test coverage detected