On 2016/02/05 20:20, Jianfeng Tan wrote:
> To implement virtio vdev, we need way to interract with vhost backend.
> And more importantly, needs way to emulate a device into DPDK. So this
> patch acts as embedded device emulation.
>
> Depends on the type of vhost file: vhost-user is used if the given
> path points to a unix socket; vhost-net is used if the given path
> points to a char device.
>
> Signed-off-by: Huawei Xie <huawei.xie at intel.com>
> Signed-off-by: Jianfeng Tan <jianfeng.tan at intel.com>
> ---
>  
> +void
> +virtio_vdev_init(struct rte_eth_dev_data *data, char *path,
> +              int nb_rx, int nb_tx, int nb_cq __attribute__ ((unused)),
> +              int queue_num, char *mac, char *ifname)
> +{
> +     int i, r;
> +     struct stat s;
> +     uint32_t tmp[ETHER_ADDR_LEN];
> +     struct virtio_hw *hw = data->dev_private;
> +
> +     hw->vtpci_ops = &vdev_ops;
> +     hw->io_base  = 0;
> +     hw->use_msix = 0;
> +     hw->modern   = 0;
> +
> +     hw->data = data;
> +     hw->path = strdup(path);
> +     hw->max_rx_queues = nb_rx;
> +     hw->max_tx_queues = nb_tx;
> +     hw->queue_num = queue_num;
> +     hw->mac_specified = 0;
> +     if (mac) {
> +             r = sscanf(mac, "%x:%x:%x:%x:%x:%x", &tmp[0],
> +                        &tmp[1], &tmp[2], &tmp[3], &tmp[4], &tmp[5]);
> +             if (r == ETHER_ADDR_LEN) {
> +                     for (i = 0; i < ETHER_ADDR_LEN; ++i)
> +                             hw->mac_addr[i] = (uint8_t)tmp[i];
> +                     hw->mac_specified = 1;
> +             } else
> +                     PMD_DRV_LOG(WARN, "wrong format of mac: %s", mac);

It seems you cannot use 'WARN' here.

Thanks,
Tetsuya

Reply via email to