test suite reviews and discussions
 help / color / mirror / Atom feed
From: "Liu, Yong" <yong.liu@intel.com>
To: "Wang, FeiX Y" <feix.y.wang@intel.com>, "dts@dpdk.org" <dts@dpdk.org>
Cc: "Wang, FeiX Y" <feix.y.wang@intel.com>
Subject: Re: [dts] [[patch v1]] framework/etgen.py: add in a function for ixia	to send fixed number of packets
Date: Mon, 11 Sep 2017 01:21:19 +0000	[thread overview]
Message-ID: <86228AFD5BCD8E4EBFD2B90117B5E81E62EA05DD@SHSMSX103.ccr.corp.intel.com> (raw)
In-Reply-To: <1504872430-39616-1-git-send-email-feix.y.wang@intel.com>

Fei, some comments below.

Thanks,
Marvin

> -----Original Message-----
> From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of wang fei
> Sent: Friday, September 08, 2017 8:07 PM
> To: dts@dpdk.org
> Cc: Wang, FeiX Y <feix.y.wang@intel.com>
> Subject: [dts] [[patch v1]] framework/etgen.py: add in a function for ixia
> to send fixed number of packets
> 
> Signed-off-by: wang fei <feix.y.wang@intel.com>
> ---
>  framework/etgen.py | 33 ++++++++++++++++++++++++++++++++-
>  1 file changed, 32 insertions(+), 1 deletion(-)
> 
> diff --git a/framework/etgen.py b/framework/etgen.py
> index f45a96e..7ee24ac 100644
> --- a/framework/etgen.py
> +++ b/framework/etgen.py
> @@ -141,7 +141,6 @@ class IxiaPacketGenerator(SSHConnection):
>          self.logger = getLogger(self.NAME)
>          super(IxiaPacketGenerator, self).__init__(self.get_ip_address(),
>                                                    self.NAME,
> -                                                  self.get_username(),
>                                                    self.get_password())
>          super(IxiaPacketGenerator, self).init_log(self.logger)
> 
> @@ -869,3 +868,35 @@ class IxiaPacketGenerator(SSHConnection):
>          retrieved capture buffer. Call packetGroupStats get before.
>          """
>          return self._packetgroup_cget_value('averageLatency')
> +
> +    def
> send_packets(self,portList,ratePercent,packetNum,delay=5,runTime=60):

Please add space after each parameter for PEP alignment.

> +        """
> +        configure ixia to send fixed number of packets for each tx port
> +        and returns the throughput for rx ports
> +        """
> +        rxPortlist, txPortlist = self._configure_everything(portList,
> ratePercent)
> +        time.sleep(delay)
> +        self.send_expect("ixStopTransmit portList","%",5)
> +
> +        self.send_expect("stream config -numFrames %s" % packetNum,"%",5)
> +        self.send_expect("stream config -dma stopStream","%",5)

Look like it will not work for multiple streams, is this function support that? If not, please add check or rename the function.

> +        for txPort in txPortlist:
> +            port = self.pci_to_port(self.tester.get_pci(txPort))
> +            self.send_expect("stream set %d %d %d 1" % (self.chasId,
> port['card'], port['port']),"%",5)
> +
> +        self.send_expect("ixWritePortsToHardware portList","%",5)
> +        self.send_expect("ixClearStats portList","%",5)
> +        self.send_expect("ixStartTransmit portList","%",5)
> +        time.sleep(runTime)
> +        time.sleep(3)

Sleep 60 seconds cannot assure that all packets transmitted. And most of cases will waste time for waiting.
You can add one while loop here and break the loop when transmitted packets equal to "packetNum". 


> +
> +        txPackets = 0
> +        rxPackets = 0
> +        for port in txPortlist:
> +            self.stat_get_stat_all_stats(port)
> +            txPackets += self.get_frames_sent()
> +            rxPackets += self.get_frames_received()
> +        self.logger.info("Transmitted packets :%s" % txPackets)
> +        self.logger.info("Received packets :%s" % rxPackets)
> +
> +        return txPackets,rxPackets
> --
> 2.7.4

      reply	other threads:[~2017-09-11  1:21 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-08 12:07 wang fei
2017-09-11  1:21 ` Liu, Yong [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=86228AFD5BCD8E4EBFD2B90117B5E81E62EA05DD@SHSMSX103.ccr.corp.intel.com \
    --to=yong.liu@intel.com \
    --cc=dts@dpdk.org \
    --cc=feix.y.wang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).