Re: [ovs-dev] [PATCH v2] tests: Add OVS-DPDK QoS unit tests

2022-07-15 Thread Phelan, Michael
> -Original Message-
> From: Stokes, Ian 
> Sent: Friday 15 July 2022 11:25
> To: Phelan, Michael ; Pai G, Sunil
> ; d...@openvswitch.org
> Cc: maxime.coque...@redhat.com; i.maxim...@ovn.org
> Subject: RE: [ovs-dev] [PATCH v2] tests: Add OVS-DPDK QoS unit tests
> 
> > Hey Sunil,
> > Thanks for the comments, I've left some responses inline. Let me know
> > what you think.
> >
> > > -Original Message-
> > > From: Pai G, Sunil 
> > > Sent: Wednesday 13 July 2022 14:51
> > > To: Phelan, Michael ; d...@openvswitch.org
> > > Cc: maxime.coque...@redhat.com; i.maxim...@ovn.org
> > > Subject: RE: [ovs-dev] [PATCH v2] tests: Add OVS-DPDK QoS unit tests
> > >
> > > Hi Mike,
> > >
> > > Thanks for adding more testcases !
> > > Patch generally looks good, although it might require a rebase.
> >
> > Yep, will definitely need a rebase before merging.
> >
> > > Minor nits inline.
> > >
> > >
> > > > -Original Message-
> > > > From: dev  On Behalf Of Michael
> > > > Phelan
> > > > Sent: Wednesday, June 29, 2022 4:19 PM
> > > > To: d...@openvswitch.org
> > > > Cc: maxime.coque...@redhat.com; i.maxim...@ovn.org
> > > > Subject: [ovs-dev] [PATCH v2] tests: Add OVS-DPDK QoS unit tests
> > > >
> > > > This adds 4 new unit tests to the 'check-dpdk' subsystem that will
> > > > test Quality of Service (QoS) functionality.
> > > >
> > > > Signed-off-by: Michael Phelan 
> > > >
> > > > ---
> > > > v2:
> > > >   - Added check to confirm policer was removed correctly in phy
> > > > and vport tests.
> > > >   - Removed unnecessary error catch in phy test.
> > > >   - Added egress to various comments to improve clarity.
> > > > ---
> > > > ---
> > > >  tests/system-dpdk.at | 147
> > > > +++
> > > >  1 file changed, 147 insertions(+)
> > > >
> > > > diff --git a/tests/system-dpdk.at b/tests/system-dpdk.at index
> > > > 7d2715c4a..41987b7b5 100644
> > > > --- a/tests/system-dpdk.at
> > > > +++ b/tests/system-dpdk.at
> > > > @@ -222,6 +222,153 @@ OVS_VSWITCHD_STOP("m4_join([],
> > > > [SYSTEM_DPDK_ALLOWED_LOGS], [  AT_CLEANUP  dnl
> > > > ---
> > > > ---
> > > >
> > > > +
> > > > +
> > > > +dnl
> > > > +-
> > > > +
> > > > +--
> > > > +---
> > > > +dnl QoS create delete phy port
> > > > +AT_SETUP([OVS-DPDK - QoS create delete phy port])
> > >
> > > Do we want to call this QOS or egress policing ? or both ? (QoS /
> > > Egress
> > policing)
> > > Don’t have a strong preference here but just to make the life of a
> > > tester
> > easier I
> > > would include egress policing in the name.
> > > This way: make check-dpdk TESTSUITEFLAGS="-k policing" would run all
> > policing
> > > test cases(ingress/rate limiting as well as egress/QOS)
> >
> > I agree with you here, I think it make sense to call them egress
> > policing tests to keep it in line with the ingress tests and hopefully
> > make it a bit easier for end users. I will change this is in the next 
> > version.
> 
> Not sure I agree with this, egress policing is specifically part of QoS which 
> is
> handled separately to rate-limiting, even as part of the vswitch.xml these are
> separate  concepts and separate in the code base for netdev-dpdk, it's just
> coincidence that there happens to be an egress policer implementation for QoS.
> I would prefer to see a section in the future for QoS specifically that runs 
> all QoS
> tests if that makes sense rather than mixing the policers.

No problem, will leave the naming as QoS for the next version.
> 
> > >
> > >
> > > > +AT_KEYWORDS([dpdk])
> > > > +
> > > > +OVS_DPDK_PRE_PHY_SKIP()
> > > > +OVS_DPDK_START()
> > > > +
> > > > +dnl Add userspace bridge and attach it to OVS and add egress
> > > > +policer AT_CHECK([ovs-vsctl add-br br10 -- set bridge br10
> > > > +datapath_type=netdev]) AT_CHECK([ovs-vsctl add-port br10 phy0 --
> &

Re: [ovs-dev] [PATCH v2] tests: Add OVS-DPDK QoS unit tests

2022-07-15 Thread Stokes, Ian
> Hey Sunil,
> Thanks for the comments, I've left some responses inline. Let me know
> what you think.
> 
> > -Original Message-
> > From: Pai G, Sunil 
> > Sent: Wednesday 13 July 2022 14:51
> > To: Phelan, Michael ; d...@openvswitch.org
> > Cc: maxime.coque...@redhat.com; i.maxim...@ovn.org
> > Subject: RE: [ovs-dev] [PATCH v2] tests: Add OVS-DPDK QoS unit tests
> >
> > Hi Mike,
> >
> > Thanks for adding more testcases !
> > Patch generally looks good, although it might require a rebase.
> 
> Yep, will definitely need a rebase before merging.
> 
> > Minor nits inline.
> >
> >
> > > -Original Message-
> > > From: dev  On Behalf Of Michael
> > > Phelan
> > > Sent: Wednesday, June 29, 2022 4:19 PM
> > > To: d...@openvswitch.org
> > > Cc: maxime.coque...@redhat.com; i.maxim...@ovn.org
> > > Subject: [ovs-dev] [PATCH v2] tests: Add OVS-DPDK QoS unit tests
> > >
> > > This adds 4 new unit tests to the 'check-dpdk' subsystem that will
> > > test Quality of Service (QoS) functionality.
> > >
> > > Signed-off-by: Michael Phelan 
> > >
> > > ---
> > > v2:
> > >   - Added check to confirm policer was removed correctly in phy and
> > > vport tests.
> > >   - Removed unnecessary error catch in phy test.
> > >   - Added egress to various comments to improve clarity.
> > > ---
> > > ---
> > >  tests/system-dpdk.at | 147
> > > +++
> > >  1 file changed, 147 insertions(+)
> > >
> > > diff --git a/tests/system-dpdk.at b/tests/system-dpdk.at index
> > > 7d2715c4a..41987b7b5 100644
> > > --- a/tests/system-dpdk.at
> > > +++ b/tests/system-dpdk.at
> > > @@ -222,6 +222,153 @@ OVS_VSWITCHD_STOP("m4_join([],
> > > [SYSTEM_DPDK_ALLOWED_LOGS], [  AT_CLEANUP  dnl
> > > ---
> > > ---
> > >
> > > +
> > > +
> > > +dnl
> > > +-
> > > +--
> > > +---
> > > +dnl QoS create delete phy port
> > > +AT_SETUP([OVS-DPDK - QoS create delete phy port])
> >
> > Do we want to call this QOS or egress policing ? or both ? (QoS / Egress
> policing)
> > Don’t have a strong preference here but just to make the life of a tester
> easier I
> > would include egress policing in the name.
> > This way: make check-dpdk TESTSUITEFLAGS="-k policing" would run all
> policing
> > test cases(ingress/rate limiting as well as egress/QOS)
> 
> I agree with you here, I think it make sense to call them egress policing 
> tests
> to keep it in line with the ingress tests and hopefully make it a bit easier 
> for
> end users. I will change this is in the next version.

Not sure I agree with this, egress policing is specifically part of QoS which 
is handled separately to rate-limiting, even as part of the vswitch.xml these 
are separate  concepts and separate in the code base for netdev-dpdk, it's just 
coincidence that there happens to be an egress policer implementation for QoS. 
I would prefer to see a section in the future for QoS specifically that runs 
all QoS tests if that makes sense rather than mixing the policers.

> >
> >
> > > +AT_KEYWORDS([dpdk])
> > > +
> > > +OVS_DPDK_PRE_PHY_SKIP()
> > > +OVS_DPDK_START()
> > > +
> > > +dnl Add userspace bridge and attach it to OVS and add egress policer
> > > +AT_CHECK([ovs-vsctl add-br br10 -- set bridge br10
> > > +datapath_type=netdev]) AT_CHECK([ovs-vsctl add-port br10 phy0 --
> set
> > > +Interface phy0 type=dpdk options:dpdk-devargs=$(cat PCI_ADDR)], [],
> > > +[stdout], [stderr]) OVS_WAIT_UNTIL([ovs-vsctl set port phy0
> qos=@newqos
> > > +-- --id=@newqos create qos type=egress-policer other-
> config:cir=125
> > > +other-config:cbs=2048]) AT_CHECK([ovs-appctl -t ovs-vswitchd
> qos/show
> > > +phy0], [], [stdout]) sleep 2
> > > +
> > > +dnl Fail if egress policer could not be created AT_FAIL_IF([grep "Could
> > > +not create rte meter for egress policer" ovs-vswitchd.log], [],
> > > +[stdout])
> > > +
> > > +dnl remove egress policer
> >
> > Please capitalize the first word. [please check this on the entire patch]
> >
> > > +AT_CHECK([ovs-vsctl destroy QoS phy0 -- clear Port phy0 qos])
> > > +
> > > +dnl

Re: [ovs-dev] [PATCH v2] tests: Add OVS-DPDK QoS unit tests

2022-07-13 Thread Phelan, Michael
Hey Sunil,
Thanks for the comments, I've left some responses inline. Let me know what you 
think.

> -Original Message-
> From: Pai G, Sunil 
> Sent: Wednesday 13 July 2022 14:51
> To: Phelan, Michael ; d...@openvswitch.org
> Cc: maxime.coque...@redhat.com; i.maxim...@ovn.org
> Subject: RE: [ovs-dev] [PATCH v2] tests: Add OVS-DPDK QoS unit tests
> 
> Hi Mike,
> 
> Thanks for adding more testcases !
> Patch generally looks good, although it might require a rebase.

Yep, will definitely need a rebase before merging.

> Minor nits inline.
> 
> 
> > -Original Message-
> > From: dev  On Behalf Of Michael
> > Phelan
> > Sent: Wednesday, June 29, 2022 4:19 PM
> > To: d...@openvswitch.org
> > Cc: maxime.coque...@redhat.com; i.maxim...@ovn.org
> > Subject: [ovs-dev] [PATCH v2] tests: Add OVS-DPDK QoS unit tests
> >
> > This adds 4 new unit tests to the 'check-dpdk' subsystem that will
> > test Quality of Service (QoS) functionality.
> >
> > Signed-off-by: Michael Phelan 
> >
> > ---
> > v2:
> >   - Added check to confirm policer was removed correctly in phy and
> > vport tests.
> >   - Removed unnecessary error catch in phy test.
> >   - Added egress to various comments to improve clarity.
> > ---
> > ---
> >  tests/system-dpdk.at | 147
> > +++
> >  1 file changed, 147 insertions(+)
> >
> > diff --git a/tests/system-dpdk.at b/tests/system-dpdk.at index
> > 7d2715c4a..41987b7b5 100644
> > --- a/tests/system-dpdk.at
> > +++ b/tests/system-dpdk.at
> > @@ -222,6 +222,153 @@ OVS_VSWITCHD_STOP("m4_join([],
> > [SYSTEM_DPDK_ALLOWED_LOGS], [  AT_CLEANUP  dnl
> > ---
> > ---
> >
> > +
> > +
> > +dnl
> > +-
> > +--
> > +---
> > +dnl QoS create delete phy port
> > +AT_SETUP([OVS-DPDK - QoS create delete phy port])
> 
> Do we want to call this QOS or egress policing ? or both ? (QoS / Egress 
> policing)
> Don’t have a strong preference here but just to make the life of a tester 
> easier I
> would include egress policing in the name.
> This way: make check-dpdk TESTSUITEFLAGS="-k policing" would run all policing
> test cases(ingress/rate limiting as well as egress/QOS)

I agree with you here, I think it make sense to call them egress policing tests 
to keep it in line with the ingress tests and hopefully make it a bit easier 
for end users. I will change this is in the next version.
> 
> 
> > +AT_KEYWORDS([dpdk])
> > +
> > +OVS_DPDK_PRE_PHY_SKIP()
> > +OVS_DPDK_START()
> > +
> > +dnl Add userspace bridge and attach it to OVS and add egress policer
> > +AT_CHECK([ovs-vsctl add-br br10 -- set bridge br10
> > +datapath_type=netdev]) AT_CHECK([ovs-vsctl add-port br10 phy0 -- set
> > +Interface phy0 type=dpdk options:dpdk-devargs=$(cat PCI_ADDR)], [],
> > +[stdout], [stderr]) OVS_WAIT_UNTIL([ovs-vsctl set port phy0 qos=@newqos
> > +-- --id=@newqos create qos type=egress-policer other-config:cir=125
> > +other-config:cbs=2048]) AT_CHECK([ovs-appctl -t ovs-vswitchd qos/show
> > +phy0], [], [stdout]) sleep 2
> > +
> > +dnl Fail if egress policer could not be created AT_FAIL_IF([grep "Could
> > +not create rte meter for egress policer" ovs-vswitchd.log], [],
> > +[stdout])
> > +
> > +dnl remove egress policer
> 
> Please capitalize the first word. [please check this on the entire patch]
> 
> > +AT_CHECK([ovs-vsctl destroy QoS phy0 -- clear Port phy0 qos])
> > +
> > +dnl check egress policer was removed correctly AT_CHECK([ovs-appctl -t
> > +ovs-vswitchd qos/show phy0], [], [stdout]) AT_CHECK([egrep 'QoS not
> > +configured on phy0' stdout], [], [stdout])
> > +
> > +dnl Clean up
> > +AT_CHECK([ovs-vsctl del-port br10 phy0], [], [stdout], [stderr])
> > +OVS_VSWITCHD_STOP("[SYSTEM_DPDK_ALLOWED_LOGS]")
> > +AT_CLEANUP
> > +dnl
> > +---
> > +---
> > +
> > +
> > +
> > +dnl
> > +---
> > +---
> > +dnl QoS create delete vport port
> > +AT_SETUP([OVS-DPDK - QoS create delete vport port])
> > +AT_KEYWORDS([dpdk])
> > +
> > +OVS_DPDK_PRE_CHECK()
> > +OVS_DPDK_START()
> > +
> > +dnl Add userspace bridge and attach it to OVS and add egress policer
> > +AT

Re: [ovs-dev] [PATCH v2] tests: Add OVS-DPDK QoS unit tests

2022-07-13 Thread Pai G, Sunil
Hi Mike, 

Thanks for adding more testcases !
Patch generally looks good, although it might require a rebase.
Minor nits inline.


> -Original Message-
> From: dev  On Behalf Of Michael Phelan
> Sent: Wednesday, June 29, 2022 4:19 PM
> To: d...@openvswitch.org
> Cc: maxime.coque...@redhat.com; i.maxim...@ovn.org
> Subject: [ovs-dev] [PATCH v2] tests: Add OVS-DPDK QoS unit tests
> 
> This adds 4 new unit tests to the 'check-dpdk' subsystem that will test
> Quality of Service (QoS) functionality.
> 
> Signed-off-by: Michael Phelan 
> 
> ---
> v2:
>   - Added check to confirm policer was removed correctly in phy and vport
> tests.
>   - Removed unnecessary error catch in phy test.
>   - Added egress to various comments to improve clarity.
> ---
> ---
>  tests/system-dpdk.at | 147 +++
>  1 file changed, 147 insertions(+)
> 
> diff --git a/tests/system-dpdk.at b/tests/system-dpdk.at index
> 7d2715c4a..41987b7b5 100644
> --- a/tests/system-dpdk.at
> +++ b/tests/system-dpdk.at
> @@ -222,6 +222,153 @@ OVS_VSWITCHD_STOP("m4_join([],
> [SYSTEM_DPDK_ALLOWED_LOGS], [  AT_CLEANUP  dnl ---
> ---
> 
> +
> +
> +dnl
> +---
> +---
> +dnl QoS create delete phy port
> +AT_SETUP([OVS-DPDK - QoS create delete phy port])

Do we want to call this QOS or egress policing ? or both ? (QoS / Egress 
policing) 
Don’t have a strong preference here but just to make the life of a tester 
easier I would include egress policing in the name.
This way: make check-dpdk TESTSUITEFLAGS="-k policing" would run all policing 
test cases(ingress/rate limiting as well as egress/QOS)


> +AT_KEYWORDS([dpdk])
> +
> +OVS_DPDK_PRE_PHY_SKIP()
> +OVS_DPDK_START()
> +
> +dnl Add userspace bridge and attach it to OVS and add egress policer
> +AT_CHECK([ovs-vsctl add-br br10 -- set bridge br10
> +datapath_type=netdev]) AT_CHECK([ovs-vsctl add-port br10 phy0 -- set
> +Interface phy0 type=dpdk options:dpdk-devargs=$(cat PCI_ADDR)], [],
> +[stdout], [stderr]) OVS_WAIT_UNTIL([ovs-vsctl set port phy0 qos=@newqos
> +-- --id=@newqos create qos type=egress-policer other-config:cir=125
> +other-config:cbs=2048]) AT_CHECK([ovs-appctl -t ovs-vswitchd qos/show
> +phy0], [], [stdout]) sleep 2
> +
> +dnl Fail if egress policer could not be created AT_FAIL_IF([grep "Could
> +not create rte meter for egress policer" ovs-vswitchd.log], [],
> +[stdout])
> +
> +dnl remove egress policer

Please capitalize the first word. [please check this on the entire patch]

> +AT_CHECK([ovs-vsctl destroy QoS phy0 -- clear Port phy0 qos])
> +
> +dnl check egress policer was removed correctly AT_CHECK([ovs-appctl -t
> +ovs-vswitchd qos/show phy0], [], [stdout]) AT_CHECK([egrep 'QoS not
> +configured on phy0' stdout], [], [stdout])
> +
> +dnl Clean up
> +AT_CHECK([ovs-vsctl del-port br10 phy0], [], [stdout], [stderr])
> +OVS_VSWITCHD_STOP("[SYSTEM_DPDK_ALLOWED_LOGS]")
> +AT_CLEANUP
> +dnl
> +---
> +---
> +
> +
> +
> +dnl
> +---
> +---
> +dnl QoS create delete vport port
> +AT_SETUP([OVS-DPDK - QoS create delete vport port])
> +AT_KEYWORDS([dpdk])
> +
> +OVS_DPDK_PRE_CHECK()
> +OVS_DPDK_START()
> +
> +dnl Add userspace bridge and attach it to OVS and add egress policer
> +AT_CHECK([ovs-vsctl add-br br10 -- set bridge br10
> +datapath_type=netdev]) AT_CHECK([ovs-vsctl add-port br10
> +dpdkvhostuserclient0 -- set Interface dpdkvhostuserclient0
> type=dpdkvhostuserclient options:vhost-server-
> path=$OVS_RUNDIR/dpdkvhostclient0], [], [stdout], [stderr])
> OVS_WAIT_UNTIL([ovs-vsctl set port dpdkvhostuserclient0 qos=@newqos -- --
> id=@newqos create qos type=egress-policer other-config:cir=125 \
> +  other-config:cbs=2048]) AT_CHECK([ovs-appctl -t
> +ovs-vswitchd qos/show dpdkvhostuserclient0], [], [stdout]) sleep 2
> +
> +dnl Fail if egress policer could not be created AT_FAIL_IF([grep "Could
> +not create rte meter for egress policer" ovs-vswitchd.log], [],
> +[stdout])
> +
> +dnl remove egress policer
> +AT_CHECK([ovs-vsctl destroy QoS dpdkvhostuserclient0 -- clear Port
> +dpdkvhostuserclient0 qos])
> +
> +dnl check egress policer was removed correctly AT_CHECK([ovs-appctl -t
> +ovs-vswitchd qos/show dpdkvhostuserclient0], [], [stdout])
> +AT_CHECK([egrep 'QoS not configured on dpdkvhostuserclient0' stdout],
> +[], [stdout])
> +
> +dnl Parse log file
> +AT_CHEC

[ovs-dev] [PATCH v2] tests: Add OVS-DPDK QoS unit tests

2022-06-29 Thread Michael Phelan
This adds 4 new unit tests to the 'check-dpdk' subsystem that will
test Quality of Service (QoS) functionality.

Signed-off-by: Michael Phelan 

---
v2:
  - Added check to confirm policer was removed correctly in phy and vport tests.
  - Removed unnecessary error catch in phy test.
  - Added egress to various comments to improve clarity.
---
---
 tests/system-dpdk.at | 147 +++
 1 file changed, 147 insertions(+)

diff --git a/tests/system-dpdk.at b/tests/system-dpdk.at
index 7d2715c4a..41987b7b5 100644
--- a/tests/system-dpdk.at
+++ b/tests/system-dpdk.at
@@ -222,6 +222,153 @@ OVS_VSWITCHD_STOP("m4_join([], 
[SYSTEM_DPDK_ALLOWED_LOGS], [
 AT_CLEANUP
 dnl --
 
+
+
+dnl --
+dnl QoS create delete phy port
+AT_SETUP([OVS-DPDK - QoS create delete phy port])
+AT_KEYWORDS([dpdk])
+
+OVS_DPDK_PRE_PHY_SKIP()
+OVS_DPDK_START()
+
+dnl Add userspace bridge and attach it to OVS and add egress policer
+AT_CHECK([ovs-vsctl add-br br10 -- set bridge br10 datapath_type=netdev])
+AT_CHECK([ovs-vsctl add-port br10 phy0 -- set Interface phy0 type=dpdk 
options:dpdk-devargs=$(cat PCI_ADDR)], [], [stdout], [stderr])
+OVS_WAIT_UNTIL([ovs-vsctl set port phy0 qos=@newqos -- --id=@newqos create qos 
type=egress-policer other-config:cir=125 other-config:cbs=2048])
+AT_CHECK([ovs-appctl -t ovs-vswitchd qos/show phy0], [], [stdout])
+sleep 2
+
+dnl Fail if egress policer could not be created
+AT_FAIL_IF([grep "Could not create rte meter for egress policer" 
ovs-vswitchd.log], [], [stdout])
+
+dnl remove egress policer
+AT_CHECK([ovs-vsctl destroy QoS phy0 -- clear Port phy0 qos])
+
+dnl check egress policer was removed correctly
+AT_CHECK([ovs-appctl -t ovs-vswitchd qos/show phy0], [], [stdout])
+AT_CHECK([egrep 'QoS not configured on phy0' stdout], [], [stdout])
+
+dnl Clean up
+AT_CHECK([ovs-vsctl del-port br10 phy0], [], [stdout], [stderr])
+OVS_VSWITCHD_STOP("[SYSTEM_DPDK_ALLOWED_LOGS]")
+AT_CLEANUP
+dnl --
+
+
+
+dnl --
+dnl QoS create delete vport port
+AT_SETUP([OVS-DPDK - QoS create delete vport port])
+AT_KEYWORDS([dpdk])
+
+OVS_DPDK_PRE_CHECK()
+OVS_DPDK_START()
+
+dnl Add userspace bridge and attach it to OVS and add egress policer
+AT_CHECK([ovs-vsctl add-br br10 -- set bridge br10 datapath_type=netdev])
+AT_CHECK([ovs-vsctl add-port br10 dpdkvhostuserclient0 -- set Interface 
dpdkvhostuserclient0 type=dpdkvhostuserclient 
options:vhost-server-path=$OVS_RUNDIR/dpdkvhostclient0], [], [stdout], [stderr])
+OVS_WAIT_UNTIL([ovs-vsctl set port dpdkvhostuserclient0 qos=@newqos -- 
--id=@newqos create qos type=egress-policer other-config:cir=125 \
+  other-config:cbs=2048])
+AT_CHECK([ovs-appctl -t ovs-vswitchd qos/show dpdkvhostuserclient0], [], 
[stdout])
+sleep 2
+
+dnl Fail if egress policer could not be created
+AT_FAIL_IF([grep "Could not create rte meter for egress policer" 
ovs-vswitchd.log], [], [stdout])
+
+dnl remove egress policer
+AT_CHECK([ovs-vsctl destroy QoS dpdkvhostuserclient0 -- clear Port 
dpdkvhostuserclient0 qos])
+
+dnl check egress policer was removed correctly
+AT_CHECK([ovs-appctl -t ovs-vswitchd qos/show dpdkvhostuserclient0], [], 
[stdout])
+AT_CHECK([egrep 'QoS not configured on dpdkvhostuserclient0' stdout], [], 
[stdout])
+
+dnl Parse log file
+AT_CHECK([grep "VHOST_CONFIG: vhost-user client: socket created" 
ovs-vswitchd.log], [], [stdout])
+AT_CHECK([grep "vHost User device 'dpdkvhostuserclient0' created in 'client' 
mode, using client socket" ovs-vswitchd.log], [], [stdout])
+AT_CHECK([grep "VHOST_CONFIG: $OVS_RUNDIR/dpdkvhostclient0: reconnecting..." 
ovs-vswitchd.log], [], [stdout])
+
+dnl Clean up
+AT_CHECK([ovs-vsctl del-port br10 dpdkvhostuserclient0], [], [stdout], 
[stderr])
+OVS_VSWITCHD_STOP("m4_join([], [SYSTEM_DPDK_ALLOWED_LOGS], [
+\@VHOST_CONFIG: failed to connect to $OVS_RUNDIR/dpdkvhostclient0: No such 
file or directory@d
+])")
+AT_CLEANUP
+dnl --
+
+
+
+dnl --
+dnl QoS no cir
+AT_SETUP([OVS-DPDK - QoS no cir])
+AT_KEYWORDS([dpdk])
+
+OVS_DPDK_PRE_CHECK()
+OVS_DPDK_START()
+
+dnl Add userspace bridge and attach it to OVS and add egress policer
+AT_CHECK([ovs-vsctl add-br br10 -- set bridge br10 datapath_type=netdev])
+AT_CHECK([ovs-vsctl add-port br10 dpdkvhostuserclient0 -- set Interface 
dpdkvhostuserclient0 type=dpdkvhostuserclient 
options:vhost-server-path=$OVS_RUNDIR/dpdkvhostclient0], [], [stdout], [stderr])
+OVS_WAIT_UNTIL([ovs-vsctl set port dpdkvhostuserclient0 qos=@newqos -- 
--id=@newqos create qos type=egress-policer other-config:cbs=2048])
+sleep 2
+
+dnl check egress policer was n