-
Notifications
You must be signed in to change notification settings - Fork 648
Allow state db to take modified entries made to the tunnel decap table #3960
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Allow state db to take modified entries made to the tunnel decap table #3960
Conversation
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
3fe4837 to
93a087a
Compare
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR enables synchronization of tunnel decap table modifications to STATE_DB, preventing database inconsistencies between STATE_DB, ASIC_DB, and APPL_DB. The implementation tracks field changes via a state_changed flag and publishes updates to STATE_DB when modifications occur to existing tunnel entries.
Key Changes
- Added
state_changedflag tracking indoDecapTunnelTask()to detect when tunnel fields are modified - Set the flag when modifiable fields (dscp_mode, ttl_mode, QoS maps) are updated on existing tunnels
- Added STATE_DB synchronization call when changes are detected
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| orchagent/tunneldecaporch.cpp | Implements state change tracking and STATE_DB synchronization for tunnel decap table modifications |
| tests/mock_tests/tunneldecaporch_ut.cpp | Adds comprehensive unit tests for TunnelDecapOrch functionality including creation, modification, and deletion scenarios |
| tests/mock_tests/Makefile.am | Registers the new tunneldecaporch_ut.cpp test file in the build system |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
191dc36 to
03d3d78
Compare
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
@kperumalbfn can you pls check why the checks won't run? The agents don't seem to be grabbing the workers before the 45 min timeout |
|
@prsunny @kperumalbfn can you pls review? |
What I did
Allow state db to take modified entries made to the tunnel decap table
Why I did it
Prevent DB inconsistency between state, asic and appl db
How I verified it
redis-cli -n 6 HGETALL "TUNNEL_DECAP_TABLE|IPINIP_V6_TUNNEL"
/var/log/syslog.1:2025 Nov 10 19:18:32.730385 bjw-can-2700-2 NOTICE swss#orchagent: :- doDecapTunnelTask: Fields for TUNNEL_DECAP_TABLE entry 'IPINIP_TUNNEL' have been synchronised in STATE_DB
/var/log/syslog.1:2025 Nov 10 19:18:32.740298 bjw-can-2700-2 NOTICE swss#orchagent: :- doDecapTunnelTask: Fields for TUNNEL_DECAP_TABLE entry 'IPINIP_V6_TUNNEL' have been synchronised in STATE_DB
Added comprehensive unit tests too which pass
Details if related