Skip to content

Conversation

@PlagueCZ
Copy link
Contributor

I created another tool in tools called dpservice-inspect. It's another secondary process that reads shared memory and dumps the hash table entries.

Almost all tables can be inspected fully, with the exception of table of interfaces which uses static memory for the port structures instead of allocated hugepage memory. To inspect this table, dpservice would need to allocate the port table in advance.

I also did not implement virtual service table inspection as virtual services actually create one hash-table per virtual service with 64k entries (ports) and that is a completely different design than the current implementation. Moreover the data is also not shared in hugepage memory.

This tool has already been used to find bugs and is successfully running in OSC.

Fixes #498

@github-actions github-actions bot added size/L documentation Improvements or additions to documentation enhancement New feature or request labels Dec 17, 2024
@PlagueCZ PlagueCZ force-pushed the feature/table_inspector branch 5 times, most recently from 5e26635 to 9ddc503 Compare December 18, 2024 00:32
@PlagueCZ PlagueCZ marked this pull request as ready for review December 18, 2024 12:28
@PlagueCZ PlagueCZ requested a review from a team as a code owner December 18, 2024 12:28
Copy link
Contributor

@byteocean byteocean left a comment

Choose a reason for hiding this comment

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

I played a bit this tool (of course not with millions of flows in the table ) and it works nicely. It looks good to me.

@PlagueCZ PlagueCZ force-pushed the feature/table_inspector branch from 9ddc503 to 36a57e1 Compare December 18, 2024 14:05
@github-actions github-actions bot added size/XL and removed size/L labels Dec 18, 2024
@guvenc
Copy link
Collaborator

guvenc commented Dec 18, 2024

@PlagueCZ
Would you please rebase to main ?

@PlagueCZ PlagueCZ force-pushed the feature/table_inspector branch from 36a57e1 to 1e1c175 Compare December 18, 2024 20:05
Copy link
Collaborator

@guvenc guvenc left a comment

Choose a reason for hiding this comment

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

Thanks. This is a powerful tool for deep debugging.

@guvenc guvenc merged commit 1e1c175 into main Jan 7, 2025
6 checks passed
@guvenc guvenc deleted the feature/table_inspector branch January 7, 2025 17:24
@hardikdr hardikdr added this to Roadmap Jun 26, 2025
@hardikdr hardikdr moved this to Done in Roadmap Oct 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/networking documentation Improvements or additions to documentation enhancement New feature or request size/XL

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Create a tool to inspect internal dpservice tables

5 participants