Skip to content

Initial Draft for gNOI/gNMI splitter #1930

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

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

hdwhdw
Copy link
Contributor

@hdwhdw hdwhdw commented Feb 18, 2025

This is the initial draft for the gNOI/gNMI splitter.

PRs:

@mssonicbld
Copy link
Collaborator

/azp run

Copy link

No pipelines are associated with this pull request.

@qiluo-msft qiluo-msft requested a review from ganglyu February 18, 2025 21:13
Due to the limited resources on the DPU, the gNMI server is offloaded onto the NPU. The gNMI server on the NPU is responsible for handling gNMI requests and responses.
The server is running on a separate `gnmi` container on the NPU, named `gnmidpu[x]`, where `x` is the DPU number. The DPU itself still retains a `gnmi` container used for the gNOI traffic. The splitter is used to separate the gNMI and gNOI traffic and forward them to the appropriate servers.
- `DPU Isolation`
Due to security requirement, the DPU is isolated from external network, i.e. the DPU's management interface is not accessible from external network and only accessible via the NPU. Hence we need a proxy on NPU to forward the gNOI traffic to the DPU.
Copy link
Contributor

Choose a reason for hiding this comment

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

Is DPU isolated?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes under this design.

@mssonicbld
Copy link
Collaborator

/azp run

Copy link

No pipelines are associated with this pull request.

@mssonicbld
Copy link
Collaborator

/azp run

Copy link

No pipelines are associated with this pull request.

@hdwhdw hdwhdw requested review from ganglyu, wen587 and qiluo-msft March 17, 2025 21:29
- Configuration
- gRPC server configuration

#### 2.3 Dependencies###
Copy link
Contributor

Choose a reason for hiding this comment

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

ending ### is no necessary

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks for the catch.


The original/local `gNMI` container on the DPU is responsible for the remaining of `gNOI` requests.

![Architecture Diagram](https://www.mermaidchart.com/raw/3e126a79-0049-4051-ba30-a18251829504?theme=light&version=v0.1&format=svg){ width=40% }
Copy link
Contributor

Choose a reason for hiding this comment

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

{ width=40% } is needed?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This one was a typo and the modifier didn't apply. width=100$% is probably too large for the doc

@hdwhdw hdwhdw marked this pull request as ready for review March 24, 2025 20:15
@mssonicbld
Copy link
Collaborator

/azp run

Copy link

No pipelines are associated with this pull request.

@mssonicbld
Copy link
Collaborator

/azp run

Copy link

No pipelines are associated with this pull request.

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.

4 participants