All Projects → CiscoDevNet → grpc-getting-started

CiscoDevNet / grpc-getting-started

Licence: other
Guide to get started with gRPC in Cisco IOS XR

Programming Languages

Protocol Buffer
295 projects

Projects that are alternatives of or similar to grpc-getting-started

xrgrpc
gRPC library for Cisco IOS XR
Stars: ✭ 40 (+25%)
Mutual labels:  grpc, yang, cisco-ios-xr
tdm
Telemetry Data Mapper to ease data discovery, correlation, and usage with YANG, MIBs, etc.
Stars: ✭ 33 (+3.13%)
Mutual labels:  grpc, yang
openmgmt
Documentation and examples for using open network management tools such as OpenConfig
Stars: ✭ 23 (-28.12%)
Mutual labels:  grpc, yang
jobor
支持秒级分布式定时任务系统, A high performance distributed task scheduling system, Support multi protocol scheduling tasks
Stars: ✭ 52 (+62.5%)
Mutual labels:  grpc
rpc ts
Remote Procedure Calls in TypeScript made simple 🤞
Stars: ✭ 71 (+121.88%)
Mutual labels:  grpc
agrpc
Async GRPC with C++20 coroutine support
Stars: ✭ 53 (+65.63%)
Mutual labels:  grpc
go-loadbalance
A well designed loadbalance API with dozens of implementations for go-grpc loadbalance.
Stars: ✭ 37 (+15.63%)
Mutual labels:  grpc
qtprotobuf
Protobuf generator and bindings for Qt framework
Stars: ✭ 138 (+331.25%)
Mutual labels:  grpc
RPC reactive
Examples and explanations of how RPC systems works.
Stars: ✭ 25 (-21.87%)
Mutual labels:  grpc
grphp
PHP gRPC Framework
Stars: ✭ 19 (-40.62%)
Mutual labels:  grpc
Sitko.Core
Sitko.Core is a set of libraries to help build .NET Core applications fast
Stars: ✭ 46 (+43.75%)
Mutual labels:  grpc
grpc-firewall-bypass
initiate connections to gRPC servers that live behind a firewall (https://github.com/grpc/grpc-go/issues/484)
Stars: ✭ 53 (+65.63%)
Mutual labels:  grpc
mrcnn serving ready
🛠 Mask R-CNN Keras to Tensorflow and TFX models + Serving models using TFX GRPC & RESTAPI
Stars: ✭ 96 (+200%)
Mutual labels:  grpc
FSharp.GrpcCodeGenerator
A protoc plugin to enable generation of F# code
Stars: ✭ 61 (+90.63%)
Mutual labels:  grpc
nice-grpc
A TypeScript gRPC library that is nice to you
Stars: ✭ 120 (+275%)
Mutual labels:  grpc
protoc-plugin
A protoc compiler plugin for Clojure applications
Stars: ✭ 28 (-12.5%)
Mutual labels:  grpc
sisyphus
Sisyphus is the way how we provide backend services.
Stars: ✭ 59 (+84.38%)
Mutual labels:  grpc
grpc-graphql-gateway
A protoc plugin that generates graphql execution code from Protocol Buffers.
Stars: ✭ 239 (+646.88%)
Mutual labels:  grpc
protoactor-go
Proto Actor - Ultra fast distributed actors for Go, C# and Java/Kotlin
Stars: ✭ 4,138 (+12831.25%)
Mutual labels:  grpc
grpc-jwt-spring-boot-starter
Spring boot starter for gRPC framework with JWT authorization
Stars: ✭ 24 (-25%)
Mutual labels:  grpc

Getting Started With gRPC in Cisco IOS XR

Cisco IDL

The definition of Cisco IDL can be found at:

IDL/ems_grpc.proto

The following operations act on modeled data and are supported in IOS XR 6.0.0:

  • GetConfig - Retrieves configuration data. Takes model path in JSON format as input argument. Returns configuration data in JSON format and error string.
  • MergeConfig - Merges configuration data. Takes modeled data in JSON format as input argument. Returns error string.
  • DeleteConfig - Deletes configuration data. Takes modeled data in JSON format as input argument. Returns error string.
  • ReplaceConfig - Replaces configuration data. Takes modeled data in JSON format as input argument. Returns error string.
  • GetOper - Retrieves operational (state) data. Takes model path in JSON format as input argument. Returns operational (state) data in JSON format and error string.

The following operations act on CLI data and are supported in IOS XR 6.0.0:

  • CliConfig - Merges configuration data. Takes CLI configuration as input argument. Returns error string.
  • ShowCmdTextOutput - Retrieves show-command output. Takes CLI show command as input argument. Returns CLI output and error string.

gRPC Server

The gRPC server on Cisco IOS XR can be configured using its configuration model (Cisco-IOS-XR-man-ems-cfg.yang) or using the command line. The minimum configuration just requires you to enable the gRPC service. By default, the service runs on port 57400 without using TLS. Requests must include user credentials as metadata for AAA authentication whether TLS is enabled or not. The service provides configuration options to specify port (57344-57999), TLS, address family (IPv4/IPv6) and maximum number of concurrent requests (per-user and total).

Basic gRPC Service Configuration Using CLI

grpc
!

Customized gRPC Service Configuration CLI

grpc
 port 57344
 tls
 !
 max-request-total 32
!

Examples

You can find configuration examples in the getting started guides for OpenConfig. Examples in JSON and CLI format are relevant for gRPC.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].