Re: [ovs-dev] [RFC PATCH v2 1/1] netdev-dpdk: Add support for DPDK 16.07

2016-07-22 Thread Daniele Di Proietto
[...]

> @@ -1776,7 +1764,8 @@ netdev_dpdk_get_stats(const struct netdev
> > *netdev, struct netdev_stats *stats)
> >  netdev_dpdk_get_carrier(netdev, );
> >  ovs_mutex_lock(>mutex);
> >
> > -struct rte_eth_xstats *rte_xstats;
> > +struct rte_eth_xstat *rte_xstats;
> > +struct rte_eth_xstat_name *rte_xstats_names;
> >  int rte_xstats_len, rte_xstats_ret;
> >
> >  if (rte_eth_stats_get(dev->port_id, _stats)) {
> > @@ -1785,20 +1774,51 @@ netdev_dpdk_get_stats(const struct netdev
> > *netdev, struct netdev_stats *stats)
> >  return EPROTO;
> >  }
> >
> > -rte_xstats_len = rte_eth_xstats_get(dev->port_id, NULL, 0);
> > -if (rte_xstats_len > 0) {
> > -rte_xstats = dpdk_rte_mzalloc(sizeof(*rte_xstats) *
> rte_xstats_len);
> > -memset(rte_xstats, 0xff, sizeof(*rte_xstats) * rte_xstats_len);
> > -rte_xstats_ret = rte_eth_xstats_get(dev->port_id, rte_xstats,
> > -rte_xstats_len);
> > -if (rte_xstats_ret > 0 && rte_xstats_ret <= rte_xstats_len) {
> > -netdev_dpdk_convert_xstats(stats, rte_xstats,
> rte_xstats_ret);
> > -}
> > +/* Get length of statistics */
> > +rte_xstats_len = rte_eth_xstats_get_names(dev->port_id, NULL, 0);
> > +if (rte_xstats_len < 0) {
> > +VLOG_WARN("Cannot get XSTATS values for port: %i",
> dev->port_id);
> > +goto out;
> > +}
> > +/* Reserve memory for xstats names */
> > +rte_xstats_names = dpdk_rte_mzalloc(sizeof(*rte_xstats_names)
> > +* rte_xstats_len);
> > +if (rte_xstats_names == NULL) {
> >
> > Minor: how about !rte_xstats_names?
> >
> > +VLOG_WARN("Cannot allocate memory for XSTATS names for port %i",
> > +  dev->port_id);
> > +rte_free(rte_xstats_names);
> >
> > This rte_free seems unnecessary
> >
> > +goto out;
> > +}
> > +/* Reserve memory for xstats values */
> > +rte_xstats = dpdk_rte_mzalloc(sizeof(*rte_xstats) * rte_xstats_len);
> > +if (rte_xstats == NULL) {
> >
> > Minor: how about !rte_xstats?
> >
> > +VLOG_WARN("Cannot allocate memory for XSTATS values for port
> %i",
> > +  dev->port_id);
> >  rte_free(rte_xstats);
> >
> > This rte_free seems unnecessary.
> >
> > +goto out;
> >
> > I think here we would leak rte_xstats_names.
> >
> > +}
> > +/* Retreive xstats names */
> > +if (rte_xstats_len != rte_eth_xstats_get_names(dev->port_id,
> > +   rte_xstats_names,
> rte_xstats_len)) {
> > +VLOG_WARN("Cannot get XSTATS names for port: %i.",
> dev->port_id);
> > +rte_free(rte_xstats);
> > +rte_free(rte_xstats_names);
> > +goto out;
> > +}
> > +/* Retreive xstats values */
> > +memset(rte_xstats, 0xff, sizeof(*rte_xstats) * rte_xstats_len);
> > +rte_xstats_ret = rte_eth_xstats_get(dev->port_id, rte_xstats,
> > +rte_xstats_len);
> > +if (rte_xstats_ret > 0 && rte_xstats_ret <= rte_xstats_len) {
> > +netdev_dpdk_convert_xstats(stats, rte_xstats, rte_xstats_names,
> > +   rte_xstats_len);
> >
> > Who frees rte_xstats_names and rte_xstats?
> >
> >  } else {
> > -VLOG_WARN("Can't get XSTATS counters for port: %i.",
> dev->port_id);
> > +VLOG_WARN("Cannot get XSTATS values for port: %i.",
> dev->port_id);
> > +rte_free(rte_xstats);
> > +rte_free(rte_xstats_names);
> >  }
> >
> > +out:
> >
> > Perhaps it's easier to always free rte_xstats and rte_xstats_names here.
> I've fixed this in the v3 and moved the free as suggested.
>
> > Also, is there a reason not to use xcalloc() and free(), instead?
> > This is not the fastpath, as far as I understand there's no reason for
> it to be in
> > hugepages.
> Just following what was already there. But good point - I've changed this
> to use xcalloc and free.
>
>
Ok, thanks


> >
> >  stats->rx_packets = rte_stats.ipackets;
> >  stats->tx_packets = rte_stats.opackets;
> >  stats->rx_bytes = rte_stats.ibytes;
>

[...]


> > @@ -2233,26 +2250,27 @@ netdev_dpdk_remap_txqs(struct netdev_dpdk
> > *dev)
> >   * A new virtio-net device is added to a vhost port.
> >   */
> >  static int
> > -new_device(struct virtio_net *virtio_dev)
> > +new_device(int vid)
> >  {
> >  struct netdev_dpdk *dev;
> >  bool exists = false;
> >  int newnode = 0;
> > -long err = 0;
> > +char ifname[PATH_MAX];
> > +
> > +rte_vhost_get_ifname(vid, ifname, sizeof(ifname));
> >
> >  ovs_mutex_lock(_mutex);
> >  /* Add device to the vhost port with the same name as that passed
> down.
> > */
> >  LIST_FOR_EACH(dev, list_node, _list) {
> > -if (strncmp(virtio_dev->ifname, dev->vhost_id, IF_NAME_SZ) ==
> 0) {
> > -uint32_t qp_num = virtio_dev->virt_qp_nb;
> > +if 

Re: [ovs-dev] [RFC PATCH v2 1/1] netdev-dpdk: Add support for DPDK 16.07

2016-07-22 Thread Loftus, Ciara
> 
> Hi Ciara,
> thanks for the patch.
> It mostly looks good to me, except a few comments inline
> Thanks,
> Daniele

Thanks for the review Daniele. I've pushed a new version that includes your 
suggestions. Responses inline.

> 
> 2016-07-12 2:11 GMT-07:00 Ciara Loftus :
> This commit introduces support for DPDK 16.07 and consequently breaks
> compatibility with DPDK 16.04.
> 
> DPDK 16.07 introduces some changes to various APIs. These have been
> updated in OVS, including:
> * xstats API: changes to structure of xstats
> * vhost API:  replace virtio-net references with 'vid'
> 
> Signed-off-by: Ciara Loftus 
> 
> ---
>  .travis/linux-build.sh   |   2 +-
>  INSTALL.DPDK-ADVANCED.md |   8 +-
>  INSTALL.DPDK.md          |  20 ++--
>  lib/netdev-dpdk.c        | 243 +++---
> -
>  4 files changed, 135 insertions(+), 138 deletions(-)
> 
> diff --git a/.travis/linux-build.sh b/.travis/linux-build.sh
> index 065de39..1b3d43d 100755
> --- a/.travis/linux-build.sh
> +++ b/.travis/linux-build.sh
> @@ -68,7 +68,7 @@ fi
> 
>  if [ "$DPDK" ]; then
>      if [ -z "$DPDK_VER" ]; then
> -        DPDK_VER="16.04"
> +        DPDK_VER="16.07"
> 
I wanted to test it on travis, but the files are not there yet :)
> 
>      fi
>      install_dpdk $DPDK_VER
>      if [ "$CC" = "clang" ]; then
> diff --git a/INSTALL.DPDK-ADVANCED.md b/INSTALL.DPDK-ADVANCED.md
> index 9ae536d..ec1de29 100644
> --- a/INSTALL.DPDK-ADVANCED.md
> +++ b/INSTALL.DPDK-ADVANCED.md
> @@ -43,7 +43,7 @@ for DPDK and OVS.
>      For IVSHMEM case, set `export DPDK_TARGET=x86_64-ivshmem-
> linuxapp-gcc`
> 
>      ```
> -    export DPDK_DIR=/usr/src/dpdk-16.04
> +    export DPDK_DIR=/usr/src/dpdk-16.07
>      export DPDK_BUILD=$DPDK_DIR/$DPDK_TARGET
>      make install T=$DPDK_TARGET DESTDIR=install
>      ```
> @@ -339,7 +339,7 @@ For users wanting to do packet forwarding using
> kernel stack below are the steps
>         cd /usr/src/cmdline_generator
>         wget https://raw.githubusercontent.com/netgroup-polito/un-
> orchestrator/master/orchestrator/compute_controller/plugins/kvm-
> libvirt/cmdline_generator/cmdline_generator.c
>         wget https://raw.githubusercontent.com/netgroup-polito/un-
> orchestrator/master/orchestrator/compute_controller/plugins/kvm-
> libvirt/cmdline_generator/Makefile
> -       export RTE_SDK=/usr/src/dpdk-16.04
> +       export RTE_SDK=/usr/src/dpdk-16.07
>         export RTE_TARGET=x86_64-ivshmem-linuxapp-gcc
>         make
>         ./build/cmdline_generator -m -p dpdkr0 XXX
> @@ -363,7 +363,7 @@ For users wanting to do packet forwarding using
> kernel stack below are the steps
>         mount -t hugetlbfs nodev /dev/hugepages (if not already mounted)
> 
>         # Build the DPDK ring application in the VM
> -       export RTE_SDK=/root/dpdk-16.04
> +       export RTE_SDK=/root/dpdk-16.07
>         export RTE_TARGET=x86_64-ivshmem-linuxapp-gcc
>         make
> 
> @@ -374,7 +374,7 @@ For users wanting to do packet forwarding using
> kernel stack below are the steps
> 
>  ##  6. Vhost Walkthrough
> 
> -DPDK 16.04 supports two types of vhost:
> +DPDK 16.07 supports two types of vhost:
> 
>  1. vhost-user - enabled default
> 
> diff --git a/INSTALL.DPDK.md b/INSTALL.DPDK.md
> index 5407794..9022ad8 100644
> --- a/INSTALL.DPDK.md
> +++ b/INSTALL.DPDK.md
> @@ -21,7 +21,7 @@ The DPDK support of Open vSwitch is considered
> 'experimental'.
> 
>  ### Prerequisites
> 
> -* Required: DPDK 16.04, libnuma
> +* Required: DPDK 16.07, libnuma
>  * Hardware: [DPDK Supported NICs] when physical ports in use
> 
>  ##  2. Building and Installation
> @@ -42,10 +42,10 @@ advanced install guide [INSTALL.DPDK-
> ADVANCED.md]
> 
>       ```
>       cd /usr/src/
> -     wget http://dpdk.org/browse/dpdk/snapshot/dpdk-16.04.zip
> -     unzip dpdk-16.04.zip
> +     wget http://dpdk.org/browse/dpdk/snapshot/dpdk-16.07.zip
> +     unzip dpdk-16.07.zip
> 
> -     export DPDK_DIR=/usr/src/dpdk-16.04
> +     export DPDK_DIR=/usr/src/dpdk-16.07
>       cd $DPDK_DIR
>       ```
> 
> @@ -329,9 +329,9 @@ can be found in [Vhost Walkthrough].
> 
>    ```
>    cd /root/dpdk/
> -  wget http://dpdk.org/browse/dpdk/snapshot/dpdk-16.04.zip
> -  unzip dpdk-16.04.zip
> -  export DPDK_DIR=/root/dpdk/dpdk-16.04
> +  wget http://dpdk.org/browse/dpdk/snapshot/dpdk-16.07.zip
> +  unzip dpdk-16.07.zip
> +  export DPDK_DIR=/root/dpdk/dpdk-16.07
>    export DPDK_TARGET=x86_64-native-linuxapp-gcc
>    export DPDK_BUILD=$DPDK_DIR/$DPDK_TARGET
>    cd $DPDK_DIR
> @@ -487,7 +487,7 @@ can be found in [Vhost Walkthrough].
>             
>             
>               
> -             
> +             
>               
>               
>             
> @@ -557,9 +557,9 @@ can be found in [Vhost Walkthrough].
>      DPDK. It is recommended that users update Network Interface firmware
> to
>      match what has been validated for the DPDK release.
> 
> -    For DPDK 16.04, the list of validated 

Re: [ovs-dev] [RFC PATCH v2 1/1] netdev-dpdk: Add support for DPDK 16.07

2016-07-15 Thread Daniele Di Proietto
Hi Ciara,

thanks for the patch.

It mostly looks good to me, except a few comments inline

Thanks,

Daniele

2016-07-12 2:11 GMT-07:00 Ciara Loftus :

> This commit introduces support for DPDK 16.07 and consequently breaks
> compatibility with DPDK 16.04.
>
> DPDK 16.07 introduces some changes to various APIs. These have been
> updated in OVS, including:
> * xstats API: changes to structure of xstats
> * vhost API:  replace virtio-net references with 'vid'
>
> Signed-off-by: Ciara Loftus 
>
> ---
>  .travis/linux-build.sh   |   2 +-
>  INSTALL.DPDK-ADVANCED.md |   8 +-
>  INSTALL.DPDK.md  |  20 ++--
>  lib/netdev-dpdk.c| 243
> +++
>  4 files changed, 135 insertions(+), 138 deletions(-)
>
> diff --git a/.travis/linux-build.sh b/.travis/linux-build.sh
> index 065de39..1b3d43d 100755
> --- a/.travis/linux-build.sh
> +++ b/.travis/linux-build.sh
> @@ -68,7 +68,7 @@ fi
>
>  if [ "$DPDK" ]; then
>  if [ -z "$DPDK_VER" ]; then
> -DPDK_VER="16.04"
> +DPDK_VER="16.07"
>

I wanted to test it on travis, but the files are not there yet :)


>  fi
>  install_dpdk $DPDK_VER
>  if [ "$CC" = "clang" ]; then
> diff --git a/INSTALL.DPDK-ADVANCED.md b/INSTALL.DPDK-ADVANCED.md
> index 9ae536d..ec1de29 100644
> --- a/INSTALL.DPDK-ADVANCED.md
> +++ b/INSTALL.DPDK-ADVANCED.md
> @@ -43,7 +43,7 @@ for DPDK and OVS.
>  For IVSHMEM case, set `export DPDK_TARGET=x86_64-ivshmem-linuxapp-gcc`
>
>  ```
> -export DPDK_DIR=/usr/src/dpdk-16.04
> +export DPDK_DIR=/usr/src/dpdk-16.07
>  export DPDK_BUILD=$DPDK_DIR/$DPDK_TARGET
>  make install T=$DPDK_TARGET DESTDIR=install
>  ```
> @@ -339,7 +339,7 @@ For users wanting to do packet forwarding using kernel
> stack below are the steps
> cd /usr/src/cmdline_generator
> wget
> https://raw.githubusercontent.com/netgroup-polito/un-orchestrator/master/orchestrator/compute_controller/plugins/kvm-libvirt/cmdline_generator/cmdline_generator.c
> wget
> https://raw.githubusercontent.com/netgroup-polito/un-orchestrator/master/orchestrator/compute_controller/plugins/kvm-libvirt/cmdline_generator/Makefile
> -   export RTE_SDK=/usr/src/dpdk-16.04
> +   export RTE_SDK=/usr/src/dpdk-16.07
> export RTE_TARGET=x86_64-ivshmem-linuxapp-gcc
> make
> ./build/cmdline_generator -m -p dpdkr0 XXX
> @@ -363,7 +363,7 @@ For users wanting to do packet forwarding using kernel
> stack below are the steps
> mount -t hugetlbfs nodev /dev/hugepages (if not already mounted)
>
> # Build the DPDK ring application in the VM
> -   export RTE_SDK=/root/dpdk-16.04
> +   export RTE_SDK=/root/dpdk-16.07
> export RTE_TARGET=x86_64-ivshmem-linuxapp-gcc
> make
>
> @@ -374,7 +374,7 @@ For users wanting to do packet forwarding using kernel
> stack below are the steps
>
>  ##  6. Vhost Walkthrough
>
> -DPDK 16.04 supports two types of vhost:
> +DPDK 16.07 supports two types of vhost:
>
>  1. vhost-user - enabled default
>
> diff --git a/INSTALL.DPDK.md b/INSTALL.DPDK.md
> index 5407794..9022ad8 100644
> --- a/INSTALL.DPDK.md
> +++ b/INSTALL.DPDK.md
> @@ -21,7 +21,7 @@ The DPDK support of Open vSwitch is considered
> 'experimental'.
>
>  ### Prerequisites
>
> -* Required: DPDK 16.04, libnuma
> +* Required: DPDK 16.07, libnuma
>  * Hardware: [DPDK Supported NICs] when physical ports in use
>
>  ##  2. Building and Installation
> @@ -42,10 +42,10 @@ advanced install guide [INSTALL.DPDK-ADVANCED.md]
>
>   ```
>   cd /usr/src/
> - wget http://dpdk.org/browse/dpdk/snapshot/dpdk-16.04.zip
> - unzip dpdk-16.04.zip
> + wget http://dpdk.org/browse/dpdk/snapshot/dpdk-16.07.zip
> + unzip dpdk-16.07.zip
>
> - export DPDK_DIR=/usr/src/dpdk-16.04
> + export DPDK_DIR=/usr/src/dpdk-16.07
>   cd $DPDK_DIR
>   ```
>
> @@ -329,9 +329,9 @@ can be found in [Vhost Walkthrough].
>
>```
>cd /root/dpdk/
> -  wget http://dpdk.org/browse/dpdk/snapshot/dpdk-16.04.zip
> -  unzip dpdk-16.04.zip
> -  export DPDK_DIR=/root/dpdk/dpdk-16.04
> +  wget http://dpdk.org/browse/dpdk/snapshot/dpdk-16.07.zip
> +  unzip dpdk-16.07.zip
> +  export DPDK_DIR=/root/dpdk/dpdk-16.07
>export DPDK_TARGET=x86_64-native-linuxapp-gcc
>export DPDK_BUILD=$DPDK_DIR/$DPDK_TARGET
>cd $DPDK_DIR
> @@ -487,7 +487,7 @@ can be found in [Vhost Walkthrough].
> 
> 
>   
> - 
> + 
>   
>   
> 
> @@ -557,9 +557,9 @@ can be found in [Vhost Walkthrough].
>  DPDK. It is recommended that users update Network Interface firmware
> to
>  match what has been validated for the DPDK release.
>
> -For DPDK 16.04, the list of validated firmware versions can be found
> at:
> +For DPDK 16.07, the list of validated firmware versions can be found
> at:
>
> -

[ovs-dev] [RFC PATCH v2 1/1] netdev-dpdk: Add support for DPDK 16.07

2016-07-12 Thread Ciara Loftus
This commit introduces support for DPDK 16.07 and consequently breaks
compatibility with DPDK 16.04.

DPDK 16.07 introduces some changes to various APIs. These have been
updated in OVS, including:
* xstats API: changes to structure of xstats
* vhost API:  replace virtio-net references with 'vid'

Signed-off-by: Ciara Loftus 

---
 .travis/linux-build.sh   |   2 +-
 INSTALL.DPDK-ADVANCED.md |   8 +-
 INSTALL.DPDK.md  |  20 ++--
 lib/netdev-dpdk.c| 243 +++
 4 files changed, 135 insertions(+), 138 deletions(-)

diff --git a/.travis/linux-build.sh b/.travis/linux-build.sh
index 065de39..1b3d43d 100755
--- a/.travis/linux-build.sh
+++ b/.travis/linux-build.sh
@@ -68,7 +68,7 @@ fi
 
 if [ "$DPDK" ]; then
 if [ -z "$DPDK_VER" ]; then
-DPDK_VER="16.04"
+DPDK_VER="16.07"
 fi
 install_dpdk $DPDK_VER
 if [ "$CC" = "clang" ]; then
diff --git a/INSTALL.DPDK-ADVANCED.md b/INSTALL.DPDK-ADVANCED.md
index 9ae536d..ec1de29 100644
--- a/INSTALL.DPDK-ADVANCED.md
+++ b/INSTALL.DPDK-ADVANCED.md
@@ -43,7 +43,7 @@ for DPDK and OVS.
 For IVSHMEM case, set `export DPDK_TARGET=x86_64-ivshmem-linuxapp-gcc`
 
 ```
-export DPDK_DIR=/usr/src/dpdk-16.04
+export DPDK_DIR=/usr/src/dpdk-16.07
 export DPDK_BUILD=$DPDK_DIR/$DPDK_TARGET
 make install T=$DPDK_TARGET DESTDIR=install
 ```
@@ -339,7 +339,7 @@ For users wanting to do packet forwarding using kernel 
stack below are the steps
cd /usr/src/cmdline_generator
wget 
https://raw.githubusercontent.com/netgroup-polito/un-orchestrator/master/orchestrator/compute_controller/plugins/kvm-libvirt/cmdline_generator/cmdline_generator.c
wget 
https://raw.githubusercontent.com/netgroup-polito/un-orchestrator/master/orchestrator/compute_controller/plugins/kvm-libvirt/cmdline_generator/Makefile
-   export RTE_SDK=/usr/src/dpdk-16.04
+   export RTE_SDK=/usr/src/dpdk-16.07
export RTE_TARGET=x86_64-ivshmem-linuxapp-gcc
make
./build/cmdline_generator -m -p dpdkr0 XXX
@@ -363,7 +363,7 @@ For users wanting to do packet forwarding using kernel 
stack below are the steps
mount -t hugetlbfs nodev /dev/hugepages (if not already mounted)
 
# Build the DPDK ring application in the VM
-   export RTE_SDK=/root/dpdk-16.04
+   export RTE_SDK=/root/dpdk-16.07
export RTE_TARGET=x86_64-ivshmem-linuxapp-gcc
make
 
@@ -374,7 +374,7 @@ For users wanting to do packet forwarding using kernel 
stack below are the steps
 
 ##  6. Vhost Walkthrough
 
-DPDK 16.04 supports two types of vhost:
+DPDK 16.07 supports two types of vhost:
 
 1. vhost-user - enabled default
 
diff --git a/INSTALL.DPDK.md b/INSTALL.DPDK.md
index 5407794..9022ad8 100644
--- a/INSTALL.DPDK.md
+++ b/INSTALL.DPDK.md
@@ -21,7 +21,7 @@ The DPDK support of Open vSwitch is considered 'experimental'.
 
 ### Prerequisites
 
-* Required: DPDK 16.04, libnuma
+* Required: DPDK 16.07, libnuma
 * Hardware: [DPDK Supported NICs] when physical ports in use
 
 ##  2. Building and Installation
@@ -42,10 +42,10 @@ advanced install guide [INSTALL.DPDK-ADVANCED.md]
 
  ```
  cd /usr/src/
- wget http://dpdk.org/browse/dpdk/snapshot/dpdk-16.04.zip
- unzip dpdk-16.04.zip
+ wget http://dpdk.org/browse/dpdk/snapshot/dpdk-16.07.zip
+ unzip dpdk-16.07.zip
 
- export DPDK_DIR=/usr/src/dpdk-16.04
+ export DPDK_DIR=/usr/src/dpdk-16.07
  cd $DPDK_DIR
  ```
 
@@ -329,9 +329,9 @@ can be found in [Vhost Walkthrough].
 
   ```
   cd /root/dpdk/
-  wget http://dpdk.org/browse/dpdk/snapshot/dpdk-16.04.zip
-  unzip dpdk-16.04.zip
-  export DPDK_DIR=/root/dpdk/dpdk-16.04
+  wget http://dpdk.org/browse/dpdk/snapshot/dpdk-16.07.zip
+  unzip dpdk-16.07.zip
+  export DPDK_DIR=/root/dpdk/dpdk-16.07
   export DPDK_TARGET=x86_64-native-linuxapp-gcc
   export DPDK_BUILD=$DPDK_DIR/$DPDK_TARGET
   cd $DPDK_DIR
@@ -487,7 +487,7 @@ can be found in [Vhost Walkthrough].


  
- 
+ 
  
  

@@ -557,9 +557,9 @@ can be found in [Vhost Walkthrough].
 DPDK. It is recommended that users update Network Interface firmware to
 match what has been validated for the DPDK release.
 
-For DPDK 16.04, the list of validated firmware versions can be found at:
+For DPDK 16.07, the list of validated firmware versions can be found at:
 
-http://dpdk.org/doc/guides/rel_notes/release_16_04.html
+http://dpdk.org/doc/guides/rel_notes/release_16.07.html
 
 
 Bug Reporting:
diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index 85b18fd..9cf0b0c 100644
--- a/lib/netdev-dpdk.c
+++ b/lib/netdev-dpdk.c
@@ -356,8 +356,8 @@ struct netdev_dpdk {
  * always true.  */
 bool txq_needs_locking;
 
-/* virtio-net structure for vhost device */
-OVSRCU_TYPE(struct virtio_net *) virtio_dev;
+/* virtio identifier for vhost devices */
+