Skip to content

tests: add DPDK segmented mbufs test#2835

Open
mmaatuq wants to merge 1 commit intoOISF:masterfrom
mmaatuq:dpdk-segmented-mbufs-6012
Open

tests: add DPDK segmented mbufs test#2835
mmaatuq wants to merge 1 commit intoOISF:masterfrom
mmaatuq:dpdk-segmented-mbufs-6012

Conversation

@mmaatuq
Copy link
Contributor

@mmaatuq mmaatuq commented Dec 27, 2025

Add test to verify Suricata correctly handles segmented (chained)
mbufs in DPDK mode. Uses large TLS packets that force mbuf
segmentation.

Ticket: 6012

Redmine ticket:https://redmine.openinfosecfoundation.org/issues/6012

@@ -0,0 +1,2317 @@
%YAML 1.1
---

Copy link
Contributor

Choose a reason for hiding this comment

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

Can you please provide minimal YAML file to test this?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

updated

requires:
min-version: 8
features:
- DPDK
Copy link
Contributor

Choose a reason for hiding this comment

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

I think this should be HAVE_DPDK.

Copy link
Contributor

Choose a reason for hiding this comment

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

Ha, ok, false. It is as it should be.

Perhaps a question for @jasonish -- I don't see DPDK in the "Features" list as noted at the bottom of the https://github.com/OISF/suricata-verify/ readme page. Does it now take this information from elsewhere as well?

Copy link
Member

Choose a reason for hiding this comment

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

This should work. run.py supports parsing --build-info lines like:

DPDK support:                            yes

This test runs for me when I use the linked Suricata PR with DPDK support enabled, however, it fails.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

not sure why it fails, as it passes on my end, can you please run the test with verbose mode and share logs?

@lukashino
Copy link
Contributor

I would be happy to see a test that shows and confirms the failing linearization. After the YAML change is done, it is good for me.

  Add test to verify Suricata correctly handles segmented (chained)
  mbufs in DPDK mode. Uses large TLS packets that force mbuf
  segmentation.

  Ticket: 6012

Signed-off-by: mmaatuq <mmaatuq3@gatech.edu>
@mmaatuq mmaatuq force-pushed the dpdk-segmented-mbufs-6012 branch from 19c7576 to 310e34b Compare December 28, 2025 16:26
@catenacyber catenacyber added the requires suricata pr Depends on a PR in Suricata label Jan 2, 2026
@@ -0,0 +1,26 @@
requires:
min-version: 8
Copy link
Contributor

Choose a reason for hiding this comment

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

You also need to change this to:
min-version: 9

Copy link
Contributor

Choose a reason for hiding this comment

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

As / if it will be backported to 8 then we can lower the version


# DPDK mode runs continuously, use timeout to stop after processing
command: |
timeout --signal=TERM 5 ${SRCDIR}/src/suricata -c ${TEST_DIR}/suricata.yaml --dpdk -l ${TEST_DIR}/output -S ${TEST_DIR}/test.rules -k none -vvv; true
Copy link
Collaborator

Choose a reason for hiding this comment

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

See also #2836 and #2777

Copy link
Contributor Author

Choose a reason for hiding this comment

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

#2777 is not merged and not sure if we should wait
#2836 is merged and I think we can use it to shutdown suricata after processing the pcap file using dpdk, though I think the run.py needs to be fixed first as it skips the test though suricata is built with unix socket enabled

run.py checks for lines with support e.g
DPDK support: yes

yet the unix socket feature has enabled

Unix socket enabled: yes

this could be fixed but not sure if we need a separate MR, or fix it here

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

Labels

requires suricata pr Depends on a PR in Suricata

Development

Successfully merging this pull request may close these issues.

5 participants