* Trex with mlx5 driver - Multiple streams with different VLAN priority causes high CPU utilization
@ 2024-04-16 7:58 Rubens Figueiredo
0 siblings, 0 replies; only message in thread
From: Rubens Figueiredo @ 2024-04-16 7:58 UTC (permalink / raw)
To: dev
[-- Attachment #1.1: Type: text/plain, Size: 3189 bytes --]
Hello community,
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).
I have created the following issue in the trex-core repository
[here](https://github.com/cisco-system-traffic-generator/trex-core/issues/1124),
and was recommended to post the issue in here.
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.
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.
I have reproduced this issue with the --software and non software version.
The script I used is below.
|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 |
|- 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]|
--
BISDN GmbH
Körnerstraße 7-10
10785 Berlin
Germany
Phone:
+49-30-6108-1-6100
Managing Directors:
Dr.-Ing. Hagen Woesner, Andreas
Köpsel
Commercial register:
Amtsgericht Berlin-Charlottenburg HRB 141569
B
VAT ID No: DE283257294
[-- Attachment #1.2: Type: text/html, Size: 5592 bytes --]
[-- Attachment #2: trex_bad.png --]
[-- Type: image/png, Size: 107070 bytes --]
[-- Attachment #3: trex_good.png --]
[-- Type: image/png, Size: 110806 bytes --]
[-- Attachment #4: trex_util.png --]
[-- Type: image/png, Size: 115606 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-04-16 13:14 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-16 7:58 Trex with mlx5 driver - Multiple streams with different VLAN priority causes high CPU utilization Rubens Figueiredo
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).