<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@SimSun";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
span.m5481072119043250413xhoenzb
        {mso-style-name:m_5481072119043250413x_hoenzb;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Hi Biernacki,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">“wirespeed” function is used by performance case for calculating the percentage of line rate. And by default we assume that only highest link speed will be used
 for performance case. So currently speed is hard-coded based on NIC type. <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Agreed with you, port link speed should be one attribute of port which may be detected from tester side.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Thanks,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Marvin<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><a name="_____replyseparator"></a><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Radoslaw Biernacki [mailto:radoslaw.biernacki@linaro.org]
<br>
<b>Sent:</b> Monday, December 04, 2017 9:58 PM<br>
<b>To:</b> Verma, Ayuj <Ayuj.Verma@cavium.com><br>
<b>Cc:</b> dts@dpdk.org; Jogarao, Nartu <Nartu.Jogarao@cavium.com>; Herbert Guan <herbert.guan@linaro.org>; Czubak, Angela <Angela.Czubak@cavium.com>; Liu, Yong <yong.liu@intel.com>; Desai, Arvind <Arvind.Desai@cavium.com>; Athreya, Narayana Prasad <NarayanaPrasad.Athreya@cavium.com><br>
<b>Subject:</b> Re: [PATCH 1/4] framework/crb: Fixing ThunderX ethernet controler detection<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Hi,<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I didn't noticed previously that this might be connected to my change so thank for giving the feedback.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I need to spend some time and think about it, but is seems that "wirespeed" function should be function of a nic or rather a port, not test class.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">And I'm surprised that it didn't check the actual speed of a port since even ThunderX NIC 10G can work either 1G or 10G.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">So in general please give me some time I should came up with some more elegant solution which possibly I can add as V2 of this patch.<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">On 4 December 2017 at 13:12, Verma, Ayuj <<a href="mailto:Ayuj.Verma@cavium.com" target="_blank">Ayuj.Verma@cavium.com</a>> wrote:<o:p></o:p></p>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div id="m_5481072119043250413divtagdefaultwrapper">
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-family:"Calibri",sans-serif;color:black">Hi
</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:black">Biernacki</span><span style="font-family:"Calibri",sans-serif;color:black">,<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-family:"Calibri",sans-serif;color:black"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-family:"Calibri",sans-serif;color:black">Thanks for the heads up.<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-family:"Calibri",sans-serif;color:black">The reason for us to put this check is ThunderX Ethernet controllers 1G, 10G and 40G NIC devices have same device-id which make it difficult to recognize
 correct device being tested, which is required in ./framework/test_case.py  "wirespeed" to provide bitrate for particular NIC.<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-family:"Calibri",sans-serif;color:black"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-family:"Calibri",sans-serif;color:black">Initially we added support for 10G only but, we planed to have support for our 40G NIC also.<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-family:"Calibri",sans-serif;color:black"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-family:"Calibri",sans-serif;color:black">More acceptable way to do this might be having a global variable for linkspeed and using it further in <o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-family:"Calibri",sans-serif;color:black">./framework/test_case.py or elsewhere.
<br>
User can provide linkspeed.<br>
<br>
Let us know your thoughts on this.<br>
<br>
Thanks and regards<br>
Ayuj Verma<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-family:"Calibri",sans-serif;color:black"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-family:"Calibri",sans-serif;color:black"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-family:"Calibri",sans-serif;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span style="font-family:"Calibri",sans-serif;color:black"><o:p> </o:p></span></p>
<div>
<div class="MsoNormal" align="center" style="text-align:center"><span style="font-family:"Calibri",sans-serif;color:#1A1A1A">
<hr size="3" width="98%" align="center">
</span></div>
<div id="m_5481072119043250413divRplyFwdMsg">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:black">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:black"> Radoslaw Biernacki <<a href="mailto:radoslaw.biernacki@linaro.org" target="_blank">radoslaw.biernacki@linaro.org</a>><br>
<b>Sent:</b> 04 December 2017 16:14<br>
<b>To:</b> <a href="mailto:dts@dpdk.org" target="_blank">dts@dpdk.org</a>; Verma, Ayuj; Jogarao, Nartu<br>
<b>Cc:</b> Herbert Guan; Radoslaw Biernacki; Czubak, Angela; Liu, Yong<br>
<b>Subject:</b> Re: [PATCH 1/4] framework/crb: Fixing ThunderX ethernet controler detection</span><span style="font-family:"Calibri",sans-serif;color:#1A1A1A">
<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-family:"Calibri",sans-serif;color:#1A1A1A"> <o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<div>
<div>
<p class="MsoNormal"><span style="font-family:"Calibri",sans-serif;color:#1A1A1A">Ayuj and Jogarao you might also be interested to look at this one.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Calibri",sans-serif;color:#1A1A1A"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-family:"Calibri",sans-serif;color:#1A1A1A">On 1 December 2017 at 22:20, Radoslaw Biernacki <<a href="mailto:radoslaw.biernacki@linaro.org" target="_blank">radoslaw.biernacki@linaro.org</a>> wrote:<o:p></o:p></span></p>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal" style="margin-bottom:12.0pt"><span style="font-family:"Calibri",sans-serif;color:#1A1A1A">Asking for link speed for ThunderX Ethernet controller is not reliable<br>
since driver report error when the link is down. In fact we dont need<br>
to ask for link speed as Ethernet controllers can be easily identified<br>
by device name from lspci. The mapping will fuhrer filter out the PF<br>
and VF interfaces which does not have the interface name assigned.<br>
<br>
Fixes: 150716d93f5e ("framework crb: Appending only 10G devices for cavium")<br>
<br>
Signed-off-by: Radoslaw Biernacki <<a href="mailto:radoslaw.biernacki@linaro.org" target="_blank">radoslaw.biernacki@linaro.org</a>><br>
---<br>
 framework/crb.py | 11 ++---------<br>
 1 file changed, 2 insertions(+), 9 deletions(-)<br>
<br>
diff --git a/framework/crb.py b/framework/crb.py<br>
index dd29a8b..36b1ffe 100644<br>
--- a/framework/crb.py<br>
+++ b/framework/crb.py<br>
@@ -268,20 +268,13 @@ class Crb(object):<br>
         Look for the NIC's information (PCI Id and card type).<br>
         """<br>
         out = self.send_expect(<br>
-            "lspci -Dnn | grep -i eth", "# ", alt_session=True)<br>
+            "lspci -Dnn | grep -i 'Ethernet controller'", "# ", alt_session=True)<br>
         rexp = r"([\da-f]{4}:[\da-f]{2}:[\da-f]{2}.\d{1}) .*Eth.*?ernet .*?([\da-f]{4}:[\da-f]{4})"<br>
         pattern = re.compile(rexp)<br>
         match = pattern.findall(out)<br>
         self.pci_devices_info = []<br>
         for i in range(len(match)):<br>
-            #check if device is cavium and check its linkspeed, append only if it is 10G<br>
-            if "177d:" in match[i][1]:<br>
-                linkspeed = "10000"<br>
-                nic_linkspeed = self.send_command("cat /sys/bus/pci/devices/%s/net/*/speed" % match[i][0])<br>
-                if nic_linkspeed == linkspeed:<br>
-                    self.pci_devices_info.append((match[i][0], match[i][1]))<br>
-            else:<br>
-                self.pci_devices_info.append((match[i][0], match[i][1]))<br>
+            self.pci_devices_info.append((match[i][0], match[i][1]))<br>
<br>
     def pci_devices_information_uncached_freebsd(self):<br>
         """<br>
</span><span class="m5481072119043250413xhoenzb"><span style="font-family:"Calibri",sans-serif;color:#888888">--</span></span><span style="font-family:"Calibri",sans-serif;color:#888888"><br>
<span class="m5481072119043250413xhoenzb">2.7.4</span></span><span style="font-family:"Calibri",sans-serif;color:#1A1A1A"><o:p></o:p></span></p>
</blockquote>
</div>
<p class="MsoNormal"><span style="font-family:"Calibri",sans-serif;color:#1A1A1A"><o:p> </o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</body>
</html>