Skip to content

[Dash] Update ENI Forward Orch to handle new DPU Table schema#44

Closed
vivekrnv wants to merge 3 commits into
masterfrom
fix_enifwd_schema
Closed

[Dash] Update ENI Forward Orch to handle new DPU Table schema#44
vivekrnv wants to merge 3 commits into
masterfrom
fix_enifwd_schema

Conversation

@vivekrnv

@vivekrnv vivekrnv commented Sep 4, 2025

Copy link
Copy Markdown
Owner

What I did

  1. Update DashEniFwdOrch to handle the updated schema for DPU, VDPU, REMOTE_DPU & DASH_ENI_FORWARD_TABLE
  2. Added REQ_T_STRING_LIST option to Request parser
  3. Refactored macros
  4. Updated UT's

Why I did it

Here is the latest schema:
https://github.com/sonic-net/SONiC/blob/91c3d94be67c96b2cba7fa8ce43bfff540638971/doc/smart-switch/high-availability/smart-switch-ha-detailed-design.md#2111-dpu--vdpu-definitions

https://github.com/sonic-net/SONiC/blob/91c3d94be67c96b2cba7fa8ce43bfff540638971/doc/smart-switch/high-availability/smart-switch-ha-detailed-design.md#2321-dash_eni_forward_table

How I verified it

Ran Tests

Details if related

Signed-off-by: Vivek Reddy <vkarri@nvidia.com>
@vivekrnv vivekrnv changed the title [Dash] Make ENI Forward Orch compatible with new DPU table schema [Dash] Update ENI Forward Orch to handle new DPU Table schema Sep 4, 2025
@vivekrnv vivekrnv marked this pull request as draft September 4, 2025 19:17
Signed-off-by: Vivek Reddy <vkarri@nvidia.com>
@vivekrnv vivekrnv marked this pull request as ready for review September 5, 2025 22:27
SWSS_LOG_WARN("Multiple Local Endpoints for the ENI %s found, proceeding with %" PRIu64 "" ,
mac_.to_string().c_str(), local_endpoint);
SWSS_LOG_WARN("Multiple Local Endpoints for the ENI %s found, proceeding with %s",
mac_.to_string().c_str(), local_endpoint.c_str());

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

The local_endpoint can be an empty string here, right? If so, this will crash.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

after another look, it seems that it's not possible to have an empty string there

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Yeah, this'll be hit only for multiple local endpoints case

Comment thread orchagent/dash/dashenifwdinfo.cpp Outdated
}

bool EniInfo::findLocalEp(uint64_t& local_endpoint) const
bool EniInfo::findLocalEp(std::string& local_endpoint)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

nitpick: why remove const?

@vivekrnv vivekrnv Sep 22, 2025

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Was getting a compiler error here when i apply const and use std::string&, will see if i can fix it

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Updated

Signed-off-by: Vivek Reddy <vkarri@nvidia.com>
@vivekrnv vivekrnv closed this Sep 24, 2025
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