target

package
v0.6.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 10, 2020 License: Apache-2.0 Imports: 28 Imported by: 0

Documentation

Overview

Package gnmi implements a gnmi server to mock a device with YANG models.

Package gnmi implements a gnmi server to mock a device with YANG models.

Package gnmi implements a gnmi server to mock a device with YANG models.

Package gnmi implements a gnmi server to mock a device with YANG models.

Package gnmi implements a gnmi server to mock a device with YANG models.

Package gnmi implements a gnmi server to mock a device with YANG models.

Package gnmi implements a gnmi server to mock a device with YANG models.

Package gnmi implements a gnmi server to mock a device with YANG models.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Contains

func Contains(a []string, x string) bool

Contains checks the existence of a given string in an array of strings.

Types

type Config

type Config struct {
	Config map[string]interface{}
}

type ConfigCallback

type ConfigCallback func(ygot.ValidatedGoStruct) error

ConfigCallback is the signature of the function to apply a validated config to the physical device.

type GnmiService

type GnmiService interface {
	northbound.Service
	GetServer() *Server
}

func NewService

func NewService(info ModelInfo) GnmiService

NewService creates a new gnmi service

type GoStructEnumData

type GoStructEnumData map[string]map[int64]ygot.EnumDefinition

GoStructEnumData is the data type to maintain GoStruct enum type.

type JSONUnmarshaler

type JSONUnmarshaler func([]byte, ygot.GoStruct, ...ytypes.UnmarshalOpt) error

JSONUnmarshaler is the signature of the Unmarshal() function in the GoStruct code generated by openconfig ygot library.

type Model

type Model struct {
	// contains filtered or unexported fields
}

Model contains the model data and GoStruct information for the device to config.

func GetModel

func GetModel(modelInfo ModelInfo) *Model

GetModel initialize and returns a model

func NewModel

NewModel returns an instance of Model struct.

func (*Model) NewConfigStruct

func (m *Model) NewConfigStruct(jsonConfig []byte) (ygot.ValidatedGoStruct, error)

NewConfigStruct creates a ValidatedGoStruct of this model from jsonConfig. If jsonConfig is nil, creates an empty GoStruct.

func (*Model) SupportedModels

func (m *Model) SupportedModels() []string

SupportedModels returns a list of supported models.

type ModelInfo

type ModelInfo struct {
	ModelType ModelType
	Version   string
}

ModelInfo

type ModelType

type ModelType int

ModelType

const (
	RIC ModelType = iota
)

func (ModelType) String

func (t ModelType) String() string

type Server

type Server struct {
	// contains filtered or unexported fields
}

Server struct maintains the data structure for device config and implements the interface of gnmi server. It supports Capabilities, Get, and Set APIs.

func (*Server) Capabilities

func (s *Server) Capabilities(ctx context.Context, req *pb.CapabilityRequest) (*pb.CapabilityResponse, error)

Capabilities returns supported encodings and supported models.

func (*Server) Get

func (s *Server) Get(ctx context.Context, req *pb.GetRequest) (*pb.GetResponse, error)

Get implements the Get RPC in gNMI spec.

func (*Server) GetConfig

func (s *Server) GetConfig() (ygot.ValidatedGoStruct, error)

GetConfig returns the config store

func (*Server) InternalUpdate

func (s *Server) InternalUpdate(fp func(config ygot.ValidatedGoStruct) error) error

InternalUpdate is an experimental feature to let the server update its internal states. Use it with your own risk.

func (*Server) Set

func (s *Server) Set(ctx context.Context, req *pb.SetRequest) (*pb.SetResponse, error)

Set implements the Set RPC in gNMI spec.

func (*Server) Subscribe

func (s *Server) Subscribe(stream pb.GNMI_SubscribeServer) error

Subscribe handle subscribe requests including POLL, STREAM, ONCE subscribe requests

func (*Server) WatchConfigUpdates

func (s *Server) WatchConfigUpdates(ch chan *pb.Update)

type Service

type Service struct {
	// contains filtered or unexported fields
}

Service is a Service implementation for gnmi service.

func (*Service) GetServer

func (s *Service) GetServer() *Server

func (*Service) Register

func (s *Service) Register(r *grpc.Server)

Register registers the Service with the gRPC server.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL