Skip to content

Add bypass validation delivery plan#161

Open
hdwhdw wants to merge 2 commits intoAzure:202506from
hdwhdw:feature/bypass-validation
Open

Add bypass validation delivery plan#161
hdwhdw wants to merge 2 commits intoAzure:202506from
hdwhdw:feature/bypass-validation

Conversation

@hdwhdw
Copy link

@hdwhdw hdwhdw commented Jan 28, 2026

Design doc for direct ConfigDB write bypass feature:

  • Triggered via gRPC metadata header x-sonic-ss-bypass-validation
  • Gated by SKU check and table allowlist
  • Reduces GNMI Set latency from ~6s to ~20ms

Why I did it

How I did it

(SHOW command specific) What sources are you using to fetch data?

How to verify it (Please provide snapshot of diff coverage from CI pipeline)

(Show command specific) Output of show CLI that is equivalent to API output

Manual test output of API on device (Please provide output from device that you have tested your changes on)

A picture of a cute animal (not mandatory but encouraged)

@hdwhdw hdwhdw force-pushed the feature/bypass-validation branch from 0f4e70f to 1541c48 Compare January 28, 2026 22:12
Design doc for direct ConfigDB write bypass feature:
- Triggered via gRPC metadata header x-sonic-ss-bypass-validation
- Gated by SKU check and table allowlist
- Reduces GNMI Set latency from ~6s to ~20ms

Signed-off-by: Dawei Huang <daweihuang@microsoft.com>
@hdwhdw hdwhdw force-pushed the feature/bypass-validation branch from 1541c48 to 3758720 Compare January 28, 2026 22:19
Signed-off-by: Dawei Huang <daweihuang@microsoft.com>
### Trigger Mechanism
Per-request gRPC metadata header (consistent with DPU proxy pattern):
```
x-sonic-ss-bypass-validation: true

Choose a reason for hiding this comment

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

Can you confirm how does the AzD request being made?

Copy link
Author

Choose a reason for hiding this comment

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

Yes. The example he gave is gnmi_set, but those doesn't matter. As long as all speaks gnmi protocol we are good. This is just an exmaple.

With bypass:
```go
if c.origin == "sonic-db" {
if shouldBypassValidation(ctx) && checkSKU() && isAllowedTable(table) {

Choose a reason for hiding this comment

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

checkSKU

What is this for?

Copy link
Author

Choose a reason for hiding this comment

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

I just checked the meeting and we agree to restrict the scope for cisco smartswitch


### Metadata Extraction (following DPU proxy pattern)
```go
func shouldBypassValidation(ctx context.Context) bool {

Choose a reason for hiding this comment

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

shouldBypassValidation

Are we going to add table name that allows to update config directly over here?

Copy link
Author

Choose a reason for hiding this comment

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

Yes.

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.

2 participants