Skip to content

Backport threshold 80x/v2 - #16056

Closed
victorjulien wants to merge 7 commits into
OISF:main-8.0.xfrom
victorjulien:backport-threshold-80x/v2
Closed

Backport threshold 80x/v2#16056
victorjulien wants to merge 7 commits into
OISF:main-8.0.xfrom
victorjulien:backport-threshold-80x/v2

Conversation

@victorjulien

Copy link
Copy Markdown
Member

#16037 rebased.

@victorjulien
victorjulien force-pushed the backport-threshold-80x/v2 branch 3 times, most recently from 3c6bbee to 31f0e6e Compare August 20, 2026 12:41
@codecov

codecov Bot commented Aug 20, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 94.12998% with 28 lines in your changes missing coverage. Please review.
✅ Project coverage is 81.69%. Comparing base (9b63a58) to head (d0bda57).

Additional details and impacted files
@@              Coverage Diff               @@
##           main-8.0.x   #16056      +/-   ##
==============================================
- Coverage       81.69%   81.69%   -0.01%     
==============================================
  Files            1016     1017       +1     
  Lines          277166   277179      +13     
==============================================
+ Hits           226430   226440      +10     
- Misses          50736    50739       +3     
Flag Coverage Δ
fuzzcorpus 63.90% <42.00%> (-0.01%) ⬇️
livemode 18.66% <40.00%> (-0.02%) ⬇️
netns 20.15% <35.08%> (+<0.01%) ⬆️
pcap 44.42% <74.00%> (-0.08%) ⬇️
suricata-verify 65.18% <50.00%> (-0.03%) ⬇️
unittests 58.55% <83.22%> (-0.04%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@suricata-qa

Copy link
Copy Markdown

WARNING:

field baseline test %
SURI_TLPR1_autofp_suri

Pipeline = 33156

Mostly meant to help unittests and fuzz targets alloc the storage
correctly.

(cherry picked from commit ad1459d)
Seed value will have to be used by the caller's hash function.

(cherry picked from commit b742d58)
Use for IPv6 in the main hash.

Update IPv4 thread cache to also use a seed. For this the thread
initialization is done at thread init instead on the first packet. The
thread ctx is no longer stored in a thread_local, but instead uses the
thread storage API to store in the ThreadVars. This way it will stay
active during rule reloads as well.

Ticket: OISF#8617.
(cherry picked from commit c27868a)
Can get called multiple times in the multi-tenancy case.

(cherry picked from commit cefee13)
Use new allocator to properly set up thread storage.

(cherry picked from commit 9e82ff8)
@victorjulien
victorjulien force-pushed the backport-threshold-80x/v2 branch from 31f0e6e to d0bda57 Compare August 21, 2026 11:59
@suricata-qa

Copy link
Copy Markdown

Information: QA ran without warnings.

Pipeline = 33215

@victorjulien
victorjulien marked this pull request as ready for review August 21, 2026 21:23
Comment thread src/util-hash.h
typedef struct HashTable_ {
HashTableBucket **array;
uint32_t array_size;
uint32_t seed; /**< optional random seed, to be used by the registered hash function. */

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Is this a breaking change ?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

no

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This looks like a breaking change: changing a structure defined in public headers, and a structure that may be commonly used by library users/plugins.

But it looks fine thanks to padding as we are just appending in the place we had left...

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Ah that is what you meant. Ya it fills a padding hole so it should be fine.

@catenacyber catenacyber left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks for the work,

CI : ✅
Git ID set : looks fine for me
CLA : you already contributed
Doc update : not needed
Redmine ticket : ok https://redmine.openinfosecfoundation.org/issues/8618
Tests : main PR did not have any SV, and not sure how to test this randomness consistently, so ok
Dependencies added: none
Code : good
Commits segmentation : ok cherry-picks
Commit messages : ok cherry-picks

@catenacyber catenacyber added this to the 8.0 milestone Aug 26, 2026
@victorjulien

Copy link
Copy Markdown
Member Author

Merged in #16123, thanks!

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

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants