[dts] [PATCH 1/6] framework: crb :add some parameters and check_Mellanox_pci function to identify mellanox device

Xu, HuilongX huilongx.xu at intel.com
Thu Oct 29 09:48:23 CET 2015


Hi Darawsheh,
Your changed can't work on FreeBSD OS, but function "get_session_output" in crb.py need work on FreeBSD os.
Thanks a lot

> -----Original Message-----
> From: Raslan Darawsheh [mailto:rasland at mellanox.com]
> Sent: Thursday, October 29, 2015 4:05 PM
> To: Xu, HuilongX; dts at dpdk.org
> Cc: rdarawsheh at asaltech.com
> Subject: RE: [dts] [PATCH 1/6] framework: crb :add some parameters and
> check_Mellanox_pci function to identify mellanox device
> 
> Hi Xu, HuilongX ,
> 
> From what I changed it seems that it's only executed over the linux OS.
> And there are an already "lspci" command executed inside the function.
> Can you explain more ?
> Kindest regards
> Raslan Darawsheh
> 
> -----Original Message-----
> From: Xu, HuilongX [mailto:huilongx.xu at intel.com]
> Sent: Thursday, October 29, 2015 4:01 AM
> To: Raslan Darawsheh <rasland at mellanox.com>; dts at dpdk.org
> Cc: rdarawsheh at asaltech.com
> Subject: RE: [dts] [PATCH 1/6] framework: crb :add some parameters and
> check_Mellanox_pci function to identify mellanox device
> 
> 
> Hi darawsheh,
> Pls see my comments as below., thanks  a lot
> > -----Original Message-----
> > From: dts [mailto:dts-bounces at dpdk.org] On Behalf Of Raslan Darawsheh
> > Sent: Tuesday, October 27, 2015 2:08 PM
> > To: dts at dpdk.org
> > Cc: rdarawsheh at asaltech.com
> > Subject: [dts] [PATCH 1/6] framework: crb :add some parameters and
> > check_Mellanox_pci function to identify mellanox device
> >
> > From: Raslsn Darawsheh <rdarawsheh at asaltech.com>
> >
> > Signed-off-by: Raslsn Darawsheh <rdarawsheh at asaltech.com>
> > ---
> >  framework/crb.py | 23 ++++++++++++++++++++++-
> >  1 file changed, 22 insertions(+), 1 deletion(-)
> >
> > diff --git a/framework/crb.py b/framework/crb.py index
> > fcbd7d9..0acec3b 100644
> > --- a/framework/crb.py
> > +++ b/framework/crb.py
> > @@ -33,7 +33,7 @@ import time
> >  import dts
> >  import re
> >  import os
> > -from settings import TIMEOUT, IXIA
> > +from settings import TIMEOUT, IXIA, NICS
> >
> >  """
> >  CRB (customer reference board) basic functions and handlers @@ -54,6
> > +54,9 @@ class Crb(object):
> >          self.skip_setup = False
> >          self.serializer = serializer
> >          self.ports_info = None
> > +        self.isMellanox = False
> > +        self.mellanoxPortCount = 0
> > +        self.mellanoxCardType = None
> >
> >      def send_expect(self, cmds, expected, timeout=TIMEOUT,
> >                      alt_session=False, verify=False):
> > @@ -79,6 +82,19 @@ class Crb(object):
> >
> >          return self.session.send_command(cmds, timeout)
> >
> > +    def check_Mellanox_pci(self,pci_bus,pci_id):
> > +        """
> > +        check if the PCI is Mellanox device or not
> > +        its used to set a flag to handle Mellanox ports differently
> > +        """
> > +        out = self.send_expect("lspci -nn | grep -i "  + pci_bus, "# ")
> > +        if "Mell" in out:
> > +            self.isMellanox =True
> > +            if NICS['ConnectX_4'] in out:
> > +                self.mellanoxCardType = "cx4"
> > +            else:
> > +                self.mellanoxCardType = "cx3"
> > +
> >      def get_session_output(self, timeout=TIMEOUT):
> >          """
> >          Get session output message before timeout @@ -196,6 +212,11
> > @@ class Crb(object):
> >          rexp = r"([\da-f]{2}:[\da-f]{2}.\d{1}) .*Eth.*?ernet
> > .*?([\da- f]{4}:[\da-f]{4})"
> >          pattern = re.compile(rexp)
> >          match = pattern.findall(out)
> Could you not changed this function? because it not about dts feature It
> only a ssh session function, when you exec "lspci" command, freebsd os not
> support.
> So some  case will failed on freebesd.
> > +        out = self.send_expect(
> > +                        "lspci -nn ", "# ", alt_session=True)
> > +        rexp = r"([\da-f]{2}:[\da-f]{2}.\d{1}) Network .*?([\da-
> > f]{4}:[\da-f]{4})"
> > +        pattern = re.compile(rexp)
> > +        match += pattern.findall(out)
> >          self.pci_devices_info = []
> >          for i in range(len(match)):
> >              self.pci_devices_info.append((match[i][0], match[i][1]))
> > --
> > 1.8.3.1



More information about the dts mailing list