<div dir="ltr"><div><p class="gmail-">Hi Folks,</p>
<p class="gmail-">I'm observing some unexpected behavior related to how statistics are retrieved from a Physical Function (PF) on an Intel 810 NIC.</p>
<p class="gmail-"><strong>Scenario:</strong>
I have two <code>dpdk-testpmd</code> instances running in separate Kubernetes pods (same worker node). Each instance uses the <code>-a</code> flag to bind to a different VF. (i.e to have consistent port id 0) </p>
<p class="gmail-"><strong>Questions:</strong></p>
<ol>
<li class="gmail-">
<p class="gmail-"><strong>PF Statistics and 64B Line Rate:</strong><br>
I'm noticing that the RX packet-per-second value reported on the PF side for a given VF is <strong>higher than the theoretical maximum</strong> for 64-byte packets.</p>
<ul>
<li class="gmail-">
<p class="gmail-">Does the Intel 810 PMD apply any kind of optimization, offloading, or fast path processing when two VFs (e.g., A and B) are on the same PF?</p>
</li>
</ul>
</li>
<li class="gmail-">
<p class="gmail-"><strong>Concurrent Stats Polling:</strong></p>
<ul>
<li class="gmail-">
<p class="gmail-">When two separate <code>dpdk-testpmd</code> processes are running (in pod A and pod B), does the PMD or driver layer support concurrent reading of PF statistics?</p>
</li>
<li class="gmail-">
<p class="gmail-">Is there any locking or synchronization mechanism involved when multiple testpmd instances attempt to pull stats from the same PF simultaneously? ( in essence, does a firmware/OF support concurrent read). </p>
</li>
</ul>
</li>
</ol>
<p class="gmail-">Thank you,</p></div><div><div style="background-color:rgb(22,24,33);color:rgb(198,200,209)"><pre style="font-size:10.5pt"><font face="times new roman, serif"><span style="color:rgb(137,184,194)">cd /usr/local/bin && dpdk-testpmd \<br></span><span style="color:rgb(137,184,194)">  --main-lcore \$main -l \$cores -n 4 \<br></span><span style="color:rgb(137,184,194)">  --socket-mem 2048 \<br></span><span style="color:rgb(137,184,194)">  --proc-type auto --file-prefix testpmd_rx0 \<br></span><span style="color:rgb(137,184,194)">  -a \$PCIDEVICE_INTEL_COM_DPDK \<br></span><span style="color:rgb(137,184,194)">  -- --forward-mode=rxonly --auto-start --stats-period 1'"</span></font></pre></div></div><div><div style="background-color:rgb(22,24,33);color:rgb(198,200,209)"><pre style="font-size:10.5pt"><font face="times new roman, serif"><span style="color:rgb(137,184,194)">cd /usr/local/bin && dpdk-testpmd \<br></span><span style="color:rgb(137,184,194)">  --main-lcore \$main -l \$cores -n 4 \<br></span><span style="color:rgb(137,184,194)">  --socket-mem 2048 \<br></span><span style="color:rgb(137,184,194)">  --proc-type auto --file-prefix testpmd_rx1 \<br></span><span style="color:rgb(137,184,194)">  -a \$PCIDEVICE_INTEL_COM_DPDK \<br></span><span style="color:rgb(137,184,194)">  -- --forward-mode=rxonly --auto-start --stats-period 1'"

</span></font></pre></div></div></div>