<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p dir="auto">Hello community,</p>
<p dir="auto">I am facing a strange issue in the Trex stateless
code, version v3.02. I am using the Mellanox Cx-5, and have
created two VFs on top of the PF 0. The mlx5_core version I am
using is the 5.7-1.0.2, and the ofed version is
MLNX_OFED_LINUX-5.7-1.0.2.0 (OFED-5.7-1.0.2).</p>
<p dir="auto">I have created the following issue in the trex-core
repository
[here](<a class="moz-txt-link-freetext" href="https://github.com/cisco-system-traffic-generator/trex-core/issues/1124">https://github.com/cisco-system-traffic-generator/trex-core/issues/1124</a>),
and was recommended to post the issue in here. <br>
</p>
<p dir="auto">I am trying to create two parallel streams with
different VLAN priorities, but the load generated is not what I
expect it to be, and CPU util. seems incredibly high.</p>
<p dir="auto">I have attached the output of the tui when sending
only one stream (trex_good.png) and sending both streams
(trex_bad.png). Additionally, I have added the tui output of the
utilization (trex_util.png) of the "bad" scenario.</p>
<p dir="auto">I have reproduced this issue with the --software and
non software version.</p>
<p dir="auto">The script I used is below.</p>
<pre class="notranslate"><code class="notranslate">import stl_path
from trex.stl.api import *
import time
import pprint
from ipaddress import ip_address, ip_network
import argparse
import configparser
import os
import json
def get_packet(tos, mac_dst, ip_src, size):
# pkt = Ether(src="02:00:00:00:00:01",dst="00:00:00:01:00:01") / IP(src="10.0.0.2", tos=tos) / UDP(sport=4444, dport=4444)
pkt = (
Ether(src="00:01:00:00:00:02", dst=mac_dst)
# Ether(dst="11:11:11:11:11:11")
# / Dot1AD(vlan=0)
/ Dot1Q(vlan=0, prio=tos)
/ IP(src=ip_src)
/ UDP(sport=4444, dport=4444)
)
pad = max(0, size - len(pkt)) * "x"
return pkt / pad
def main():
""" """
tx_port = 0
rx_port = 1
c = STLClient()
# connect to server
c.connect()
# prepare our ports
c.reset(ports=[tx_port, rx_port])
streams = []
s = STLStream(
packet=STLPktBuilder(
pkt=get_packet(4,"00:11:22:33:44:55", "10.1.0.2",512),
# vm = vm,
),
isg=0 * 1000000,
mode=STLTXCont(pps=1.2*10**6),
# flow_stats = STLFlowLatencyStats(pg_id = 0)
flow_stats = STLFlowStats(pg_id=0),
)
streams.append(s)
s2 = STLStream(
packet=STLPktBuilder(
pkt=get_packet(2,"00:11:22:33:44:55", "10.1.0.2",512),
# vm = vm,
),
isg=0 * 1000000,
mode=STLTXCont(pps=1.2*10**6),
# flow_stats = STLFlowLatencyStats(pg_id = 0)
flow_stats = STLFlowStats(pg_id=1),
)
streams.append(s2)
c.add_streams(streams, ports=[tx_port])
c.clear_stats()
c.start(ports=[tx_port], duration=60, mult="25gbpsl1")
c.wait_on_traffic(ports=[tx_port, rx_port])
stats = c.get_stats()
print(stats)
if __name__ == "__main__":
main()
And the configuration is
</code></pre>
<p dir="auto"></p>
<pre class="notranslate"><code class="notranslate">- port_limit: 2
version: 2
port_bandwidth_gb: 100
interfaces: ["3b:00.2", "3b:00.3"]
port_info:
- dest_mac: 00:00:00:00:00:01
src_mac: 00:01:00:00:00:01
- dest_mac: 00:00:00:00:00:02
src_mac: 00:01:00:00:00:02
c: 14
platform:
master_thread_id: 8
latency_thread_id: 27
dual_if:
- socket: 0
threads: [9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]</code></pre>
<p dir="auto"></p>
<img src="cid:part1.SnNXNfe7.lJlkrlji@bisdn.de"
moz-do-not-send="false"><img
src="cid:part2.wLd0ZFin.NhoF0V0o@bisdn.de" moz-do-not-send="false"><img
src="cid:part3.dSsN9PXf.0vQ8J1tl@bisdn.de" moz-do-not-send="false"
width="868" height="646">
<p></p>
</body>
</html>
<br>
<div><font face="Helvetica"><span style="font-size:12px">BISDN GmbH</span></font></div><div><font face="Helvetica"><span style="font-size:12px">Körnerstraße 7-10</span></font></div><div><font face="Helvetica"><span style="font-size:12px">10785 Berlin</span></font></div><div><font face="Helvetica"><span style="font-size:12px">Germany</span></font></div><div><font face="Helvetica"><span style="font-size:12px"><br></span></font></div><div><font face="Helvetica"><span style="font-size:12px">Phone: +49-30-6108-1-6100</span></font></div><div><font face="Helvetica"><span style="font-size:12px"><br></span></font></div><div><font face="Helvetica"><span style="font-size:12px">Managing Directors: </span></font></div><div><font face="Helvetica"><span style="font-size:12px">Dr.-Ing. Hagen Woesner, Andreas Köpsel</span></font></div><div><font face="Helvetica"><span style="font-size:12px"><br></span></font></div><div><font face="Helvetica"><span style="font-size:12px">Commercial register: </span></font></div><div><font face="Helvetica"><span style="font-size:12px">Amtsgericht Berlin-Charlottenburg HRB 141569 B</span></font></div><div><font face="Helvetica"><span style="font-size:12px">VAT ID No: </span></font><span style="font-size:12px;font-family:Helvetica">DE283257294</span></div><div><hr></div>