On Fri, Mar 31, 2017 at 07:40:17PM +0800, Zhiyong Yang wrote:
> Current dpdk code virtio_dev_stop only disables interrupt and marks link down,
> When it is invoked, tx/rx traffic flows still work. This is a strange
> behavior.
> The patchset supports the switch of flow by calling virtio_dev_start/stop.
>
> The implementation refers to vhost pmd.
That's a difference story. Vhost pmd uses 2 vars to track the
status, whereas you are using only one here. So why not
setting/clearing "started" at dev_start/stop, respectively?
Then we can check "started" at Rx/Tx functions.
BTW, why does it have to be atomic?
--yliu
>
> Zhiyong Yang (2):
> net/virtio: add data elements to turn on/off traffic flow
> net/virtio: support to turn on/off the traffic flow
>
> drivers/net/virtio/virtio_ethdev.c | 37
> +++++++++++++++++++++++++++-
> drivers/net/virtio/virtio_pci.h | 1 +
> drivers/net/virtio/virtio_rxtx.c | 12 +++++++++
> drivers/net/virtio/virtio_rxtx.h | 6 +++++
> drivers/net/virtio/virtio_rxtx_simple.c | 4 +++
> drivers/net/virtio/virtio_rxtx_simple_neon.c | 5 +++-
> drivers/net/virtio/virtio_rxtx_simple_sse.c | 5 +++-
> drivers/net/virtio/virtio_user_ethdev.c | 1 +
> 8 files changed, 68 insertions(+), 3 deletions(-)
>
> --
> 2.7.4