Versions Compared
compared with
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Table of Contents
Table of Contents |
---|
Scope
This page provides information around gNMI and its possible usage for efficient data steaming from network-functions to data-consumers (e.g. SMO-OAM).
Sequence
PlantUML Macro | ||||||
---|---|---|---|---|---|---|
| ||||||
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Copyright 2021 highstreet technologies GmbH ' This work is licensed under a Creative Commons Attribution 4.0 International License. ' SPDX-License-Identifier: CC-BY-4.0 ' https://creativecommons.org/licenses/by/4.0/deed.en @startuml data-streaming-with-gnmi ' Diagram title Data Streaming with gNMI: Usage proposal for dicussion gNMI -> yang based gRPC -> HTTP2, protobuf/yang (https://github.com/openconfig/reference/blob/master/rpc/gnmi/gnmi-specification.md) end title box "SMO" #gold participant "data-collector\ngNMI-client" as client end box box “O-RAN” #lightpink participant "network-function\ndata-provider\ngNMI-server\ntarget" as server end box autonumber 1 1 "<b>[00]" == Subscription == client -> server: RPC subscribe\nwith SubscribeRequest activate server note right SubscribeRequest: { subscribe: [ { mode: STREAM, subscription:[ { path: <xPath0>, mode: ON_CHANGE }, ... ], allow_aggregation: TRUE, updates_only: TRUE, } end note server -> client: RESPONSE SubscribeResponse note left SubscribeResponse: { timestamp: <timestamp>, update: [{<xPath>, <value>}, ...] } The first response with including an error message acts a bases for all later updates. end note == Data Stremaing == loop ON_CHANGE server -> client: RESPONSE SubscribeResponse note left SubscribeResponse: { timestamp: <timestamp>, update: [{<xPath>, <value>}, ...] } end note end loop == The End == client -> server: cancel the HTTP2 session deactivate server ' End Diagram ' Format left footer <img:https://media-exp1.licdn.com/dms/image/C560BAQH0qSJJi67N4g/company-logo_200_200/0/1606867328974?e=2159024400&v=beta&t=OybMqHsK24YCp_WeGC10qJWJp-tsHu2GnjuF5gEeGSM{scale=0.2}> Copyright 2021 highstreet technologies USA Corp. . This work is licensed under a Creative Commons Attribution 4.0 International License. . SPDX-License-Identifier: CC-BY-4.0 . 2021-10-10 | o-ran-sc.org oam project | Thanks to PlantUML! end footer skinparam backgroundColor #fefefe 'skinparam handwritten true skinparam roundcorner 15 skinparam database { BorderColor #444444 BackgroundColor #ffffdd FontColor #444444 } skinparam note { BorderColor #444444 BackgroundColor #ffff88 FontColor #444444 } skinparam sequence { MessageAlign left ArrowColor #2277dd ArrowFontColor #444444 ArrowThickness 2 ActorBorderColor #444444 LifeLineBorderColor #444444 LifeLineBackgroundColor #eeeeee LifeLineBackgroundColor #eeeeee BoxBorderColor #444444 GroupBorderColor #444444 GroupBackgroundColor #eeeeee ParticipantBorderColor #444444 ParticipantBackgroundColor #ffffdd ParticipantFontColor #444444 ActorBackgroundColor #ffffdd 'ActorFontColor DeepSkyBlue 'ActorFontSize 17 'ActorFontName Aapex } @enduml |
Links
- https://karneliuk.com/wp-content/uploads/2020/05/197_net_01_proto-1024x573.png.png (I would love to find the originals source on ONF pages)
- https://github.com/openconfig/reference/blob/master/rpc/gnmi/gnmi-specification.md
- https://karneliuk.com/2020/05/gnmi-part-1-intro-to-protobuf/