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