[dpdk-dev] [PATCH v2 0/7] virtio 1.0 enabling for virtio pmd driver

Yuanhan Liu yuanhan.liu at linux.intel.com
Thu Jan 14 07:45:00 CET 2016


On Thu, Jan 14, 2016 at 02:09:18PM +0800, Tan, Jianfeng wrote:
...
> I basically agree with you. We have two dimensions here:
> 
> legacy             modern
> physical virtio device:                     Use virtio_read_caps_phys() to
> distinguish
> virtual virtio device (Tetsuya):       Use virtio_read_caps_virt() to
> distinguish
> virtual virtio device (Jianfeng):    does not need a "configuration space
> layout", no need to distinguish

I guess you meant to build a form or something, but seems you failed :)

> 
> So in vtpci_init(), we needs to test "eth_dev->dev_type" firstly
> 
> vtpci_init() {
>     if (eth_dev->dev_type == RTE_ETH_DEV_PCI) {
>         if (virtio_read_caps_phys()) {
>             // modern
>         } else {
>             // legacy
>         }
>     } else {
>         if (Tetsuya's way) {
>             if (virtio_read_caps_virt()) {
>                 // modern
>             } else {
>                 // legacy
>             }
>         } else {
>             // Jianfeng's way
>         }
>     }
> }

Normally, I'd like to hide the details inside virtio_read_caps(): I don't
want similar codes to be appeared twice. And if it can be simply done
by "if (eth_dev->dev_type == ...)", I'd like to do it in this way. If not,
introducing another set of operation abstractions as suggested in my
another email might be a better option.

> And from Yuanhan's angle, I think he does not need to address this problem.

Yep; it just has nothing to do with this patch set.

	--yliu


More information about the dev mailing list