Skip to content

Add vnic_small_pkt_perf test for ibmvnic small-packet performance - #3266

Open
FarooqAbdulla02 wants to merge 1 commit into
avocado-framework-tests:masterfrom
FarooqAbdulla02:small_packet_perf
Open

Add vnic_small_pkt_perf test for ibmvnic small-packet performance#3266
FarooqAbdulla02 wants to merge 1 commit into
avocado-framework-tests:masterfrom
FarooqAbdulla02:small_packet_perf

Conversation

@FarooqAbdulla02

Copy link
Copy Markdown
Contributor

Add a new Avocado test vnic_small_pkt_perf.py to validate the ibmvnic small-packet performance improvements patch series.

Run logs
avocado run --max-parallel-tasks=1 vnic_small_pkt_perf.py -m vnic_small_pkt_perf.py.data/vnic_small_pkt_perf.yaml

JOB ID : 55a7333ad6b361d3dba33a4a05dffd9bd1f315a1
JOB LOG : /root/avocado-fvt-wrapper/results/job-2026-08-17T00.35-55a7333/job.log

(1/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_udp_stream_throughput;run-3d2f: STARTED
(1/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_udp_stream_throughput;run-3d2f: PASS (79.02 s)

(2/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_udp_rr;run-3d2f: STARTED
(2/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_udp_rr;run-3d2f: PASS (37.05 s)

(3/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_tcp_rr;run-3d2f: STARTED
(3/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_tcp_rr;run-3d2f: PASS (37.12 s)

(4/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_scale_150_sessions;run-3d2f: STARTED
(4/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_scale_150_sessions;run-3d2f: PASS (18.64 s)

(5/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_packet_integrity_dma_barrier;run-3d2f: STARTED
(5/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_packet_integrity_dma_barrier;run-3d2f: PASS (50.17 s)

(6/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_bql_limit_monitoring;run-3d2f: STARTED
(6/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_bql_limit_monitoring;run-3d2f: PASS (18.56 s)

(7/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_rx_pool_burst_no_drops;run-3d2f: STARTED
(7/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_rx_pool_burst_no_drops;run-3d2f: PASS (42.36 s)
Uploading vnic_small_pkt_perf_final_log.tar.gz…

@abdhaleegit abdhaleegit self-assigned this Aug 18, 2026
@abdhaleegit
abdhaleegit self-requested a review August 18, 2026 05:26

@Naresh-ibm Naresh-ibm left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@FarooqAbdulla02 please attach both the distro run logs

from avocado.utils.network.hosts import LocalHost
from avocado.utils.ssh import Session

_IPERF3_SERVER_LOG = '/tmp/iperf3_ibmvnic_perf_server.log'

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@FarooqAbdulla02 is this log not required for our analysis post test run is done?
if needed then I suggest to copy inside other persistence folder as /tmp will get clear on reboot of OS

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Naresh-ibm yes ,its not required post test as the summary of the run log were already available in log files.

Comment thread io/net/virt-net/vnic_small_pkt_perf.py Outdated
open SSH to peer, and start the iperf3 server on the peer.
"""
self.smm = SoftwareManager()
for pkg in ['iperf3', 'net-tools', 'ethtool']:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are these packages same for all the distros?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Naresh-ibm Have sepearated the packages according to Distro now.

Add a new Avocado test vnic_small_pkt_perf.py to validate the ibmvnic
small-packet performance improvements patch series.

Signed-off-by: Shaik Abdulla <abdulla1@linux.ibm.com>
@FarooqAbdulla02

Copy link
Copy Markdown
Contributor Author

@FarooqAbdulla02 please attach both the distro run logs

attached logs from both the distros

@FarooqAbdulla02

FarooqAbdulla02 commented Aug 28, 2026

Copy link
Copy Markdown
Contributor Author

latest SLES runs logs

avocado run vnic_small_pkt_perf.py -m vnic_small_pkt_perf.py.data/vnic_small_pkt_perf.yaml --max-parallel-tasks=1

JOB ID : 29c219162b263b13bf888a5f99a9fea4438e980e
JOB LOG : /home/avocado-fvt-wrapper/results/job-2026-08-28T14.48-29c2191/job.log
(1/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_udp_stream_throughput;run-d593: STARTED
(1/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_udp_stream_throughput;run-d593: PASS (119.83 s)
(2/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_udp_rr;run-d593: STARTED
(2/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_udp_rr;run-d593: PASS (77.50 s)
(3/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_tcp_rr;run-d593: STARTED
(3/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_tcp_rr;run-d593: PASS (77.50 s)
(4/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_scale_150_sessions;run-d593: STARTED
(4/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_scale_150_sessions;run-d593: PASS (67.99 s)
(5/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_packet_integrity_dma_barrier;run-d593: STARTED
(5/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_packet_integrity_dma_barrier;run-d593: PASS (91.97 s)
(6/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_bql_limit_monitoring;run-d593: STARTED
(6/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_bql_limit_monitoring;run-d593: PASS (68.08 s)
(7/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_rx_pool_burst_no_drops;run-d593: STARTED
(7/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_rx_pool_burst_no_drops;run-d593: PASS (83.49 s)
RESULTS : PASS 7 | ERROR 0 | FAIL 0 | SKIP 0 | WARN 0 | INTERRUPT 0 | CANCEL 0
JOB HTML : /home/avocado-fvt-wrapper/results/job-2026-08-28T14.48-29c2191/results.html
JOB TIME : 607.40 s

latest RHEL run logs

avocado run vnic_small_pkt_perf.py -m vnic_small_pkt_perf.py.data/vnic_small_pkt_perf.yaml --max-parallel-tasks=1
JOB ID : 1dec8b294e38cd62824f6e4d1a6464a01861fea1
JOB LOG : /root/avocado-fvt-wrapper/results/job-2026-08-28T10.03-1dec8b2/job.log
(1/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_udp_stream_throughput;run-3d2f: STARTED
(1/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_udp_stream_throughput;run-3d2f: WARN: Test passed but there were warnings during execution. Check the log for details. (79.65 s)
(2/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_udp_rr;run-3d2f: STARTED
(2/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_udp_rr;run-3d2f: PASS (37.59 s)
(3/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_tcp_rr;run-3d2f: STARTED
(3/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_tcp_rr;run-3d2f: PASS (37.41 s)
(4/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_scale_150_sessions;run-3d2f: STARTED
(4/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_scale_150_sessions;run-3d2f: PASS (28.01 s)
(5/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_packet_integrity_dma_barrier;run-3d2f: STARTED
(5/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_packet_integrity_dma_barrier;run-3d2f: PASS (50.20 s)
(6/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_bql_limit_monitoring;run-3d2f: STARTED
(6/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_bql_limit_monitoring;run-3d2f: PASS (30.45 s)
(7/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_rx_pool_burst_no_drops;run-3d2f: STARTED
(7/7) vnic_small_pkt_perf.py:IbmvnicSmallPktPerf.test_rx_pool_burst_no_drops;run-3d2f: PASS (42.90 s)
RESULTS : PASS 6 | ERROR 0 | FAIL 0 | SKIP 0 | WARN 1 | INTERRUPT 0 | CANCEL 0
JOB TIME : 362.09 s

scale_streams: 150
scale_duration: 10
burst_duration: 30
burst_parallel: 8

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@FarooqAbdulla02 are these parameter holds the static values?
then can you please check if you can handle inside the .py file, just to reduce the yaml parameter

for _pkg in _NCAT_LOCAL_PKGS:
if self.smm.check_installed(_pkg) or self.smm.install(_pkg):
self.ncat_cmd = 'ncat'
break

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why are we breaking here, and what about the rest of the packages, are they not needed for this test


if not wait.wait_for(self.networkinterface.is_link_up, timeout=120):
self.cancel("Interface '%s' link did not come up within 120 s"
% self.interface)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should be self.fail, if the interfaces is not coming up

% self.interface)

if self.networkinterface.ping_check(self.peer_ip, count=5) is not None:
self.cancel("No connectivity to peer %s" % self.peer_ip)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same, here

self.session = Session(self.peer_ip, user=self.peer_user,
password=self.peer_password)
if not self.session.connect():
self.cancel("SSH connection to peer %s failed" % self.peer_ip)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here

ignore_status=True)
if output.exit_status != 0:
self.cancel("iperf3 could not be installed on peer %s"
% self.peer_ip)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same, test should fail, if not able to install or error out

"""
if not self.session.connect():
self.cancel("SSH session to peer %s could not be established"
% self.peer_ip)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here

"""
if not self.session.connect():
self.cancel("SSH session to peer %s could not be established"
% self.peer_ip)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here

"""
if not self.session.connect():
self.cancel("SSH session to peer %s could not be established"
% self.peer_ip)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants