Skip to content
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

Identification of the stream when consuming via gNMI Subscribe #591

Open
roshan-joyce-fujitsu opened this issue Jul 5, 2024 · 3 comments

Comments

@roshan-joyce-fujitsu
Copy link
Collaborator

roshan-joyce-fujitsu commented Jul 5, 2024

TR548 defines 3 connection-protocols for streams: SSE, web-socket, and gNMI.
And TAPI server advertises available streams in the list /tapi-common:context/stream-context/available-stream.
Each stream object has a uuid, stream-id, and a name.
Each stream object also has a connection-address.

In the case of a stream supporting SSE or web-socket connection-protocol, the connection-address will be a URL and the URL can have one component that identifies the specific stream.

In the case of a stream supporting gNMI, I would imagine the connection-address to be a URL like grpc://<host-fqdn>:<port>.
On this grpc connection, the Subscribe() RPC defined in gnmi.proto will need to be invoked. The explanation on forming the SubscribeRequest does not explain how the client can identify the particular steam it wants to subscribe to. See section 6.3.3.
This will not be a problem if the server is supporting only one stream per grpc port. However, I think it is better to use prefix/target or subscription/path to identify the stream by its uuid or stream-id.

CC: @nigel-r-davis @amazzini

@nigel-r-davis
Copy link
Collaborator

nigel-r-davis commented Feb 4, 2025

Hi @roshan-joyce-fujitsu, I agree with the proposal and will take an action to provide some detailed text etc. for TR-548 for us to review.

@bcjohnso99 we should schedule a review of my text on the call 4 March for deliver in 2.6.

@nigel-r-davis
Copy link
Collaborator

nigel-r-davis commented Mar 11, 2025

I have added the following text
Image
where the footnote says
Image
Considering multiple streams, I suggest we defer this to 2.7 and ensure that whatever we do is backward compatible. So if we use subscription target, then "tapi" is reserved for the default single stream case. I have added the following to indicate it is one stream only per prot in 2.6.
Image

@roshan-joyce-fujitsu
Copy link
Collaborator Author

Hi @nigel-r-davis , @bcjohnso99

I agree with the clarification statement proposed for 2.6 and taking up multiple streams in 2.7.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants