| 297 | }; |
| 298 | |
| 299 | static int |
| 300 | pmd_ethdev_register(struct rte_vdev_device *vdev, |
| 301 | struct pmd_params *params, |
| 302 | void *dev_private) |
| 303 | { |
| 304 | struct rte_eth_dev *dev; |
| 305 | |
| 306 | /* Ethdev entry allocation */ |
| 307 | dev = rte_eth_dev_allocate(params->name); |
| 308 | if (!dev) |
| 309 | return -ENOMEM; |
| 310 | |
| 311 | /* dev */ |
| 312 | dev->rx_pkt_burst = pmd_rx_pkt_burst; |
| 313 | dev->tx_pkt_burst = pmd_tx_pkt_burst; |
| 314 | dev->tx_pkt_prepare = NULL; |
| 315 | dev->dev_ops = &pmd_ops; |
| 316 | dev->device = &vdev->device; |
| 317 | |
| 318 | /* dev->data */ |
| 319 | dev->data->dev_private = dev_private; |
| 320 | dev->data->dev_link.link_speed = RTE_ETH_SPEED_NUM_100G; |
| 321 | dev->data->dev_link.link_duplex = RTE_ETH_LINK_FULL_DUPLEX; |
| 322 | dev->data->dev_link.link_autoneg = RTE_ETH_LINK_FIXED; |
| 323 | dev->data->dev_link.link_status = RTE_ETH_LINK_DOWN; |
| 324 | dev->data->mac_addrs = ð_addr; |
| 325 | dev->data->promiscuous = 1; |
| 326 | dev->data->numa_node = params->cpu_id; |
| 327 | |
| 328 | rte_eth_dev_probing_finish(dev); |
| 329 | |
| 330 | return 0; |
| 331 | } |
| 332 | |
| 333 | static int |
| 334 | get_string(const char *key __rte_unused, const char *value, void *extra_args) |
no test coverage detected