From 3d9228669961ba1b1c9e0e9022e8905b639c8ef9 Mon Sep 17 00:00:00 2001 From: nleiva Date: Wed, 11 May 2022 16:58:55 -0400 Subject: [PATCH 1/3] Remove old dependencies --- README.md | 92 +- client.go | 60 +- client_test.go | 144 +- example/action/.gitignore | 1 - example/action/main.go | 71 - example/configvalidate/main.go | 2 +- example/configvalidate4/main.go | 2 +- example/configvalidateoc1/main.go | 2 +- example/configvalidateoc2/main.go | 2 +- example/configvalidateoc3/main.go | 2 +- example/telemetry/main.go | 2 +- example/telemetrygpb/main.go | 10 +- example/telemetrygpbfull/main.go | 4 +- example/telemetrygpbfull2/main.go | 4 +- example/telemetrykv/main.go | 2 +- go.mod | 13 +- go.sum | 143 +- proto/ems/ems_grpc.pb.go | 3603 ++++++--- proto/ems/ems_grpc.proto | 142 +- proto/ems/ems_grpc_grpc.pb.go | 877 +++ proto/sla/sl_common_types.pb.go | 1951 +++-- proto/sla/sl_common_types.proto | 2 +- proto/sla/sl_global.pb.go | 935 ++- proto/sla/sl_global.proto | 2 +- proto/sla/sl_global_grpc.pb.go | 209 + proto/sla/sl_route_common.pb.go | 1321 +++- proto/sla/sl_route_common.proto | 2 +- proto/sla/sl_route_ipv6.pb.go | 1271 ++-- proto/sla/sl_route_ipv6.proto | 2 +- proto/sla/sl_route_ipv6_grpc.pb.go | 538 ++ proto/sla/sl_version.pb.go | 159 +- proto/sla/sl_version.proto | 2 +- proto/telemetry/bgp4/bgp_nbr_bag.pb.go | 7481 ++++++++++++------- proto/telemetry/bgp4/bgp_nbr_bag.proto | 1327 ++-- proto/telemetry/lldp/lldp_neighbor.pb.go | 1825 +++-- proto/telemetry/lldp/lldp_neighbor.proto | 419 +- proto/telemetry/lldp65x/lldp_neighbor.pb.go | 891 --- proto/telemetry/lldp65x/lldp_neighbor.proto | 293 - proto/telemetry/telemetry.pb.go | 998 +-- proto/telemetry/telemetry.proto | 327 +- sla.go | 12 +- 41 files changed, 15731 insertions(+), 9414 deletions(-) delete mode 100644 example/action/.gitignore delete mode 100644 example/action/main.go create mode 100644 proto/ems/ems_grpc_grpc.pb.go create mode 100644 proto/sla/sl_global_grpc.pb.go create mode 100644 proto/sla/sl_route_ipv6_grpc.pb.go delete mode 100644 proto/telemetry/lldp65x/lldp_neighbor.pb.go delete mode 100644 proto/telemetry/lldp65x/lldp_neighbor.proto diff --git a/README.md b/README.md index 031c0a9..db77383 100644 --- a/README.md +++ b/README.md @@ -48,11 +48,6 @@ The end goal is to enable use-cases where multiple interactions with devices are + [Service Layer API](#service-layer-api) - [Add an IPv6 route](#add-an-ipv6-route) - [SLA IOS XR config](#sla-ios-xr-config) - + [Actions](#actions) - - [Ping](#ping) - - [Traceroute](#traceroute) - - [Log Generation](#log-generation) - - [Crypto Key Generation](#crypto-key-generation) + [Bypass the config file](#bypass-the-config-file) * [XR gRPC Config](#xr-grpc-config) + [Port range](#port-range) @@ -72,28 +67,48 @@ CLI examples to use the library are provided in the [example](example/) folder. Retrieves the config from one target device described in [config.json](example/input/config.json), for the YANG paths specified in [yangpaths.json](example/input/yangpaths.json). If you want to see it using [OpenConfig models](https://github.com/openconfig/public/tree/master/release/models), you can issue `./getconfig -ypath "../input/yangocpaths.json"` instead. -- example/getconfig +- `example/getconfig` ```console -$ ./getconfig +example/getconfig$ go run main.go -Config from [2001:420:2cff:1204::5502:1]:57344 -{ +config from sandbox-iosxr-1.cisco.com:57777 + { "data": { - "Cisco-IOS-XR-ifmgr-cfg:interface-configurations": { - "interface-configuration": [ + "openconfig-interfaces:interfaces": { + "interface": [ + { + "name": "BVI511", + "config": { + "name": "BVI511", + "type": "iana-if-type:propVirtual" + }, + "subinterfaces": { + "subinterface": [ + { + "index": 0, + "openconfig-if-ip:ipv4": { + "addresses": { + "address": [ + { + "ip": "10.200.188.33", + "config": { + "ip": "10.200.188.33", + "prefix-length": 24 + } + } + ] + } + } + } + ] + } + }, { - "active": "act", - "interface-name": "Loopback60", - "interface-virtual": [ - null - ], - "Cisco-IOS-XR-ipv6-ma-cfg:ipv6-network": { - "addresses": { - "regular-addresses": { - "regular-address": [ + ... -2017/07/21 15:11:47 This process took 1.195469855s + +2022/05/11 16:55:36 This process took 715.136564ms ``` ### Show Commands @@ -754,6 +769,8 @@ grpc ### Actions +>*NOTE*: Support for actions has been deprecated on XR, most likely in favor of gNOI. + There are multiple actions than can be triggered via gRPC on IOS XR devices running 6.3.1 or later. Below the YANG models supported to the date and some examples using this library. ```console @@ -1001,18 +1018,39 @@ $ openssl req -new -x509 -nodes -subj '/C=US/CN=localhost' \ The Go generated code in [ems_grpc.pb.go](proto/ems/ems_grpc.pb.go) is the result of the following: -- proto/ems +- `proto/ems` + +```console +$ protoc --go_out=. --go_opt=paths=source_relative \ + --go-grpc_out=. --go-grpc_opt=paths=source_relative \ + --go_opt=Mproto/ems/ems_grpc.proto=proto/ems \ + --go-grpc_opt=Mproto/ems/ems_grpc.proto=proto/ems \ + proto/ems/ems_grpc.proto +``` + +- The Go generated code in [bgp_nbr_bag.pb.go](proto/telemetry/bgp/bgp_nbr_bag.pb.go) is the result of the following: + +```console +$ protoc --go_out=. \ + --go_opt=Mproto/telemetry/bgp/bgp_nbr_bag.proto=proto/telemetry/bgp \ + proto/telemetry/bgp/bgp_nbr_bag.proto +``` + +- The Go generated code in [lldp_neighbor.pb.go](proto/telemetry/lldp/lldp_neighbor.pb.go) is the result of the following: ```console -$ protoc --go_out=plugins=grpc:. ems_grpc.proto +$ protoc --go_out=. \ + --go_opt=Mproto/telemetry/lldp/lldp_neighbor.proto=proto/telemetry/lldp \ + proto/telemetry/lldp/lldp_neighbor.proto ``` -The Go generated code in [bgp_nbr_bag.pb.go](proto/telemetry/bgp/bgp_nbr_bag.pb.go) is the result of the following: +- `proto/sla` ```console -protoc --go_out=. \ - --go_opt=Mproto/telemetry/bgp/bgp_nbr_bag.proto=proto/telemetry/bgp \ - proto/telemetry/bgp/bgp_nbr_bag.proto +$ cd proto/sla +$ protoc --go_out=. --go_opt=paths=source_relative \ + --go-grpc_out=. --go-grpc_opt=paths=source_relative \ + *.proto ``` ## Running the Examples diff --git a/client.go b/client.go index 74c759c..8ea97c8 100644 --- a/client.go +++ b/client.go @@ -9,9 +9,9 @@ import ( "strconv" "time" "errors" + "context" pb "github.com/nleiva/xrgrpc/proto/ems" - "golang.org/x/net/context" "google.golang.org/grpc" "google.golang.org/grpc/credentials" ) @@ -258,35 +258,35 @@ func ShowCmdTextOutput(ctx context.Context, conn *grpc.ClientConn, cli string, i } // ActionJSON returns the output of an action commands as a JSON structured output. -func ActionJSON(ctx context.Context, conn *grpc.ClientConn, j string, id int64) (string, error) { - var s string - // 'c' is the gRPC stub. - c := pb.NewGRPCExecClient(conn) - - // 'a' is the object we send to the router via the stub. - a := pb.ActionJSONArgs{ReqId: id, Yangpathjson: j} - - // 'st' is the streamed result that comes back from the target. - st, err := c.ActionJSON(context.Background(), &a) - if err != nil { - return s, fmt.Errorf("gRPC ActionJSON failed: %w", err) - } - - for { - // Loop through the responses in the stream until there is nothing left. - r, err := st.Recv() - if err == io.EOF { - return s, nil - } - if len(r.GetErrors()) != 0 { - si := strconv.FormatInt(id, 10) - return s, fmt.Errorf("error triggered by remote host for ReqId: %s; %s", si, r.GetErrors()) - } - if len(r.GetYangjson()) > 0 { - s += r.GetYangjson() - } - } -} +// func ActionJSON(ctx context.Context, conn *grpc.ClientConn, j string, id int64) (string, error) { +// var s string +// // 'c' is the gRPC stub. +// c := pb.NewGRPCExecClient(conn) + +// // 'a' is the object we send to the router via the stub. +// a := pb.ActionJSONArgs{ReqId: id, Yangpathjson: j} + +// // 'st' is the streamed result that comes back from the target. +// st, err := c.ActionJSON(context.Background(), &a) +// if err != nil { +// return s, fmt.Errorf("gRPC ActionJSON failed: %w", err) +// } + +// for { +// // Loop through the responses in the stream until there is nothing left. +// r, err := st.Recv() +// if err == io.EOF { +// return s, nil +// } +// if len(r.GetErrors()) != 0 { +// si := strconv.FormatInt(id, 10) +// return s, fmt.Errorf("error triggered by remote host for ReqId: %s; %s", si, r.GetErrors()) +// } +// if len(r.GetYangjson()) > 0 { +// s += r.GetYangjson() +// } +// } +// } // ShowCmdJSONOutput returns the output of a CLI show commands // as a JSON structured output. diff --git a/client_test.go b/client_test.go index 48b4d3d..78d6fff 100644 --- a/client_test.go +++ b/client_test.go @@ -9,10 +9,10 @@ import ( "testing" "time" "errors" + "context" xr "github.com/nleiva/xrgrpc" pb "github.com/nleiva/xrgrpc/proto/ems" - "golang.org/x/net/context" "google.golang.org/grpc" "google.golang.org/grpc/credentials" "google.golang.org/grpc/metadata" @@ -40,7 +40,7 @@ const ( ) // execServer implements the GRPCExecServer interface -type execServer struct{} +type execServer struct{pb.UnimplementedGRPCExecServer} func (s *execServer) ShowCmdTextOutput(a *pb.ShowCmdArgs, stream pb.GRPCExec_ShowCmdTextOutputServer) error { if a.GetCli() != defaultCmd { @@ -89,34 +89,34 @@ func (s *execServer) ShowCmdJSONOutput(a *pb.ShowCmdArgs, stream pb.GRPCExec_Sho return nil } -func (s *execServer) ActionJSON(a *pb.ActionJSONArgs, stream pb.GRPCExec_ActionJSONServer) error { - if a.GetYangpathjson() != defaultYang { - err := stream.Send(&pb.ActionJSONReply{ - ResReqId: a.GetReqId(), - Errors: wrongCmdErr, - }) - if err != nil { - return err - } - return errors.New(wrongCmdErr) - } - m := map[string]string{"result": "action test output"} - j, err := json.Marshal(m) - if err != nil { - return errors.New("could not encode the test response") - } - err = stream.Send(&pb.ActionJSONReply{ - ResReqId: a.GetReqId(), - Yangjson: string(j), - }) - if err != nil { - return err - } - return nil -} +// func (s *execServer) ActionJSON(a *pb.ActionJSONArgs, stream pb.GRPCExec_ActionJSONServer) error { +// if a.GetYangpathjson() != defaultYang { +// err := stream.Send(&pb.ActionJSONReply{ +// ResReqId: a.GetReqId(), +// Errors: wrongCmdErr, +// }) +// if err != nil { +// return err +// } +// return errors.New(wrongCmdErr) +// } +// m := map[string]string{"result": "action test output"} +// j, err := json.Marshal(m) +// if err != nil { +// return errors.New("could not encode the test response") +// } +// err = stream.Send(&pb.ActionJSONReply{ +// ResReqId: a.GetReqId(), +// Yangjson: string(j), +// }) +// if err != nil { +// return err +// } +// return nil +// } // operConfigServer implements the GRPCConfigOperServer interface -type operConfigServer struct{} +type operConfigServer struct{pb.UnimplementedGRPCConfigOperServer} func (s *operConfigServer) GetConfig(a *pb.ConfigGetArgs, stream pb.GRPCConfigOper_GetConfigServer) error { if a.GetYangpathjson() != defaultYang { @@ -211,8 +211,8 @@ func (s *operConfigServer) CommitReplace(ctx context.Context, a *pb.CommitReplac // CommitConfig commits a config. Need to clarify its use-case. func (s *operConfigServer) CommitConfig(ctx context.Context, a *pb.CommitArgs) (r *pb.CommitReply, err error) { - Msg := pb.CommitMsg{Label: "test", Comment: "test"} - if *a.GetMsg() != Msg { + Msg := "test" + if a.GetMsg().Comment != Msg { err = errors.New(wrongCmdErr) r = &pb.CommitReply{ Result: pb.CommitResult_FAIL, @@ -233,7 +233,7 @@ func (s *operConfigServer) ConfigDiscardChanges(context.Context, *pb.DiscardChan return nil, nil } -func (s *operConfigServer) GetOper(a *pb.GetOperArgs, stream pb.GRPCConfigOper_GetOperServer) error { +func (s *operConfigServer) GetOper(a *pb.ConfigGetArgs, stream pb.GRPCConfigOper_GetOperServer) error { if a.GetYangpathjson() != defaultYang { err := stream.Send(&pb.GetOperReply{ ResReqId: a.GetReqId(), @@ -625,47 +625,47 @@ func TestShowCmdJSONOutput(t *testing.T) { time.Sleep(200 * time.Millisecond) } -func TestActionJSONOutput(t *testing.T) { - x := xr.CiscoGrpcClient{ - User: defaultUser, - Password: defaultPass, - Host: strings.Join([]string{defaultAddr, defaultPort}, ""), - Cert: defaultCert, - Domain: "localhost", - Timeout: defaultTimeout, - } - tt := []struct { - name string - act string - err string - }{ - {name: "local connection", act: defaultYang}, - {name: "wrong command", act: wrongCmd, err: wrongCmdErr}, - } - s := Server(t, "exec") - conn, ctx, err := xr.Connect(x) - if err != nil { - t.Fatalf("could not setup a client connection to %v", x.Host) - } - var id int64 = 1 - for _, tc := range tt { - t.Run(tc.name, func(t *testing.T) { - _, err := xr.ActionJSON(ctx, conn, tc.act, id) - if err != nil { - if strings.Contains(err.Error(), wrongCmdErr) && tc.err == wrongCmdErr { - return - } - t.Fatalf("failed to get action json output from %v", x.Host) - } - }) - id++ - } - conn.Close() - s.Stop() - // To avoid tests failing in Travis CI, we sleep for 0.2 seconds, otherwise it - // reports 'bind: address already in use' when trying to run the next function test - time.Sleep(200 * time.Millisecond) -} +// func TestActionJSONOutput(t *testing.T) { +// x := xr.CiscoGrpcClient{ +// User: defaultUser, +// Password: defaultPass, +// Host: strings.Join([]string{defaultAddr, defaultPort}, ""), +// Cert: defaultCert, +// Domain: "localhost", +// Timeout: defaultTimeout, +// } +// tt := []struct { +// name string +// act string +// err string +// }{ +// {name: "local connection", act: defaultYang}, +// {name: "wrong command", act: wrongCmd, err: wrongCmdErr}, +// } +// s := Server(t, "exec") +// conn, ctx, err := xr.Connect(x) +// if err != nil { +// t.Fatalf("could not setup a client connection to %v", x.Host) +// } +// var id int64 = 1 +// for _, tc := range tt { +// t.Run(tc.name, func(t *testing.T) { +// _, err := xr.ActionJSON(ctx, conn, tc.act, id) +// if err != nil { +// if strings.Contains(err.Error(), wrongCmdErr) && tc.err == wrongCmdErr { +// return +// } +// t.Fatalf("failed to get action json output from %v", x.Host) +// } +// }) +// id++ +// } +// conn.Close() +// s.Stop() +// // To avoid tests failing in Travis CI, we sleep for 0.2 seconds, otherwise it +// // reports 'bind: address already in use' when trying to run the next function test +// time.Sleep(200 * time.Millisecond) +// } func TestGetConfig(t *testing.T) { x := xr.CiscoGrpcClient{ diff --git a/example/action/.gitignore b/example/action/.gitignore deleted file mode 100644 index aef476d..0000000 --- a/example/action/.gitignore +++ /dev/null @@ -1 +0,0 @@ -action \ No newline at end of file diff --git a/example/action/main.go b/example/action/main.go deleted file mode 100644 index dd62441..0000000 --- a/example/action/main.go +++ /dev/null @@ -1,71 +0,0 @@ -package main - -import ( - "flag" - "fmt" - "io/ioutil" - "log" - "math/rand" - "time" - - xr "github.com/nleiva/xrgrpc" -) - -func timeTrack(start time.Time) { - elapsed := time.Since(start) - log.Printf("This process took %s\n", elapsed) -} - -func main() { - // To time this process - defer timeTrack(time.Now()) - - // Encoding option; defaults to JSON - enc := flag.String("enc", "json", "Encoding: 'json' or 'cli'") - // Action to issue; defaults to "ping4.json" - act := flag.String("act", "../input/action/ping6.json", "Command to execute") - // Config file; defaults to "config.json" - cfg := flag.String("cfg", "../input/config.json", "Configuration file") - flag.Parse() - - file, err := ioutil.ReadFile(*act) - if err != nil { - log.Fatalf("could not read file: %v\n", *act) - } - cli := string(file) - - // Determine the ID for the transaction. - r := rand.New(rand.NewSource(time.Now().UnixNano())) - id := r.Int63n(10000) - var output string - - // Define target parameters from the configuration file - targets := xr.NewDevices() - err = xr.DecodeJSONConfig(targets, *cfg) - if err != nil { - log.Fatalf("could not read the config: %v\n", err) - } - - // Setup a connection to the target. 'd' is the index of the router - // in the config file - d := 0 - conn, ctx, err := xr.Connect(targets.Routers[d]) - if err != nil { - log.Fatalf("could not setup a client connection to %s, %v", targets.Routers[d].Host, err) - } - defer conn.Close() - - // Return show command output based on encoding selected - switch *enc { - case "json": - output, err = xr.ActionJSON(ctx, conn, cli, id) - //case "cli": - // output, err = xr.ActionCLI(ctx, conn, cli, id) - default: - log.Fatalf("don't recognize encoding: %v\n", *enc) - } - if err != nil { - log.Fatalf("couldn't get an output: %v\n", err) - } - fmt.Printf("\noutput from %s\n %s\n", targets.Routers[d].Host, output) -} diff --git a/example/configvalidate/main.go b/example/configvalidate/main.go index c015059..6e7e482 100644 --- a/example/configvalidate/main.go +++ b/example/configvalidate/main.go @@ -18,7 +18,7 @@ import ( "strings" "time" - "github.com/golang/protobuf/proto" + "google.golang.org/protobuf/proto" xr "github.com/nleiva/xrgrpc" "github.com/nleiva/xrgrpc/proto/telemetry" bgp "github.com/nleiva/xrgrpc/proto/telemetry/bgp" diff --git a/example/configvalidate4/main.go b/example/configvalidate4/main.go index 3938aa9..efd2729 100644 --- a/example/configvalidate4/main.go +++ b/example/configvalidate4/main.go @@ -17,7 +17,7 @@ import ( "strings" "time" - "github.com/golang/protobuf/proto" + "google.golang.org/protobuf/proto" xr "github.com/nleiva/xrgrpc" "github.com/nleiva/xrgrpc/proto/telemetry" bgp "github.com/nleiva/xrgrpc/proto/telemetry/bgp4" diff --git a/example/configvalidateoc1/main.go b/example/configvalidateoc1/main.go index c804375..78a4543 100644 --- a/example/configvalidateoc1/main.go +++ b/example/configvalidateoc1/main.go @@ -18,7 +18,7 @@ import ( "strings" "time" - "github.com/golang/protobuf/proto" + "google.golang.org/protobuf/proto" xr "github.com/nleiva/xrgrpc" "github.com/nleiva/xrgrpc/proto/telemetry" ) diff --git a/example/configvalidateoc2/main.go b/example/configvalidateoc2/main.go index 833ab3a..2d3d424 100644 --- a/example/configvalidateoc2/main.go +++ b/example/configvalidateoc2/main.go @@ -17,7 +17,7 @@ import ( "os/signal" "time" - "github.com/golang/protobuf/proto" + "google.golang.org/protobuf/proto" xr "github.com/nleiva/xrgrpc" "github.com/nleiva/xrgrpc/proto/telemetry" ) diff --git a/example/configvalidateoc3/main.go b/example/configvalidateoc3/main.go index 1ea7ee8..b663295 100644 --- a/example/configvalidateoc3/main.go +++ b/example/configvalidateoc3/main.go @@ -19,7 +19,7 @@ import ( "os/signal" "time" - "github.com/golang/protobuf/proto" + "google.golang.org/protobuf/proto" xr "github.com/nleiva/xrgrpc" "github.com/nleiva/xrgrpc/proto/telemetry" ) diff --git a/example/telemetry/main.go b/example/telemetry/main.go index 7b6a717..652f3f8 100644 --- a/example/telemetry/main.go +++ b/example/telemetry/main.go @@ -12,7 +12,7 @@ import ( "os/signal" "time" - proto "github.com/golang/protobuf/proto" + proto "google.golang.org/protobuf/proto" xr "github.com/nleiva/xrgrpc" "github.com/nleiva/xrgrpc/proto/telemetry" ) diff --git a/example/telemetrygpb/main.go b/example/telemetrygpb/main.go index 5ad1a53..228117f 100644 --- a/example/telemetrygpb/main.go +++ b/example/telemetrygpb/main.go @@ -12,7 +12,7 @@ import ( "os/signal" "time" - "github.com/golang/protobuf/proto" + "google.golang.org/protobuf/proto" xr "github.com/nleiva/xrgrpc" "github.com/nleiva/xrgrpc/proto/telemetry" lldp "github.com/nleiva/xrgrpc/proto/telemetry/lldp" @@ -110,28 +110,28 @@ func main() { for _, row := range message.GetDataGpb().GetRow() { // From GPB we have row.GetTimestamp(), row.GetKeys() and row.GetContent() - keys := new(lldp.LldpNeighbor_KEYS) + keys := new(lldp.LldpNeighborEntry_KEYS) output, err := decodeKeys(row.GetKeys(), keys) if err != nil { log.Fatalf("could decode Keys: %v\n", err) } fmt.Println(output) content := row.GetContent() - nbrs := new(lldp.LldpNeighbor) + nbrs := new(lldp.LldpNeighborEntry) err = proto.Unmarshal(content, nbrs) if err != nil { log.Fatalf("could decode Content: %v\n", err) } for _, nei := range nbrs.LldpNeighbor { n := nei.GetDetail() - a := n.GetNetworkAddresses().GetLldpAddrEntry()[0].Address.GetIpv6Address() + a := n.GetNetworkAddresses().GetLldpAddrEntry()[0].Address.GetIPv6Address() fmt.Printf("Type: %s, Address %s \n\n", n.GetSystemDescription(), a) } } } } -func decodeKeys(bk []byte, k *lldp.LldpNeighbor_KEYS) (string, error) { +func decodeKeys(bk []byte, k *lldp.LldpNeighborEntry_KEYS) (string, error) { err := proto.Unmarshal(bk, k) s := "" if err != nil { diff --git a/example/telemetrygpbfull/main.go b/example/telemetrygpbfull/main.go index a7428b2..6412af7 100644 --- a/example/telemetrygpbfull/main.go +++ b/example/telemetrygpbfull/main.go @@ -12,10 +12,10 @@ import ( "os/signal" "time" - "github.com/golang/protobuf/proto" + "google.golang.org/protobuf/proto" xr "github.com/nleiva/xrgrpc" "github.com/nleiva/xrgrpc/proto/telemetry" - lldp "github.com/nleiva/xrgrpc/proto/telemetry/lldp65x" + lldp "github.com/nleiva/xrgrpc/proto/telemetry/lldp" ) func prettyprint(b []byte) ([]byte, error) { diff --git a/example/telemetrygpbfull2/main.go b/example/telemetrygpbfull2/main.go index c5a8dca..a682106 100644 --- a/example/telemetrygpbfull2/main.go +++ b/example/telemetrygpbfull2/main.go @@ -13,10 +13,10 @@ import ( "reflect" "time" - "github.com/golang/protobuf/proto" + "google.golang.org/protobuf/proto" xr "github.com/nleiva/xrgrpc" "github.com/nleiva/xrgrpc/proto/telemetry" - lldp "github.com/nleiva/xrgrpc/proto/telemetry/lldp65x" + lldp "github.com/nleiva/xrgrpc/proto/telemetry/lldp" ) func prettyprint(b []byte) ([]byte, error) { diff --git a/example/telemetrykv/main.go b/example/telemetrykv/main.go index 29dcd22..1c01d4b 100644 --- a/example/telemetrykv/main.go +++ b/example/telemetrykv/main.go @@ -11,7 +11,7 @@ import ( "strings" "time" - proto "github.com/golang/protobuf/proto" + "google.golang.org/protobuf/proto" xr "github.com/nleiva/xrgrpc" "github.com/nleiva/xrgrpc/proto/telemetry" ) diff --git a/go.mod b/go.mod index 2056a54..82f4177 100644 --- a/go.mod +++ b/go.mod @@ -3,15 +3,14 @@ module github.com/nleiva/xrgrpc go 1.17 require ( - github.com/golang/protobuf v1.5.0 - github.com/pkg/errors v0.8.0 - golang.org/x/net v0.0.0-20181106065722-10aee1819953 - google.golang.org/grpc v1.16.0 + google.golang.org/grpc v1.46.0 google.golang.org/protobuf v1.28.0 ) require ( - golang.org/x/sys v0.0.0-20181106135930-3a76605856fd // indirect - golang.org/x/text v0.3.0 // indirect - google.golang.org/genproto v0.0.0-20181101192439-c830210a61df // indirect + github.com/golang/protobuf v1.5.2 // indirect + golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 // indirect + golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6 // indirect + golang.org/x/text v0.3.7 // indirect + google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3 // indirect ) diff --git a/go.sum b/go.sum index 56a23cc..64a2aa1 100644 --- a/go.sum +++ b/go.sum @@ -1,38 +1,141 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:tluoj9z5200jBnyusfRPU2LqT6J+DAorxEvtC7LHB+E= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.5.0 h1:LUVKkCeviFUMKqHa4tXIIij/lbhnMbP7Fn5wKdKkRh4= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= +github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/pkg/errors v0.8.0 h1:WdK/asTD0HN+q6hsWO3/vpuAkAr+tw6aNJNDFFf0+qw= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181106065722-10aee1819953 h1:LuZIitY8waaxUfNIdtajyE/YzA/zyf0YxXG27VpLrkg= -golang.org/x/net v0.0.0-20181106065722-10aee1819953/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 h1:HVyaeDAYux4pnY+D/SiwmLOR36ewZ4iGQIIrtnuCjFA= +golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181106135930-3a76605856fd h1:5lx5yH6109ClL0rlBzOj++ZkX/njUT+RVgTO2RMbmZo= -golang.org/x/sys v0.0.0-20181106135930-3a76605856fd/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6 h1:nonptSpoQ4vQjyraW20DXPAglgQfVnM9ZC6MmNLMR60= +golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20181101192439-c830210a61df h1:Ri2mROsxIxitlzRQ0pYoP8/dsqeLEolHrhh29dltSI4= -google.golang.org/genproto v0.0.0-20181101192439-c830210a61df/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/grpc v1.16.0 h1:dz5IJGuC2BB7qXR5AyHNwAUBhZscK2xVez7mznh72sY= -google.golang.org/grpc v1.16.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3 h1:q1kiSVscqoDeqTF27eQ2NnLLDmqF0I373qQNXYMy0fo= +google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.46.0 h1:oCjezcn6g6A75TGoKYBPgKmVBLexhYLM6MebdrPApP8= +google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/proto/ems/ems_grpc.pb.go b/proto/ems/ems_grpc.pb.go index 3382c00..b9c2278 100644 --- a/proto/ems/ems_grpc.pb.go +++ b/proto/ems/ems_grpc.pb.go @@ -1,60 +1,24 @@ -// Code generated by protoc-gen-go. -// source: ems_grpc.proto -// DO NOT EDIT! - -/* -Package IOSXRExtensibleManagabilityService is a generated protocol buffer package. - -Package implements gRPC Model Driven Telemetry service - -It is generated from these files: - ems_grpc.proto - -It has these top-level messages: - ConfigGetArgs - ConfigGetReply - GetOperArgs - GetOperReply - ConfigArgs - ConfigReply - CliConfigArgs - CliConfigReply - CommitReplaceArgs - CommitReplaceReply - CommitMsg - CommitArgs - CommitReply - DiscardChangesArgs - DiscardChangesReply - ShowCmdArgs - ShowCmdTextReply - ShowCmdJSONReply - CreateSubsArgs - CreateSubsReply - ActionJSONArgs - ActionJSONReply -*/ -package IOSXRExtensibleManagabilityService - -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.0 +// protoc v3.5.0 +// source: proto/ems/ems_grpc.proto + +package ems import ( - context "golang.org/x/net/context" - grpc "google.golang.org/grpc" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" ) -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) type CommitResult int32 @@ -64,1369 +28,3012 @@ const ( CommitResult_FAIL CommitResult = 2 ) -var CommitResult_name = map[int32]string{ - 0: "CHANGE", - 1: "NO_CHANGE", - 2: "FAIL", -} -var CommitResult_value = map[string]int32{ - "CHANGE": 0, - "NO_CHANGE": 1, - "FAIL": 2, +// Enum value maps for CommitResult. +var ( + CommitResult_name = map[int32]string{ + 0: "CHANGE", + 1: "NO_CHANGE", + 2: "FAIL", + } + CommitResult_value = map[string]int32{ + "CHANGE": 0, + "NO_CHANGE": 1, + "FAIL": 2, + } +) + +func (x CommitResult) Enum() *CommitResult { + p := new(CommitResult) + *p = x + return p } func (x CommitResult) String() string { - return proto.EnumName(CommitResult_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CommitResult) Descriptor() protoreflect.EnumDescriptor { + return file_proto_ems_ems_grpc_proto_enumTypes[0].Descriptor() +} + +func (CommitResult) Type() protoreflect.EnumType { + return &file_proto_ems_ems_grpc_proto_enumTypes[0] +} + +func (x CommitResult) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CommitResult.Descriptor instead. +func (CommitResult) EnumDescriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{0} +} + +type OC_RPC_RESPONSE_TYPE int32 + +const ( + OC_RPC_RESPONSE_TYPE_OK OC_RPC_RESPONSE_TYPE = 0 + OC_RPC_RESPONSE_TYPE_NOK OC_RPC_RESPONSE_TYPE = 1 + OC_RPC_RESPONSE_TYPE_UNSUPPORTED_PATH OC_RPC_RESPONSE_TYPE = 2 + OC_RPC_RESPONSE_TYPE_INVALID_PATH OC_RPC_RESPONSE_TYPE = 3 + OC_RPC_RESPONSE_TYPE_INVALID_CONFIGURATION OC_RPC_RESPONSE_TYPE = 4 + OC_RPC_RESPONSE_TYPE_UNSUPPORTED_INTERVAL OC_RPC_RESPONSE_TYPE = 5 + OC_RPC_RESPONSE_TYPE_UNSUPPORTED_ENCODING OC_RPC_RESPONSE_TYPE = 6 + OC_RPC_RESPONSE_TYPE_INVALID_SUBSCRIPTION_ID OC_RPC_RESPONSE_TYPE = 7 +) + +// Enum value maps for OC_RPC_RESPONSE_TYPE. +var ( + OC_RPC_RESPONSE_TYPE_name = map[int32]string{ + 0: "OK", + 1: "NOK", + 2: "UNSUPPORTED_PATH", + 3: "INVALID_PATH", + 4: "INVALID_CONFIGURATION", + 5: "UNSUPPORTED_INTERVAL", + 6: "UNSUPPORTED_ENCODING", + 7: "INVALID_SUBSCRIPTION_ID", + } + OC_RPC_RESPONSE_TYPE_value = map[string]int32{ + "OK": 0, + "NOK": 1, + "UNSUPPORTED_PATH": 2, + "INVALID_PATH": 3, + "INVALID_CONFIGURATION": 4, + "UNSUPPORTED_INTERVAL": 5, + "UNSUPPORTED_ENCODING": 6, + "INVALID_SUBSCRIPTION_ID": 7, + } +) + +func (x OC_RPC_RESPONSE_TYPE) Enum() *OC_RPC_RESPONSE_TYPE { + p := new(OC_RPC_RESPONSE_TYPE) + *p = x + return p +} + +func (x OC_RPC_RESPONSE_TYPE) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (OC_RPC_RESPONSE_TYPE) Descriptor() protoreflect.EnumDescriptor { + return file_proto_ems_ems_grpc_proto_enumTypes[1].Descriptor() +} + +func (OC_RPC_RESPONSE_TYPE) Type() protoreflect.EnumType { + return &file_proto_ems_ems_grpc_proto_enumTypes[1] +} + +func (x OC_RPC_RESPONSE_TYPE) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use OC_RPC_RESPONSE_TYPE.Descriptor instead. +func (OC_RPC_RESPONSE_TYPE) EnumDescriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{1} +} + +type GET_MODEL_TYPE int32 + +const ( + GET_MODEL_TYPE_MODULE GET_MODEL_TYPE = 0 + GET_MODEL_TYPE_AUGMENTATION GET_MODEL_TYPE = 1 + GET_MODEL_TYPE_DEVIATION GET_MODEL_TYPE = 2 + GET_MODEL_TYPE_BUNDLE GET_MODEL_TYPE = 3 +) + +// Enum value maps for GET_MODEL_TYPE. +var ( + GET_MODEL_TYPE_name = map[int32]string{ + 0: "MODULE", + 1: "AUGMENTATION", + 2: "DEVIATION", + 3: "BUNDLE", + } + GET_MODEL_TYPE_value = map[string]int32{ + "MODULE": 0, + "AUGMENTATION": 1, + "DEVIATION": 2, + "BUNDLE": 3, + } +) + +func (x GET_MODEL_TYPE) Enum() *GET_MODEL_TYPE { + p := new(GET_MODEL_TYPE) + *p = x + return p +} + +func (x GET_MODEL_TYPE) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (GET_MODEL_TYPE) Descriptor() protoreflect.EnumDescriptor { + return file_proto_ems_ems_grpc_proto_enumTypes[2].Descriptor() +} + +func (GET_MODEL_TYPE) Type() protoreflect.EnumType { + return &file_proto_ems_ems_grpc_proto_enumTypes[2] +} + +func (x GET_MODEL_TYPE) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use GET_MODEL_TYPE.Descriptor instead. +func (GET_MODEL_TYPE) EnumDescriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{2} +} + +type TelemetryStreamDestination_TSP int32 + +const ( + TelemetryStreamDestination_TSP_TCP TelemetryStreamDestination_TSP = 0 + TelemetryStreamDestination_TSP_GRPC TelemetryStreamDestination_TSP = 1 +) + +// Enum value maps for TelemetryStreamDestination_TSP. +var ( + TelemetryStreamDestination_TSP_name = map[int32]string{ + 0: "TSP_TCP", + 1: "TSP_GRPC", + } + TelemetryStreamDestination_TSP_value = map[string]int32{ + "TSP_TCP": 0, + "TSP_GRPC": 1, + } +) + +func (x TelemetryStreamDestination_TSP) Enum() *TelemetryStreamDestination_TSP { + p := new(TelemetryStreamDestination_TSP) + *p = x + return p +} + +func (x TelemetryStreamDestination_TSP) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TelemetryStreamDestination_TSP) Descriptor() protoreflect.EnumDescriptor { + return file_proto_ems_ems_grpc_proto_enumTypes[3].Descriptor() +} + +func (TelemetryStreamDestination_TSP) Type() protoreflect.EnumType { + return &file_proto_ems_ems_grpc_proto_enumTypes[3] +} + +func (x TelemetryStreamDestination_TSP) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use TelemetryStreamDestination_TSP.Descriptor instead. +func (TelemetryStreamDestination_TSP) EnumDescriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{20, 0} +} + +type SubscriptionList_ENC_SPEC int32 + +const ( + SubscriptionList_ENC_KV_GPB SubscriptionList_ENC_SPEC = 0 + SubscriptionList_ENC_GPB SubscriptionList_ENC_SPEC = 1 +) + +// Enum value maps for SubscriptionList_ENC_SPEC. +var ( + SubscriptionList_ENC_SPEC_name = map[int32]string{ + 0: "ENC_KV_GPB", + 1: "ENC_GPB", + } + SubscriptionList_ENC_SPEC_value = map[string]int32{ + "ENC_KV_GPB": 0, + "ENC_GPB": 1, + } +) + +func (x SubscriptionList_ENC_SPEC) Enum() *SubscriptionList_ENC_SPEC { + p := new(SubscriptionList_ENC_SPEC) + *p = x + return p +} + +func (x SubscriptionList_ENC_SPEC) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SubscriptionList_ENC_SPEC) Descriptor() protoreflect.EnumDescriptor { + return file_proto_ems_ems_grpc_proto_enumTypes[4].Descriptor() +} + +func (SubscriptionList_ENC_SPEC) Type() protoreflect.EnumType { + return &file_proto_ems_ems_grpc_proto_enumTypes[4] +} + +func (x SubscriptionList_ENC_SPEC) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SubscriptionList_ENC_SPEC.Descriptor instead. +func (SubscriptionList_ENC_SPEC) EnumDescriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{22, 0} +} + +type GetModelsInput_MODLE_REQUEST_TYPE int32 + +const ( + GetModelsInput_SUMMARY GetModelsInput_MODLE_REQUEST_TYPE = 0 + GetModelsInput_DETAIL GetModelsInput_MODLE_REQUEST_TYPE = 1 +) + +// Enum value maps for GetModelsInput_MODLE_REQUEST_TYPE. +var ( + GetModelsInput_MODLE_REQUEST_TYPE_name = map[int32]string{ + 0: "SUMMARY", + 1: "DETAIL", + } + GetModelsInput_MODLE_REQUEST_TYPE_value = map[string]int32{ + "SUMMARY": 0, + "DETAIL": 1, + } +) + +func (x GetModelsInput_MODLE_REQUEST_TYPE) Enum() *GetModelsInput_MODLE_REQUEST_TYPE { + p := new(GetModelsInput_MODLE_REQUEST_TYPE) + *p = x + return p +} + +func (x GetModelsInput_MODLE_REQUEST_TYPE) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (GetModelsInput_MODLE_REQUEST_TYPE) Descriptor() protoreflect.EnumDescriptor { + return file_proto_ems_ems_grpc_proto_enumTypes[5].Descriptor() +} + +func (GetModelsInput_MODLE_REQUEST_TYPE) Type() protoreflect.EnumType { + return &file_proto_ems_ems_grpc_proto_enumTypes[5] +} + +func (x GetModelsInput_MODLE_REQUEST_TYPE) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use GetModelsInput_MODLE_REQUEST_TYPE.Descriptor instead. +func (GetModelsInput_MODLE_REQUEST_TYPE) EnumDescriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{27, 0} } -func (CommitResult) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } type ConfigGetArgs struct { - ReqId int64 `protobuf:"varint,1,opt,name=ReqId" json:"ReqId,omitempty"` - Yangpathjson string `protobuf:"bytes,2,opt,name=yangpathjson" json:"yangpathjson,omitempty"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ReqId int64 `protobuf:"varint,1,opt,name=ReqId,proto3" json:"ReqId,omitempty"` + Yangpathjson string `protobuf:"bytes,2,opt,name=yangpathjson,proto3" json:"yangpathjson,omitempty"` +} + +func (x *ConfigGetArgs) Reset() { + *x = ConfigGetArgs{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *ConfigGetArgs) Reset() { *m = ConfigGetArgs{} } -func (m *ConfigGetArgs) String() string { return proto.CompactTextString(m) } -func (*ConfigGetArgs) ProtoMessage() {} -func (*ConfigGetArgs) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } +func (x *ConfigGetArgs) String() string { + return protoimpl.X.MessageStringOf(x) +} -func (m *ConfigGetArgs) GetReqId() int64 { - if m != nil { - return m.ReqId +func (*ConfigGetArgs) ProtoMessage() {} + +func (x *ConfigGetArgs) ProtoReflect() protoreflect.Message { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfigGetArgs.ProtoReflect.Descriptor instead. +func (*ConfigGetArgs) Descriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{0} +} + +func (x *ConfigGetArgs) GetReqId() int64 { + if x != nil { + return x.ReqId } return 0 } -func (m *ConfigGetArgs) GetYangpathjson() string { - if m != nil { - return m.Yangpathjson +func (x *ConfigGetArgs) GetYangpathjson() string { + if x != nil { + return x.Yangpathjson } return "" } type ConfigGetReply struct { - ResReqId int64 `protobuf:"varint,1,opt,name=ResReqId" json:"ResReqId,omitempty"` - Yangjson string `protobuf:"bytes,2,opt,name=yangjson" json:"yangjson,omitempty"` - Errors string `protobuf:"bytes,3,opt,name=errors" json:"errors,omitempty"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ResReqId int64 `protobuf:"varint,1,opt,name=ResReqId,proto3" json:"ResReqId,omitempty"` + Yangjson string `protobuf:"bytes,2,opt,name=yangjson,proto3" json:"yangjson,omitempty"` + Errors string `protobuf:"bytes,3,opt,name=errors,proto3" json:"errors,omitempty"` +} + +func (x *ConfigGetReply) Reset() { + *x = ConfigGetReply{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConfigGetReply) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ConfigGetReply) Reset() { *m = ConfigGetReply{} } -func (m *ConfigGetReply) String() string { return proto.CompactTextString(m) } -func (*ConfigGetReply) ProtoMessage() {} -func (*ConfigGetReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } +func (*ConfigGetReply) ProtoMessage() {} -func (m *ConfigGetReply) GetResReqId() int64 { - if m != nil { - return m.ResReqId +func (x *ConfigGetReply) ProtoReflect() protoreflect.Message { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfigGetReply.ProtoReflect.Descriptor instead. +func (*ConfigGetReply) Descriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{1} +} + +func (x *ConfigGetReply) GetResReqId() int64 { + if x != nil { + return x.ResReqId } return 0 } -func (m *ConfigGetReply) GetYangjson() string { - if m != nil { - return m.Yangjson +func (x *ConfigGetReply) GetYangjson() string { + if x != nil { + return x.Yangjson } return "" } -func (m *ConfigGetReply) GetErrors() string { - if m != nil { - return m.Errors +func (x *ConfigGetReply) GetErrors() string { + if x != nil { + return x.Errors } return "" } -type GetOperArgs struct { - ReqId int64 `protobuf:"varint,1,opt,name=ReqId" json:"ReqId,omitempty"` - Yangpathjson string `protobuf:"bytes,2,opt,name=yangpathjson" json:"yangpathjson,omitempty"` +type GetOperReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ResReqId int64 `protobuf:"varint,1,opt,name=ResReqId,proto3" json:"ResReqId,omitempty"` + Yangjson string `protobuf:"bytes,2,opt,name=yangjson,proto3" json:"yangjson,omitempty"` + Errors string `protobuf:"bytes,3,opt,name=errors,proto3" json:"errors,omitempty"` } -func (m *GetOperArgs) Reset() { *m = GetOperArgs{} } -func (m *GetOperArgs) String() string { return proto.CompactTextString(m) } -func (*GetOperArgs) ProtoMessage() {} -func (*GetOperArgs) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } +func (x *GetOperReply) Reset() { + *x = GetOperReply{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} -func (m *GetOperArgs) GetReqId() int64 { - if m != nil { - return m.ReqId +func (x *GetOperReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetOperReply) ProtoMessage() {} + +func (x *GetOperReply) ProtoReflect() protoreflect.Message { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetOperReply.ProtoReflect.Descriptor instead. +func (*GetOperReply) Descriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{2} +} + +func (x *GetOperReply) GetResReqId() int64 { + if x != nil { + return x.ResReqId } return 0 } -func (m *GetOperArgs) GetYangpathjson() string { - if m != nil { - return m.Yangpathjson +func (x *GetOperReply) GetYangjson() string { + if x != nil { + return x.Yangjson } return "" } -type GetOperReply struct { - ResReqId int64 `protobuf:"varint,1,opt,name=ResReqId" json:"ResReqId,omitempty"` - Yangjson string `protobuf:"bytes,2,opt,name=yangjson" json:"yangjson,omitempty"` - Errors string `protobuf:"bytes,3,opt,name=errors" json:"errors,omitempty"` +func (x *GetOperReply) GetErrors() string { + if x != nil { + return x.Errors + } + return "" } -func (m *GetOperReply) Reset() { *m = GetOperReply{} } -func (m *GetOperReply) String() string { return proto.CompactTextString(m) } -func (*GetOperReply) ProtoMessage() {} -func (*GetOperReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } +type ConfigArgs struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ReqId int64 `protobuf:"varint,1,opt,name=ReqId,proto3" json:"ReqId,omitempty"` + Yangjson string `protobuf:"bytes,2,opt,name=yangjson,proto3" json:"yangjson,omitempty"` +} -func (m *GetOperReply) GetResReqId() int64 { - if m != nil { - return m.ResReqId +func (x *ConfigArgs) Reset() { + *x = ConfigArgs{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConfigArgs) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigArgs) ProtoMessage() {} + +func (x *ConfigArgs) ProtoReflect() protoreflect.Message { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfigArgs.ProtoReflect.Descriptor instead. +func (*ConfigArgs) Descriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{3} +} + +func (x *ConfigArgs) GetReqId() int64 { + if x != nil { + return x.ReqId } return 0 } -func (m *GetOperReply) GetYangjson() string { - if m != nil { - return m.Yangjson +func (x *ConfigArgs) GetYangjson() string { + if x != nil { + return x.Yangjson } return "" } -func (m *GetOperReply) GetErrors() string { - if m != nil { - return m.Errors +type ConfigReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ResReqId int64 `protobuf:"varint,1,opt,name=ResReqId,proto3" json:"ResReqId,omitempty"` + Errors string `protobuf:"bytes,2,opt,name=errors,proto3" json:"errors,omitempty"` +} + +func (x *ConfigReply) Reset() { + *x = ConfigReply{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConfigReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigReply) ProtoMessage() {} + +func (x *ConfigReply) ProtoReflect() protoreflect.Message { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfigReply.ProtoReflect.Descriptor instead. +func (*ConfigReply) Descriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{4} +} + +func (x *ConfigReply) GetResReqId() int64 { + if x != nil { + return x.ResReqId + } + return 0 +} + +func (x *ConfigReply) GetErrors() string { + if x != nil { + return x.Errors } return "" } -type ConfigArgs struct { - ReqId int64 `protobuf:"varint,1,opt,name=ReqId" json:"ReqId,omitempty"` - Yangjson string `protobuf:"bytes,2,opt,name=yangjson" json:"yangjson,omitempty"` +type CliConfigArgs struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ReqId int64 `protobuf:"varint,1,opt,name=ReqId,proto3" json:"ReqId,omitempty"` + Cli string `protobuf:"bytes,2,opt,name=cli,proto3" json:"cli,omitempty"` } -func (m *ConfigArgs) Reset() { *m = ConfigArgs{} } -func (m *ConfigArgs) String() string { return proto.CompactTextString(m) } -func (*ConfigArgs) ProtoMessage() {} -func (*ConfigArgs) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} } +func (x *CliConfigArgs) Reset() { + *x = CliConfigArgs{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} -func (m *ConfigArgs) GetReqId() int64 { - if m != nil { - return m.ReqId +func (x *CliConfigArgs) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CliConfigArgs) ProtoMessage() {} + +func (x *CliConfigArgs) ProtoReflect() protoreflect.Message { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CliConfigArgs.ProtoReflect.Descriptor instead. +func (*CliConfigArgs) Descriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{5} +} + +func (x *CliConfigArgs) GetReqId() int64 { + if x != nil { + return x.ReqId } return 0 } -func (m *ConfigArgs) GetYangjson() string { - if m != nil { - return m.Yangjson +func (x *CliConfigArgs) GetCli() string { + if x != nil { + return x.Cli } return "" } -type ConfigReply struct { - ResReqId int64 `protobuf:"varint,1,opt,name=ResReqId" json:"ResReqId,omitempty"` - Errors string `protobuf:"bytes,2,opt,name=errors" json:"errors,omitempty"` +type CliConfigReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ResReqId int64 `protobuf:"varint,1,opt,name=ResReqId,proto3" json:"ResReqId,omitempty"` + Errors string `protobuf:"bytes,2,opt,name=errors,proto3" json:"errors,omitempty"` } -func (m *ConfigReply) Reset() { *m = ConfigReply{} } -func (m *ConfigReply) String() string { return proto.CompactTextString(m) } -func (*ConfigReply) ProtoMessage() {} -func (*ConfigReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } +func (x *CliConfigReply) Reset() { + *x = CliConfigReply{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} -func (m *ConfigReply) GetResReqId() int64 { - if m != nil { - return m.ResReqId +func (x *CliConfigReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CliConfigReply) ProtoMessage() {} + +func (x *CliConfigReply) ProtoReflect() protoreflect.Message { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CliConfigReply.ProtoReflect.Descriptor instead. +func (*CliConfigReply) Descriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{6} +} + +func (x *CliConfigReply) GetResReqId() int64 { + if x != nil { + return x.ResReqId + } + return 0 +} + +func (x *CliConfigReply) GetErrors() string { + if x != nil { + return x.Errors + } + return "" +} + +type CommitReplaceArgs struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ReqId int64 `protobuf:"varint,1,opt,name=ReqId,proto3" json:"ReqId,omitempty"` + Cli string `protobuf:"bytes,2,opt,name=cli,proto3" json:"cli,omitempty"` + Yangjson string `protobuf:"bytes,3,opt,name=yangjson,proto3" json:"yangjson,omitempty"` +} + +func (x *CommitReplaceArgs) Reset() { + *x = CommitReplaceArgs{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommitReplaceArgs) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommitReplaceArgs) ProtoMessage() {} + +func (x *CommitReplaceArgs) ProtoReflect() protoreflect.Message { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CommitReplaceArgs.ProtoReflect.Descriptor instead. +func (*CommitReplaceArgs) Descriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{7} +} + +func (x *CommitReplaceArgs) GetReqId() int64 { + if x != nil { + return x.ReqId + } + return 0 +} + +func (x *CommitReplaceArgs) GetCli() string { + if x != nil { + return x.Cli + } + return "" +} + +func (x *CommitReplaceArgs) GetYangjson() string { + if x != nil { + return x.Yangjson + } + return "" +} + +type CommitReplaceReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ResReqId int64 `protobuf:"varint,1,opt,name=ResReqId,proto3" json:"ResReqId,omitempty"` + Errors string `protobuf:"bytes,2,opt,name=errors,proto3" json:"errors,omitempty"` +} + +func (x *CommitReplaceReply) Reset() { + *x = CommitReplaceReply{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommitReplaceReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommitReplaceReply) ProtoMessage() {} + +func (x *CommitReplaceReply) ProtoReflect() protoreflect.Message { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CommitReplaceReply.ProtoReflect.Descriptor instead. +func (*CommitReplaceReply) Descriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{8} +} + +func (x *CommitReplaceReply) GetResReqId() int64 { + if x != nil { + return x.ResReqId + } + return 0 +} + +func (x *CommitReplaceReply) GetErrors() string { + if x != nil { + return x.Errors + } + return "" +} + +type CommitMsg struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"` + Comment string `protobuf:"bytes,2,opt,name=comment,proto3" json:"comment,omitempty"` +} + +func (x *CommitMsg) Reset() { + *x = CommitMsg{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommitMsg) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommitMsg) ProtoMessage() {} + +func (x *CommitMsg) ProtoReflect() protoreflect.Message { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CommitMsg.ProtoReflect.Descriptor instead. +func (*CommitMsg) Descriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{9} +} + +func (x *CommitMsg) GetLabel() string { + if x != nil { + return x.Label + } + return "" +} + +func (x *CommitMsg) GetComment() string { + if x != nil { + return x.Comment + } + return "" +} + +type CommitArgs struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg *CommitMsg `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` + ReqId int64 `protobuf:"varint,2,opt,name=ReqId,proto3" json:"ReqId,omitempty"` +} + +func (x *CommitArgs) Reset() { + *x = CommitArgs{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommitArgs) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommitArgs) ProtoMessage() {} + +func (x *CommitArgs) ProtoReflect() protoreflect.Message { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CommitArgs.ProtoReflect.Descriptor instead. +func (*CommitArgs) Descriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{10} +} + +func (x *CommitArgs) GetMsg() *CommitMsg { + if x != nil { + return x.Msg + } + return nil +} + +func (x *CommitArgs) GetReqId() int64 { + if x != nil { + return x.ReqId } return 0 } -func (m *ConfigReply) GetErrors() string { - if m != nil { - return m.Errors +type CommitReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Result CommitResult `protobuf:"varint,1,opt,name=result,proto3,enum=IOSXRExtensibleManagabilityService.CommitResult" json:"result,omitempty"` + ResReqId int64 `protobuf:"varint,2,opt,name=ResReqId,proto3" json:"ResReqId,omitempty"` + Errors string `protobuf:"bytes,3,opt,name=errors,proto3" json:"errors,omitempty"` +} + +func (x *CommitReply) Reset() { + *x = CommitReply{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommitReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommitReply) ProtoMessage() {} + +func (x *CommitReply) ProtoReflect() protoreflect.Message { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CommitReply.ProtoReflect.Descriptor instead. +func (*CommitReply) Descriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{11} +} + +func (x *CommitReply) GetResult() CommitResult { + if x != nil { + return x.Result + } + return CommitResult_CHANGE +} + +func (x *CommitReply) GetResReqId() int64 { + if x != nil { + return x.ResReqId + } + return 0 +} + +func (x *CommitReply) GetErrors() string { + if x != nil { + return x.Errors + } + return "" +} + +type DiscardChangesArgs struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ReqId int64 `protobuf:"varint,1,opt,name=ReqId,proto3" json:"ReqId,omitempty"` +} + +func (x *DiscardChangesArgs) Reset() { + *x = DiscardChangesArgs{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiscardChangesArgs) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiscardChangesArgs) ProtoMessage() {} + +func (x *DiscardChangesArgs) ProtoReflect() protoreflect.Message { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiscardChangesArgs.ProtoReflect.Descriptor instead. +func (*DiscardChangesArgs) Descriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{12} +} + +func (x *DiscardChangesArgs) GetReqId() int64 { + if x != nil { + return x.ReqId + } + return 0 +} + +type DiscardChangesReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ResReqId int64 `protobuf:"varint,1,opt,name=ResReqId,proto3" json:"ResReqId,omitempty"` + Errors string `protobuf:"bytes,2,opt,name=errors,proto3" json:"errors,omitempty"` +} + +func (x *DiscardChangesReply) Reset() { + *x = DiscardChangesReply{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiscardChangesReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiscardChangesReply) ProtoMessage() {} + +func (x *DiscardChangesReply) ProtoReflect() protoreflect.Message { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -type CliConfigArgs struct { - ReqId int64 `protobuf:"varint,1,opt,name=ReqId" json:"ReqId,omitempty"` - Cli string `protobuf:"bytes,2,opt,name=cli" json:"cli,omitempty"` +// Deprecated: Use DiscardChangesReply.ProtoReflect.Descriptor instead. +func (*DiscardChangesReply) Descriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{13} } -func (m *CliConfigArgs) Reset() { *m = CliConfigArgs{} } -func (m *CliConfigArgs) String() string { return proto.CompactTextString(m) } -func (*CliConfigArgs) ProtoMessage() {} -func (*CliConfigArgs) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } - -func (m *CliConfigArgs) GetReqId() int64 { - if m != nil { - return m.ReqId +func (x *DiscardChangesReply) GetResReqId() int64 { + if x != nil { + return x.ResReqId } return 0 } -func (m *CliConfigArgs) GetCli() string { - if m != nil { - return m.Cli +func (x *DiscardChangesReply) GetErrors() string { + if x != nil { + return x.Errors } return "" } -type CliConfigReply struct { - ResReqId int64 `protobuf:"varint,1,opt,name=ResReqId" json:"ResReqId,omitempty"` - Errors string `protobuf:"bytes,2,opt,name=errors" json:"errors,omitempty"` -} +type ShowCmdArgs struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *CliConfigReply) Reset() { *m = CliConfigReply{} } -func (m *CliConfigReply) String() string { return proto.CompactTextString(m) } -func (*CliConfigReply) ProtoMessage() {} -func (*CliConfigReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} } + ReqId int64 `protobuf:"varint,1,opt,name=ReqId,proto3" json:"ReqId,omitempty"` + Cli string `protobuf:"bytes,2,opt,name=cli,proto3" json:"cli,omitempty"` +} -func (m *CliConfigReply) GetResReqId() int64 { - if m != nil { - return m.ResReqId +func (x *ShowCmdArgs) Reset() { + *x = ShowCmdArgs{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (m *CliConfigReply) GetErrors() string { - if m != nil { - return m.Errors - } - return "" +func (x *ShowCmdArgs) String() string { + return protoimpl.X.MessageStringOf(x) } -type CommitReplaceArgs struct { - ReqId int64 `protobuf:"varint,1,opt,name=ReqId" json:"ReqId,omitempty"` - Cli string `protobuf:"bytes,2,opt,name=cli" json:"cli,omitempty"` - Yangjson string `protobuf:"bytes,3,opt,name=yangjson" json:"yangjson,omitempty"` +func (*ShowCmdArgs) ProtoMessage() {} + +func (x *ShowCmdArgs) ProtoReflect() protoreflect.Message { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -func (m *CommitReplaceArgs) Reset() { *m = CommitReplaceArgs{} } -func (m *CommitReplaceArgs) String() string { return proto.CompactTextString(m) } -func (*CommitReplaceArgs) ProtoMessage() {} -func (*CommitReplaceArgs) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } +// Deprecated: Use ShowCmdArgs.ProtoReflect.Descriptor instead. +func (*ShowCmdArgs) Descriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{14} +} -func (m *CommitReplaceArgs) GetReqId() int64 { - if m != nil { - return m.ReqId +func (x *ShowCmdArgs) GetReqId() int64 { + if x != nil { + return x.ReqId } return 0 } -func (m *CommitReplaceArgs) GetCli() string { - if m != nil { - return m.Cli +func (x *ShowCmdArgs) GetCli() string { + if x != nil { + return x.Cli } return "" } -func (m *CommitReplaceArgs) GetYangjson() string { - if m != nil { - return m.Yangjson +type ShowCmdTextReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ResReqId int64 `protobuf:"varint,1,opt,name=ResReqId,proto3" json:"ResReqId,omitempty"` + Output string `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"` + Errors string `protobuf:"bytes,3,opt,name=errors,proto3" json:"errors,omitempty"` +} + +func (x *ShowCmdTextReply) Reset() { + *x = ShowCmdTextReply{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -type CommitReplaceReply struct { - ResReqId int64 `protobuf:"varint,1,opt,name=ResReqId" json:"ResReqId,omitempty"` - Errors string `protobuf:"bytes,2,opt,name=errors" json:"errors,omitempty"` +func (x *ShowCmdTextReply) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *CommitReplaceReply) Reset() { *m = CommitReplaceReply{} } -func (m *CommitReplaceReply) String() string { return proto.CompactTextString(m) } -func (*CommitReplaceReply) ProtoMessage() {} -func (*CommitReplaceReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } +func (*ShowCmdTextReply) ProtoMessage() {} -func (m *CommitReplaceReply) GetResReqId() int64 { - if m != nil { - return m.ResReqId +func (x *ShowCmdTextReply) ProtoReflect() protoreflect.Message { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (m *CommitReplaceReply) GetErrors() string { - if m != nil { - return m.Errors - } - return "" +// Deprecated: Use ShowCmdTextReply.ProtoReflect.Descriptor instead. +func (*ShowCmdTextReply) Descriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{15} } -type CommitMsg struct { - Label string `protobuf:"bytes,1,opt,name=label" json:"label,omitempty"` - Comment string `protobuf:"bytes,2,opt,name=comment" json:"comment,omitempty"` +func (x *ShowCmdTextReply) GetResReqId() int64 { + if x != nil { + return x.ResReqId + } + return 0 } -func (m *CommitMsg) Reset() { *m = CommitMsg{} } -func (m *CommitMsg) String() string { return proto.CompactTextString(m) } -func (*CommitMsg) ProtoMessage() {} -func (*CommitMsg) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} } - -func (m *CommitMsg) GetLabel() string { - if m != nil { - return m.Label +func (x *ShowCmdTextReply) GetOutput() string { + if x != nil { + return x.Output } return "" } -func (m *CommitMsg) GetComment() string { - if m != nil { - return m.Comment +func (x *ShowCmdTextReply) GetErrors() string { + if x != nil { + return x.Errors } return "" } -type CommitArgs struct { - Msg *CommitMsg `protobuf:"bytes,1,opt,name=msg" json:"msg,omitempty"` - ReqId int64 `protobuf:"varint,2,opt,name=ReqId" json:"ReqId,omitempty"` -} - -func (m *CommitArgs) Reset() { *m = CommitArgs{} } -func (m *CommitArgs) String() string { return proto.CompactTextString(m) } -func (*CommitArgs) ProtoMessage() {} -func (*CommitArgs) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} } +type ShowCmdJSONReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *CommitArgs) GetMsg() *CommitMsg { - if m != nil { - return m.Msg - } - return nil + ResReqId int64 `protobuf:"varint,1,opt,name=ResReqId,proto3" json:"ResReqId,omitempty"` + Jsonoutput string `protobuf:"bytes,2,opt,name=jsonoutput,proto3" json:"jsonoutput,omitempty"` + Errors string `protobuf:"bytes,3,opt,name=errors,proto3" json:"errors,omitempty"` } -func (m *CommitArgs) GetReqId() int64 { - if m != nil { - return m.ReqId +func (x *ShowCmdJSONReply) Reset() { + *x = ShowCmdJSONReply{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -type CommitReply struct { - Result CommitResult `protobuf:"varint,1,opt,name=result,enum=IOSXRExtensibleManagabilityService.CommitResult" json:"result,omitempty"` - ResReqId int64 `protobuf:"varint,2,opt,name=ResReqId" json:"ResReqId,omitempty"` - Errors string `protobuf:"bytes,3,opt,name=errors" json:"errors,omitempty"` +func (x *ShowCmdJSONReply) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *CommitReply) Reset() { *m = CommitReply{} } -func (m *CommitReply) String() string { return proto.CompactTextString(m) } -func (*CommitReply) ProtoMessage() {} -func (*CommitReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} } +func (*ShowCmdJSONReply) ProtoMessage() {} -func (m *CommitReply) GetResult() CommitResult { - if m != nil { - return m.Result +func (x *ShowCmdJSONReply) ProtoReflect() protoreflect.Message { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return CommitResult_CHANGE + return mi.MessageOf(x) } -func (m *CommitReply) GetResReqId() int64 { - if m != nil { - return m.ResReqId +// Deprecated: Use ShowCmdJSONReply.ProtoReflect.Descriptor instead. +func (*ShowCmdJSONReply) Descriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{16} +} + +func (x *ShowCmdJSONReply) GetResReqId() int64 { + if x != nil { + return x.ResReqId } return 0 } -func (m *CommitReply) GetErrors() string { - if m != nil { - return m.Errors +func (x *ShowCmdJSONReply) GetJsonoutput() string { + if x != nil { + return x.Jsonoutput } return "" } -type DiscardChangesArgs struct { - ReqId int64 `protobuf:"varint,1,opt,name=ReqId" json:"ReqId,omitempty"` +func (x *ShowCmdJSONReply) GetErrors() string { + if x != nil { + return x.Errors + } + return "" } -func (m *DiscardChangesArgs) Reset() { *m = DiscardChangesArgs{} } -func (m *DiscardChangesArgs) String() string { return proto.CompactTextString(m) } -func (*DiscardChangesArgs) ProtoMessage() {} -func (*DiscardChangesArgs) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} } +type CreateSubsArgs struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ReqId int64 `protobuf:"varint,1,opt,name=ReqId,proto3" json:"ReqId,omitempty"` + Encode int64 `protobuf:"varint,2,opt,name=encode,proto3" json:"encode,omitempty"` + Subidstr string `protobuf:"bytes,3,opt,name=subidstr,proto3" json:"subidstr,omitempty"` +} -func (m *DiscardChangesArgs) GetReqId() int64 { - if m != nil { - return m.ReqId +func (x *CreateSubsArgs) Reset() { + *x = CreateSubsArgs{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -type DiscardChangesReply struct { - ResReqId int64 `protobuf:"varint,1,opt,name=ResReqId" json:"ResReqId,omitempty"` - Errors string `protobuf:"bytes,2,opt,name=errors" json:"errors,omitempty"` +func (x *CreateSubsArgs) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *DiscardChangesReply) Reset() { *m = DiscardChangesReply{} } -func (m *DiscardChangesReply) String() string { return proto.CompactTextString(m) } -func (*DiscardChangesReply) ProtoMessage() {} -func (*DiscardChangesReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} } +func (*CreateSubsArgs) ProtoMessage() {} -func (m *DiscardChangesReply) GetResReqId() int64 { - if m != nil { - return m.ResReqId +func (x *CreateSubsArgs) ProtoReflect() protoreflect.Message { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (m *DiscardChangesReply) GetErrors() string { - if m != nil { - return m.Errors - } - return "" +// Deprecated: Use CreateSubsArgs.ProtoReflect.Descriptor instead. +func (*CreateSubsArgs) Descriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{17} } -type ShowCmdArgs struct { - ReqId int64 `protobuf:"varint,1,opt,name=ReqId" json:"ReqId,omitempty"` - Cli string `protobuf:"bytes,2,opt,name=cli" json:"cli,omitempty"` +func (x *CreateSubsArgs) GetReqId() int64 { + if x != nil { + return x.ReqId + } + return 0 } -func (m *ShowCmdArgs) Reset() { *m = ShowCmdArgs{} } -func (m *ShowCmdArgs) String() string { return proto.CompactTextString(m) } -func (*ShowCmdArgs) ProtoMessage() {} -func (*ShowCmdArgs) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} } - -func (m *ShowCmdArgs) GetReqId() int64 { - if m != nil { - return m.ReqId +func (x *CreateSubsArgs) GetEncode() int64 { + if x != nil { + return x.Encode } return 0 } -func (m *ShowCmdArgs) GetCli() string { - if m != nil { - return m.Cli +func (x *CreateSubsArgs) GetSubidstr() string { + if x != nil { + return x.Subidstr } return "" } -type ShowCmdTextReply struct { - ResReqId int64 `protobuf:"varint,1,opt,name=ResReqId" json:"ResReqId,omitempty"` - Output string `protobuf:"bytes,2,opt,name=output" json:"output,omitempty"` - Errors string `protobuf:"bytes,3,opt,name=errors" json:"errors,omitempty"` -} +type CreateSubsReply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *ShowCmdTextReply) Reset() { *m = ShowCmdTextReply{} } -func (m *ShowCmdTextReply) String() string { return proto.CompactTextString(m) } -func (*ShowCmdTextReply) ProtoMessage() {} -func (*ShowCmdTextReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} } + ResReqId int64 `protobuf:"varint,1,opt,name=ResReqId,proto3" json:"ResReqId,omitempty"` + Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` + Errors string `protobuf:"bytes,3,opt,name=errors,proto3" json:"errors,omitempty"` +} -func (m *ShowCmdTextReply) GetResReqId() int64 { - if m != nil { - return m.ResReqId +func (x *CreateSubsReply) Reset() { + *x = CreateSubsReply{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (m *ShowCmdTextReply) GetOutput() string { - if m != nil { - return m.Output - } - return "" +func (x *CreateSubsReply) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ShowCmdTextReply) GetErrors() string { - if m != nil { - return m.Errors +func (*CreateSubsReply) ProtoMessage() {} + +func (x *CreateSubsReply) ProtoReflect() protoreflect.Message { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -type ShowCmdJSONReply struct { - ResReqId int64 `protobuf:"varint,1,opt,name=ResReqId" json:"ResReqId,omitempty"` - Jsonoutput string `protobuf:"bytes,2,opt,name=jsonoutput" json:"jsonoutput,omitempty"` - Errors string `protobuf:"bytes,3,opt,name=errors" json:"errors,omitempty"` +// Deprecated: Use CreateSubsReply.ProtoReflect.Descriptor instead. +func (*CreateSubsReply) Descriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{18} } -func (m *ShowCmdJSONReply) Reset() { *m = ShowCmdJSONReply{} } -func (m *ShowCmdJSONReply) String() string { return proto.CompactTextString(m) } -func (*ShowCmdJSONReply) ProtoMessage() {} -func (*ShowCmdJSONReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} } - -func (m *ShowCmdJSONReply) GetResReqId() int64 { - if m != nil { - return m.ResReqId +func (x *CreateSubsReply) GetResReqId() int64 { + if x != nil { + return x.ResReqId } return 0 } -func (m *ShowCmdJSONReply) GetJsonoutput() string { - if m != nil { - return m.Jsonoutput +func (x *CreateSubsReply) GetData() []byte { + if x != nil { + return x.Data } - return "" + return nil } -func (m *ShowCmdJSONReply) GetErrors() string { - if m != nil { - return m.Errors +func (x *CreateSubsReply) GetErrors() string { + if x != nil { + return x.Errors } return "" } -type CreateSubsArgs struct { - ReqId int64 `protobuf:"varint,1,opt,name=ReqId" json:"ReqId,omitempty"` - Encode int64 `protobuf:"varint,2,opt,name=encode" json:"encode,omitempty"` - Subidstr string `protobuf:"bytes,3,opt,name=subidstr" json:"subidstr,omitempty"` -} +type SubscribeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *CreateSubsArgs) Reset() { *m = CreateSubsArgs{} } -func (m *CreateSubsArgs) String() string { return proto.CompactTextString(m) } -func (*CreateSubsArgs) ProtoMessage() {} -func (*CreateSubsArgs) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} } + ReqId int64 `protobuf:"varint,1,opt,name=ReqId,proto3" json:"ReqId,omitempty"` + // Types that are assignable to Request: + // *SubscribeRequest_Subscribe + Request isSubscribeRequest_Request `protobuf_oneof:"request"` +} -func (m *CreateSubsArgs) GetReqId() int64 { - if m != nil { - return m.ReqId +func (x *SubscribeRequest) Reset() { + *x = SubscribeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (m *CreateSubsArgs) GetEncode() int64 { - if m != nil { - return m.Encode - } - return 0 +func (x *SubscribeRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *CreateSubsArgs) GetSubidstr() string { - if m != nil { - return m.Subidstr +func (*SubscribeRequest) ProtoMessage() {} + +func (x *SubscribeRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -type CreateSubsReply struct { - ResReqId int64 `protobuf:"varint,1,opt,name=ResReqId" json:"ResReqId,omitempty"` - Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` - Errors string `protobuf:"bytes,3,opt,name=errors" json:"errors,omitempty"` +// Deprecated: Use SubscribeRequest.ProtoReflect.Descriptor instead. +func (*SubscribeRequest) Descriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{19} } -func (m *CreateSubsReply) Reset() { *m = CreateSubsReply{} } -func (m *CreateSubsReply) String() string { return proto.CompactTextString(m) } -func (*CreateSubsReply) ProtoMessage() {} -func (*CreateSubsReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} } - -func (m *CreateSubsReply) GetResReqId() int64 { - if m != nil { - return m.ResReqId +func (x *SubscribeRequest) GetReqId() int64 { + if x != nil { + return x.ReqId } return 0 } -func (m *CreateSubsReply) GetData() []byte { +func (m *SubscribeRequest) GetRequest() isSubscribeRequest_Request { if m != nil { - return m.Data + return m.Request } return nil } -func (m *CreateSubsReply) GetErrors() string { - if m != nil { - return m.Errors +func (x *SubscribeRequest) GetSubscribe() *SubscriptionList { + if x, ok := x.GetRequest().(*SubscribeRequest_Subscribe); ok { + return x.Subscribe } - return "" + return nil } -type ActionJSONArgs struct { - ReqId int64 `protobuf:"varint,1,opt,name=ReqId" json:"ReqId,omitempty"` - Yangpathjson string `protobuf:"bytes,2,opt,name=yangpathjson" json:"yangpathjson,omitempty"` +type isSubscribeRequest_Request interface { + isSubscribeRequest_Request() } -func (m *ActionJSONArgs) Reset() { *m = ActionJSONArgs{} } -func (m *ActionJSONArgs) String() string { return proto.CompactTextString(m) } -func (*ActionJSONArgs) ProtoMessage() {} -func (*ActionJSONArgs) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} } +type SubscribeRequest_Subscribe struct { + Subscribe *SubscriptionList `protobuf:"bytes,2,opt,name=subscribe,proto3,oneof"` +} -func (m *ActionJSONArgs) GetReqId() int64 { - if m != nil { - return m.ReqId - } - return 0 +func (*SubscribeRequest_Subscribe) isSubscribeRequest_Request() {} + +type TelemetryStreamDestination struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DestinationAddress string `protobuf:"bytes,1,opt,name=destination_address,json=destinationAddress,proto3" json:"destination_address,omitempty"` + DestinationPort uint32 `protobuf:"varint,2,opt,name=destination_port,json=destinationPort,proto3" json:"destination_port,omitempty"` + TelemetryStreamProtocol TelemetryStreamDestination_TSP `protobuf:"varint,3,opt,name=telemetry_stream_protocol,json=telemetryStreamProtocol,proto3,enum=IOSXRExtensibleManagabilityService.TelemetryStreamDestination_TSP" json:"telemetry_stream_protocol,omitempty"` } -func (m *ActionJSONArgs) GetYangpathjson() string { - if m != nil { - return m.Yangpathjson +func (x *TelemetryStreamDestination) Reset() { + *x = TelemetryStreamDestination{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -type ActionJSONReply struct { - ResReqId int64 `protobuf:"varint,1,opt,name=ResReqId" json:"ResReqId,omitempty"` - Yangjson string `protobuf:"bytes,2,opt,name=yangjson" json:"yangjson,omitempty"` - Errors string `protobuf:"bytes,3,opt,name=errors" json:"errors,omitempty"` +func (x *TelemetryStreamDestination) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *ActionJSONReply) Reset() { *m = ActionJSONReply{} } -func (m *ActionJSONReply) String() string { return proto.CompactTextString(m) } -func (*ActionJSONReply) ProtoMessage() {} -func (*ActionJSONReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} } +func (*TelemetryStreamDestination) ProtoMessage() {} -func (m *ActionJSONReply) GetResReqId() int64 { - if m != nil { - return m.ResReqId +func (x *TelemetryStreamDestination) ProtoReflect() protoreflect.Message { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (m *ActionJSONReply) GetYangjson() string { - if m != nil { - return m.Yangjson +// Deprecated: Use TelemetryStreamDestination.ProtoReflect.Descriptor instead. +func (*TelemetryStreamDestination) Descriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{20} +} + +func (x *TelemetryStreamDestination) GetDestinationAddress() string { + if x != nil { + return x.DestinationAddress } return "" } -func (m *ActionJSONReply) GetErrors() string { - if m != nil { - return m.Errors +func (x *TelemetryStreamDestination) GetDestinationPort() uint32 { + if x != nil { + return x.DestinationPort } - return "" + return 0 } -func init() { - proto.RegisterType((*ConfigGetArgs)(nil), "IOSXRExtensibleManagabilityService.ConfigGetArgs") - proto.RegisterType((*ConfigGetReply)(nil), "IOSXRExtensibleManagabilityService.ConfigGetReply") - proto.RegisterType((*GetOperArgs)(nil), "IOSXRExtensibleManagabilityService.GetOperArgs") - proto.RegisterType((*GetOperReply)(nil), "IOSXRExtensibleManagabilityService.GetOperReply") - proto.RegisterType((*ConfigArgs)(nil), "IOSXRExtensibleManagabilityService.ConfigArgs") - proto.RegisterType((*ConfigReply)(nil), "IOSXRExtensibleManagabilityService.ConfigReply") - proto.RegisterType((*CliConfigArgs)(nil), "IOSXRExtensibleManagabilityService.CliConfigArgs") - proto.RegisterType((*CliConfigReply)(nil), "IOSXRExtensibleManagabilityService.CliConfigReply") - proto.RegisterType((*CommitReplaceArgs)(nil), "IOSXRExtensibleManagabilityService.CommitReplaceArgs") - proto.RegisterType((*CommitReplaceReply)(nil), "IOSXRExtensibleManagabilityService.CommitReplaceReply") - proto.RegisterType((*CommitMsg)(nil), "IOSXRExtensibleManagabilityService.CommitMsg") - proto.RegisterType((*CommitArgs)(nil), "IOSXRExtensibleManagabilityService.CommitArgs") - proto.RegisterType((*CommitReply)(nil), "IOSXRExtensibleManagabilityService.CommitReply") - proto.RegisterType((*DiscardChangesArgs)(nil), "IOSXRExtensibleManagabilityService.DiscardChangesArgs") - proto.RegisterType((*DiscardChangesReply)(nil), "IOSXRExtensibleManagabilityService.DiscardChangesReply") - proto.RegisterType((*ShowCmdArgs)(nil), "IOSXRExtensibleManagabilityService.ShowCmdArgs") - proto.RegisterType((*ShowCmdTextReply)(nil), "IOSXRExtensibleManagabilityService.ShowCmdTextReply") - proto.RegisterType((*ShowCmdJSONReply)(nil), "IOSXRExtensibleManagabilityService.ShowCmdJSONReply") - proto.RegisterType((*CreateSubsArgs)(nil), "IOSXRExtensibleManagabilityService.CreateSubsArgs") - proto.RegisterType((*CreateSubsReply)(nil), "IOSXRExtensibleManagabilityService.CreateSubsReply") - proto.RegisterType((*ActionJSONArgs)(nil), "IOSXRExtensibleManagabilityService.ActionJSONArgs") - proto.RegisterType((*ActionJSONReply)(nil), "IOSXRExtensibleManagabilityService.ActionJSONReply") - proto.RegisterEnum("IOSXRExtensibleManagabilityService.CommitResult", CommitResult_name, CommitResult_value) +func (x *TelemetryStreamDestination) GetTelemetryStreamProtocol() TelemetryStreamDestination_TSP { + if x != nil { + return x.TelemetryStreamProtocol + } + return TelemetryStreamDestination_TSP_TCP } -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConn +type TelemetryPath struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion4 + Path string `protobuf:"bytes,1,opt,name=Path,proto3" json:"Path,omitempty"` +} -// Client API for GRPCConfigOper service +func (x *TelemetryPath) Reset() { + *x = TelemetryPath{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} -type GRPCConfigOperClient interface { - GetConfig(ctx context.Context, in *ConfigGetArgs, opts ...grpc.CallOption) (GRPCConfigOper_GetConfigClient, error) - MergeConfig(ctx context.Context, in *ConfigArgs, opts ...grpc.CallOption) (*ConfigReply, error) - DeleteConfig(ctx context.Context, in *ConfigArgs, opts ...grpc.CallOption) (*ConfigReply, error) - ReplaceConfig(ctx context.Context, in *ConfigArgs, opts ...grpc.CallOption) (*ConfigReply, error) - CliConfig(ctx context.Context, in *CliConfigArgs, opts ...grpc.CallOption) (*CliConfigReply, error) - CommitReplace(ctx context.Context, in *CommitReplaceArgs, opts ...grpc.CallOption) (*CommitReplaceReply, error) - // Do we need implicit or explicit commit - // - CommitConfig(ctx context.Context, in *CommitArgs, opts ...grpc.CallOption) (*CommitReply, error) - ConfigDiscardChanges(ctx context.Context, in *DiscardChangesArgs, opts ...grpc.CallOption) (*DiscardChangesReply, error) - // Get only returns oper data - // - GetOper(ctx context.Context, in *GetOperArgs, opts ...grpc.CallOption) (GRPCConfigOper_GetOperClient, error) - // Get Telemetry Data - CreateSubs(ctx context.Context, in *CreateSubsArgs, opts ...grpc.CallOption) (GRPCConfigOper_CreateSubsClient, error) +func (x *TelemetryPath) String() string { + return protoimpl.X.MessageStringOf(x) } -type gRPCConfigOperClient struct { - cc *grpc.ClientConn +func (*TelemetryPath) ProtoMessage() {} + +func (x *TelemetryPath) ProtoReflect() protoreflect.Message { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -func NewGRPCConfigOperClient(cc *grpc.ClientConn) GRPCConfigOperClient { - return &gRPCConfigOperClient{cc} +// Deprecated: Use TelemetryPath.ProtoReflect.Descriptor instead. +func (*TelemetryPath) Descriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{21} } -func (c *gRPCConfigOperClient) GetConfig(ctx context.Context, in *ConfigGetArgs, opts ...grpc.CallOption) (GRPCConfigOper_GetConfigClient, error) { - stream, err := grpc.NewClientStream(ctx, &_GRPCConfigOper_serviceDesc.Streams[0], c.cc, "/IOSXRExtensibleManagabilityService.gRPCConfigOper/GetConfig", opts...) - if err != nil { - return nil, err +func (x *TelemetryPath) GetPath() string { + if x != nil { + return x.Path } - x := &gRPCConfigOperGetConfigClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil + return "" } -type GRPCConfigOper_GetConfigClient interface { - Recv() (*ConfigGetReply, error) - grpc.ClientStream -} +type SubscriptionList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -type gRPCConfigOperGetConfigClient struct { - grpc.ClientStream + TelemetryStreamDestinations []*TelemetryStreamDestination `protobuf:"bytes,1,rep,name=TelemetryStreamDestinations,proto3" json:"TelemetryStreamDestinations,omitempty"` + TelemetryPaths []*TelemetryPath `protobuf:"bytes,2,rep,name=TelemetryPaths,proto3" json:"TelemetryPaths,omitempty"` + SampleInterval uint64 `protobuf:"varint,3,opt,name=sample_interval,json=sampleInterval,proto3" json:"sample_interval,omitempty"` + Encoding SubscriptionList_ENC_SPEC `protobuf:"varint,4,opt,name=encoding,proto3,enum=IOSXRExtensibleManagabilityService.SubscriptionList_ENC_SPEC" json:"encoding,omitempty"` } -func (x *gRPCConfigOperGetConfigClient) Recv() (*ConfigGetReply, error) { - m := new(ConfigGetReply) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err +func (x *SubscriptionList) Reset() { + *x = SubscriptionList{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return m, nil } -func (c *gRPCConfigOperClient) MergeConfig(ctx context.Context, in *ConfigArgs, opts ...grpc.CallOption) (*ConfigReply, error) { - out := new(ConfigReply) - err := grpc.Invoke(ctx, "/IOSXRExtensibleManagabilityService.gRPCConfigOper/MergeConfig", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil +func (x *SubscriptionList) String() string { + return protoimpl.X.MessageStringOf(x) } -func (c *gRPCConfigOperClient) DeleteConfig(ctx context.Context, in *ConfigArgs, opts ...grpc.CallOption) (*ConfigReply, error) { - out := new(ConfigReply) - err := grpc.Invoke(ctx, "/IOSXRExtensibleManagabilityService.gRPCConfigOper/DeleteConfig", in, out, c.cc, opts...) - if err != nil { - return nil, err +func (*SubscriptionList) ProtoMessage() {} + +func (x *SubscriptionList) ProtoReflect() protoreflect.Message { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return out, nil + return mi.MessageOf(x) } -func (c *gRPCConfigOperClient) ReplaceConfig(ctx context.Context, in *ConfigArgs, opts ...grpc.CallOption) (*ConfigReply, error) { - out := new(ConfigReply) - err := grpc.Invoke(ctx, "/IOSXRExtensibleManagabilityService.gRPCConfigOper/ReplaceConfig", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil +// Deprecated: Use SubscriptionList.ProtoReflect.Descriptor instead. +func (*SubscriptionList) Descriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{22} } -func (c *gRPCConfigOperClient) CliConfig(ctx context.Context, in *CliConfigArgs, opts ...grpc.CallOption) (*CliConfigReply, error) { - out := new(CliConfigReply) - err := grpc.Invoke(ctx, "/IOSXRExtensibleManagabilityService.gRPCConfigOper/CliConfig", in, out, c.cc, opts...) - if err != nil { - return nil, err +func (x *SubscriptionList) GetTelemetryStreamDestinations() []*TelemetryStreamDestination { + if x != nil { + return x.TelemetryStreamDestinations } - return out, nil + return nil } -func (c *gRPCConfigOperClient) CommitReplace(ctx context.Context, in *CommitReplaceArgs, opts ...grpc.CallOption) (*CommitReplaceReply, error) { - out := new(CommitReplaceReply) - err := grpc.Invoke(ctx, "/IOSXRExtensibleManagabilityService.gRPCConfigOper/CommitReplace", in, out, c.cc, opts...) - if err != nil { - return nil, err +func (x *SubscriptionList) GetTelemetryPaths() []*TelemetryPath { + if x != nil { + return x.TelemetryPaths } - return out, nil + return nil } -func (c *gRPCConfigOperClient) CommitConfig(ctx context.Context, in *CommitArgs, opts ...grpc.CallOption) (*CommitReply, error) { - out := new(CommitReply) - err := grpc.Invoke(ctx, "/IOSXRExtensibleManagabilityService.gRPCConfigOper/CommitConfig", in, out, c.cc, opts...) - if err != nil { - return nil, err +func (x *SubscriptionList) GetSampleInterval() uint64 { + if x != nil { + return x.SampleInterval } - return out, nil + return 0 } -func (c *gRPCConfigOperClient) ConfigDiscardChanges(ctx context.Context, in *DiscardChangesArgs, opts ...grpc.CallOption) (*DiscardChangesReply, error) { - out := new(DiscardChangesReply) - err := grpc.Invoke(ctx, "/IOSXRExtensibleManagabilityService.gRPCConfigOper/ConfigDiscardChanges", in, out, c.cc, opts...) - if err != nil { - return nil, err +func (x *SubscriptionList) GetEncoding() SubscriptionList_ENC_SPEC { + if x != nil { + return x.Encoding } - return out, nil + return SubscriptionList_ENC_KV_GPB } -func (c *gRPCConfigOperClient) GetOper(ctx context.Context, in *GetOperArgs, opts ...grpc.CallOption) (GRPCConfigOper_GetOperClient, error) { - stream, err := grpc.NewClientStream(ctx, &_GRPCConfigOper_serviceDesc.Streams[1], c.cc, "/IOSXRExtensibleManagabilityService.gRPCConfigOper/GetOper", opts...) - if err != nil { - return nil, err - } - x := &gRPCConfigOperGetOperClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil +type StatusResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MessageJson string `protobuf:"bytes,1,opt,name=message_json,json=messageJson,proto3" json:"message_json,omitempty"` + Code OC_RPC_RESPONSE_TYPE `protobuf:"varint,2,opt,name=code,proto3,enum=IOSXRExtensibleManagabilityService.OC_RPC_RESPONSE_TYPE" json:"code,omitempty"` } -type GRPCConfigOper_GetOperClient interface { - Recv() (*GetOperReply, error) - grpc.ClientStream +func (x *StatusResponse) Reset() { + *x = StatusResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -type gRPCConfigOperGetOperClient struct { - grpc.ClientStream +func (x *StatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *gRPCConfigOperGetOperClient) Recv() (*GetOperReply, error) { - m := new(GetOperReply) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err +func (*StatusResponse) ProtoMessage() {} + +func (x *StatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return m, nil + return mi.MessageOf(x) } -func (c *gRPCConfigOperClient) CreateSubs(ctx context.Context, in *CreateSubsArgs, opts ...grpc.CallOption) (GRPCConfigOper_CreateSubsClient, error) { - stream, err := grpc.NewClientStream(ctx, &_GRPCConfigOper_serviceDesc.Streams[2], c.cc, "/IOSXRExtensibleManagabilityService.gRPCConfigOper/CreateSubs", opts...) - if err != nil { - return nil, err - } - x := &gRPCConfigOperCreateSubsClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err +// Deprecated: Use StatusResponse.ProtoReflect.Descriptor instead. +func (*StatusResponse) Descriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{23} +} + +func (x *StatusResponse) GetMessageJson() string { + if x != nil { + return x.MessageJson } - return x, nil + return "" } -type GRPCConfigOper_CreateSubsClient interface { - Recv() (*CreateSubsReply, error) - grpc.ClientStream +func (x *StatusResponse) GetCode() OC_RPC_RESPONSE_TYPE { + if x != nil { + return x.Code + } + return OC_RPC_RESPONSE_TYPE_OK } -type gRPCConfigOperCreateSubsClient struct { - grpc.ClientStream +type Notification struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` } -func (x *gRPCConfigOperCreateSubsClient) Recv() (*CreateSubsReply, error) { - m := new(CreateSubsReply) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err +func (x *Notification) Reset() { + *x = Notification{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return m, nil } -// Server API for GRPCConfigOper service +func (x *Notification) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Notification) ProtoMessage() {} -type GRPCConfigOperServer interface { - GetConfig(*ConfigGetArgs, GRPCConfigOper_GetConfigServer) error - MergeConfig(context.Context, *ConfigArgs) (*ConfigReply, error) - DeleteConfig(context.Context, *ConfigArgs) (*ConfigReply, error) - ReplaceConfig(context.Context, *ConfigArgs) (*ConfigReply, error) - CliConfig(context.Context, *CliConfigArgs) (*CliConfigReply, error) - CommitReplace(context.Context, *CommitReplaceArgs) (*CommitReplaceReply, error) - // Do we need implicit or explicit commit - // - CommitConfig(context.Context, *CommitArgs) (*CommitReply, error) - ConfigDiscardChanges(context.Context, *DiscardChangesArgs) (*DiscardChangesReply, error) - // Get only returns oper data - // - GetOper(*GetOperArgs, GRPCConfigOper_GetOperServer) error - // Get Telemetry Data - CreateSubs(*CreateSubsArgs, GRPCConfigOper_CreateSubsServer) error +func (x *Notification) ProtoReflect() protoreflect.Message { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -func RegisterGRPCConfigOperServer(s *grpc.Server, srv GRPCConfigOperServer) { - s.RegisterService(&_GRPCConfigOper_serviceDesc, srv) +// Deprecated: Use Notification.ProtoReflect.Descriptor instead. +func (*Notification) Descriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{24} } -func _GRPCConfigOper_GetConfig_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(ConfigGetArgs) - if err := stream.RecvMsg(m); err != nil { - return err +func (x *Notification) GetData() []byte { + if x != nil { + return x.Data } - return srv.(GRPCConfigOperServer).GetConfig(m, &gRPCConfigOperGetConfigServer{stream}) + return nil } -type GRPCConfigOper_GetConfigServer interface { - Send(*ConfigGetReply) error - grpc.ServerStream +type SubscribeResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ResReqId int64 `protobuf:"varint,1,opt,name=ResReqId,proto3" json:"ResReqId,omitempty"` + SubscriptionId uint64 `protobuf:"varint,2,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"` + // Types that are assignable to Response: + // *SubscribeResponse_Update + // *SubscribeResponse_Status + Response isSubscribeResponse_Response `protobuf_oneof:"response"` } -type gRPCConfigOperGetConfigServer struct { - grpc.ServerStream +func (x *SubscribeResponse) Reset() { + *x = SubscribeResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (x *gRPCConfigOperGetConfigServer) Send(m *ConfigGetReply) error { - return x.ServerStream.SendMsg(m) +func (x *SubscribeResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func _GRPCConfigOper_MergeConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ConfigArgs) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GRPCConfigOperServer).MergeConfig(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/IOSXRExtensibleManagabilityService.gRPCConfigOper/MergeConfig", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GRPCConfigOperServer).MergeConfig(ctx, req.(*ConfigArgs)) +func (*SubscribeResponse) ProtoMessage() {} + +func (x *SubscribeResponse) ProtoReflect() protoreflect.Message { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return interceptor(ctx, in, info, handler) + return mi.MessageOf(x) } -func _GRPCConfigOper_DeleteConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ConfigArgs) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GRPCConfigOperServer).DeleteConfig(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/IOSXRExtensibleManagabilityService.gRPCConfigOper/DeleteConfig", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GRPCConfigOperServer).DeleteConfig(ctx, req.(*ConfigArgs)) - } - return interceptor(ctx, in, info, handler) +// Deprecated: Use SubscribeResponse.ProtoReflect.Descriptor instead. +func (*SubscribeResponse) Descriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{25} } -func _GRPCConfigOper_ReplaceConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ConfigArgs) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GRPCConfigOperServer).ReplaceConfig(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/IOSXRExtensibleManagabilityService.gRPCConfigOper/ReplaceConfig", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GRPCConfigOperServer).ReplaceConfig(ctx, req.(*ConfigArgs)) +func (x *SubscribeResponse) GetResReqId() int64 { + if x != nil { + return x.ResReqId } - return interceptor(ctx, in, info, handler) + return 0 } -func _GRPCConfigOper_CliConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CliConfigArgs) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GRPCConfigOperServer).CliConfig(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/IOSXRExtensibleManagabilityService.gRPCConfigOper/CliConfig", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GRPCConfigOperServer).CliConfig(ctx, req.(*CliConfigArgs)) +func (x *SubscribeResponse) GetSubscriptionId() uint64 { + if x != nil { + return x.SubscriptionId } - return interceptor(ctx, in, info, handler) + return 0 } -func _GRPCConfigOper_CommitReplace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CommitReplaceArgs) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GRPCConfigOperServer).CommitReplace(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/IOSXRExtensibleManagabilityService.gRPCConfigOper/CommitReplace", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GRPCConfigOperServer).CommitReplace(ctx, req.(*CommitReplaceArgs)) +func (m *SubscribeResponse) GetResponse() isSubscribeResponse_Response { + if m != nil { + return m.Response } - return interceptor(ctx, in, info, handler) + return nil } -func _GRPCConfigOper_CommitConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CommitArgs) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GRPCConfigOperServer).CommitConfig(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/IOSXRExtensibleManagabilityService.gRPCConfigOper/CommitConfig", +func (x *SubscribeResponse) GetUpdate() *Notification { + if x, ok := x.GetResponse().(*SubscribeResponse_Update); ok { + return x.Update } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GRPCConfigOperServer).CommitConfig(ctx, req.(*CommitArgs)) - } - return interceptor(ctx, in, info, handler) + return nil } -func _GRPCConfigOper_ConfigDiscardChanges_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DiscardChangesArgs) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GRPCConfigOperServer).ConfigDiscardChanges(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/IOSXRExtensibleManagabilityService.gRPCConfigOper/ConfigDiscardChanges", +func (x *SubscribeResponse) GetStatus() *StatusResponse { + if x, ok := x.GetResponse().(*SubscribeResponse_Status); ok { + return x.Status } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GRPCConfigOperServer).ConfigDiscardChanges(ctx, req.(*DiscardChangesArgs)) - } - return interceptor(ctx, in, info, handler) + return nil } -func _GRPCConfigOper_GetOper_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(GetOperArgs) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(GRPCConfigOperServer).GetOper(m, &gRPCConfigOperGetOperServer{stream}) +type isSubscribeResponse_Response interface { + isSubscribeResponse_Response() } -type GRPCConfigOper_GetOperServer interface { - Send(*GetOperReply) error - grpc.ServerStream +type SubscribeResponse_Update struct { + Update *Notification `protobuf:"bytes,3,opt,name=update,proto3,oneof"` } -type gRPCConfigOperGetOperServer struct { - grpc.ServerStream +type SubscribeResponse_Status struct { + Status *StatusResponse `protobuf:"bytes,4,opt,name=status,proto3,oneof"` } -func (x *gRPCConfigOperGetOperServer) Send(m *GetOperReply) error { - return x.ServerStream.SendMsg(m) +func (*SubscribeResponse_Update) isSubscribeResponse_Response() {} + +func (*SubscribeResponse_Status) isSubscribeResponse_Response() {} + +type CancelSubscribeReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ReqId int64 `protobuf:"varint,1,opt,name=ReqId,proto3" json:"ReqId,omitempty"` + SubscriptionId uint64 `protobuf:"varint,2,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"` } -func _GRPCConfigOper_CreateSubs_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(CreateSubsArgs) - if err := stream.RecvMsg(m); err != nil { - return err +func (x *CancelSubscribeReq) Reset() { + *x = CancelSubscribeReq{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return srv.(GRPCConfigOperServer).CreateSubs(m, &gRPCConfigOperCreateSubsServer{stream}) } -type GRPCConfigOper_CreateSubsServer interface { - Send(*CreateSubsReply) error - grpc.ServerStream +func (x *CancelSubscribeReq) String() string { + return protoimpl.X.MessageStringOf(x) } -type gRPCConfigOperCreateSubsServer struct { - grpc.ServerStream +func (*CancelSubscribeReq) ProtoMessage() {} + +func (x *CancelSubscribeReq) ProtoReflect() protoreflect.Message { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -func (x *gRPCConfigOperCreateSubsServer) Send(m *CreateSubsReply) error { - return x.ServerStream.SendMsg(m) +// Deprecated: Use CancelSubscribeReq.ProtoReflect.Descriptor instead. +func (*CancelSubscribeReq) Descriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{26} } -var _GRPCConfigOper_serviceDesc = grpc.ServiceDesc{ - ServiceName: "IOSXRExtensibleManagabilityService.gRPCConfigOper", - HandlerType: (*GRPCConfigOperServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "MergeConfig", - Handler: _GRPCConfigOper_MergeConfig_Handler, - }, - { - MethodName: "DeleteConfig", - Handler: _GRPCConfigOper_DeleteConfig_Handler, - }, - { - MethodName: "ReplaceConfig", - Handler: _GRPCConfigOper_ReplaceConfig_Handler, - }, - { - MethodName: "CliConfig", - Handler: _GRPCConfigOper_CliConfig_Handler, - }, - { - MethodName: "CommitReplace", - Handler: _GRPCConfigOper_CommitReplace_Handler, - }, - { - MethodName: "CommitConfig", - Handler: _GRPCConfigOper_CommitConfig_Handler, - }, - { - MethodName: "ConfigDiscardChanges", - Handler: _GRPCConfigOper_ConfigDiscardChanges_Handler, - }, - }, - Streams: []grpc.StreamDesc{ - { - StreamName: "GetConfig", - Handler: _GRPCConfigOper_GetConfig_Handler, - ServerStreams: true, - }, - { - StreamName: "GetOper", - Handler: _GRPCConfigOper_GetOper_Handler, - ServerStreams: true, - }, - { - StreamName: "CreateSubs", - Handler: _GRPCConfigOper_CreateSubs_Handler, - ServerStreams: true, - }, - }, - Metadata: "ems_grpc.proto", +func (x *CancelSubscribeReq) GetReqId() int64 { + if x != nil { + return x.ReqId + } + return 0 +} + +func (x *CancelSubscribeReq) GetSubscriptionId() uint64 { + if x != nil { + return x.SubscriptionId + } + return 0 } -// Client API for GRPCExec service +type GetModelsInput struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -type GRPCExecClient interface { - // Exec commands - ShowCmdTextOutput(ctx context.Context, in *ShowCmdArgs, opts ...grpc.CallOption) (GRPCExec_ShowCmdTextOutputClient, error) - ShowCmdJSONOutput(ctx context.Context, in *ShowCmdArgs, opts ...grpc.CallOption) (GRPCExec_ShowCmdJSONOutputClient, error) - // rpc ActionCLI(ActionCliArgs) returns(stream ActionCliReply) {}; - ActionJSON(ctx context.Context, in *ActionJSONArgs, opts ...grpc.CallOption) (GRPCExec_ActionJSONClient, error) + RequestId uint64 `protobuf:"varint,1,opt,name=requestId,proto3" json:"requestId,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Namespace string `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace,omitempty"` + Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` + RequestType GetModelsInput_MODLE_REQUEST_TYPE `protobuf:"varint,5,opt,name=requestType,proto3,enum=IOSXRExtensibleManagabilityService.GetModelsInput_MODLE_REQUEST_TYPE" json:"requestType,omitempty"` } -type gRPCExecClient struct { - cc *grpc.ClientConn +func (x *GetModelsInput) Reset() { + *x = GetModelsInput{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func NewGRPCExecClient(cc *grpc.ClientConn) GRPCExecClient { - return &gRPCExecClient{cc} +func (x *GetModelsInput) String() string { + return protoimpl.X.MessageStringOf(x) } -func (c *gRPCExecClient) ShowCmdTextOutput(ctx context.Context, in *ShowCmdArgs, opts ...grpc.CallOption) (GRPCExec_ShowCmdTextOutputClient, error) { - stream, err := grpc.NewClientStream(ctx, &_GRPCExec_serviceDesc.Streams[0], c.cc, "/IOSXRExtensibleManagabilityService.gRPCExec/ShowCmdTextOutput", opts...) - if err != nil { - return nil, err - } - x := &gRPCExecShowCmdTextOutputClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err +func (*GetModelsInput) ProtoMessage() {} + +func (x *GetModelsInput) ProtoReflect() protoreflect.Message { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return x, nil + return mi.MessageOf(x) } -type GRPCExec_ShowCmdTextOutputClient interface { - Recv() (*ShowCmdTextReply, error) - grpc.ClientStream +// Deprecated: Use GetModelsInput.ProtoReflect.Descriptor instead. +func (*GetModelsInput) Descriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{27} } -type gRPCExecShowCmdTextOutputClient struct { - grpc.ClientStream +func (x *GetModelsInput) GetRequestId() uint64 { + if x != nil { + return x.RequestId + } + return 0 } -func (x *gRPCExecShowCmdTextOutputClient) Recv() (*ShowCmdTextReply, error) { - m := new(ShowCmdTextReply) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err +func (x *GetModelsInput) GetName() string { + if x != nil { + return x.Name } - return m, nil + return "" } -func (c *gRPCExecClient) ShowCmdJSONOutput(ctx context.Context, in *ShowCmdArgs, opts ...grpc.CallOption) (GRPCExec_ShowCmdJSONOutputClient, error) { - stream, err := grpc.NewClientStream(ctx, &_GRPCExec_serviceDesc.Streams[1], c.cc, "/IOSXRExtensibleManagabilityService.gRPCExec/ShowCmdJSONOutput", opts...) - if err != nil { - return nil, err - } - x := &gRPCExecShowCmdJSONOutputClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err +func (x *GetModelsInput) GetNamespace() string { + if x != nil { + return x.Namespace } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err + return "" +} + +func (x *GetModelsInput) GetVersion() string { + if x != nil { + return x.Version } - return x, nil + return "" } -type GRPCExec_ShowCmdJSONOutputClient interface { - Recv() (*ShowCmdJSONReply, error) - grpc.ClientStream +func (x *GetModelsInput) GetRequestType() GetModelsInput_MODLE_REQUEST_TYPE { + if x != nil { + return x.RequestType + } + return GetModelsInput_SUMMARY } -type gRPCExecShowCmdJSONOutputClient struct { - grpc.ClientStream +type GetModelsOutput struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RequestId uint64 `protobuf:"varint,1,opt,name=requestId,proto3" json:"requestId,omitempty"` + Models []*GetModelsOutput_ModelInfo `protobuf:"bytes,2,rep,name=models,proto3" json:"models,omitempty"` + ResponseCode OC_RPC_RESPONSE_TYPE `protobuf:"varint,3,opt,name=responseCode,proto3,enum=IOSXRExtensibleManagabilityService.OC_RPC_RESPONSE_TYPE" json:"responseCode,omitempty"` + Msg string `protobuf:"bytes,4,opt,name=msg,proto3" json:"msg,omitempty"` } -func (x *gRPCExecShowCmdJSONOutputClient) Recv() (*ShowCmdJSONReply, error) { - m := new(ShowCmdJSONReply) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err +func (x *GetModelsOutput) Reset() { + *x = GetModelsOutput{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return m, nil } -func (c *gRPCExecClient) ActionJSON(ctx context.Context, in *ActionJSONArgs, opts ...grpc.CallOption) (GRPCExec_ActionJSONClient, error) { - stream, err := grpc.NewClientStream(ctx, &_GRPCExec_serviceDesc.Streams[2], c.cc, "/IOSXRExtensibleManagabilityService.gRPCExec/ActionJSON", opts...) - if err != nil { - return nil, err - } - x := &gRPCExecActionJSONClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil +func (x *GetModelsOutput) String() string { + return protoimpl.X.MessageStringOf(x) } -type GRPCExec_ActionJSONClient interface { - Recv() (*ActionJSONReply, error) - grpc.ClientStream +func (*GetModelsOutput) ProtoMessage() {} + +func (x *GetModelsOutput) ProtoReflect() protoreflect.Message { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -type gRPCExecActionJSONClient struct { - grpc.ClientStream +// Deprecated: Use GetModelsOutput.ProtoReflect.Descriptor instead. +func (*GetModelsOutput) Descriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{28} } -func (x *gRPCExecActionJSONClient) Recv() (*ActionJSONReply, error) { - m := new(ActionJSONReply) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err +func (x *GetModelsOutput) GetRequestId() uint64 { + if x != nil { + return x.RequestId } - return m, nil + return 0 } -// Server API for GRPCExec service - -type GRPCExecServer interface { - // Exec commands - ShowCmdTextOutput(*ShowCmdArgs, GRPCExec_ShowCmdTextOutputServer) error - ShowCmdJSONOutput(*ShowCmdArgs, GRPCExec_ShowCmdJSONOutputServer) error - // rpc ActionCLI(ActionCliArgs) returns(stream ActionCliReply) {}; - ActionJSON(*ActionJSONArgs, GRPCExec_ActionJSONServer) error +func (x *GetModelsOutput) GetModels() []*GetModelsOutput_ModelInfo { + if x != nil { + return x.Models + } + return nil } -func RegisterGRPCExecServer(s *grpc.Server, srv GRPCExecServer) { - s.RegisterService(&_GRPCExec_serviceDesc, srv) +func (x *GetModelsOutput) GetResponseCode() OC_RPC_RESPONSE_TYPE { + if x != nil { + return x.ResponseCode + } + return OC_RPC_RESPONSE_TYPE_OK } -func _GRPCExec_ShowCmdTextOutput_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(ShowCmdArgs) - if err := stream.RecvMsg(m); err != nil { - return err +func (x *GetModelsOutput) GetMsg() string { + if x != nil { + return x.Msg } - return srv.(GRPCExecServer).ShowCmdTextOutput(m, &gRPCExecShowCmdTextOutputServer{stream}) + return "" } -type GRPCExec_ShowCmdTextOutputServer interface { - Send(*ShowCmdTextReply) error - grpc.ServerStream +type GetModelsOutput_ModelInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + ModelType GET_MODEL_TYPE `protobuf:"varint,4,opt,name=modelType,proto3,enum=IOSXRExtensibleManagabilityService.GET_MODEL_TYPE" json:"modelType,omitempty"` + ModelData string `protobuf:"bytes,5,opt,name=modelData,proto3" json:"modelData,omitempty"` } -type gRPCExecShowCmdTextOutputServer struct { - grpc.ServerStream +func (x *GetModelsOutput_ModelInfo) Reset() { + *x = GetModelsOutput_ModelInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (x *gRPCExecShowCmdTextOutputServer) Send(m *ShowCmdTextReply) error { - return x.ServerStream.SendMsg(m) +func (x *GetModelsOutput_ModelInfo) String() string { + return protoimpl.X.MessageStringOf(x) } -func _GRPCExec_ShowCmdJSONOutput_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(ShowCmdArgs) - if err := stream.RecvMsg(m); err != nil { - return err +func (*GetModelsOutput_ModelInfo) ProtoMessage() {} + +func (x *GetModelsOutput_ModelInfo) ProtoReflect() protoreflect.Message { + mi := &file_proto_ems_ems_grpc_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return srv.(GRPCExecServer).ShowCmdJSONOutput(m, &gRPCExecShowCmdJSONOutputServer{stream}) + return mi.MessageOf(x) } -type GRPCExec_ShowCmdJSONOutputServer interface { - Send(*ShowCmdJSONReply) error - grpc.ServerStream +// Deprecated: Use GetModelsOutput_ModelInfo.ProtoReflect.Descriptor instead. +func (*GetModelsOutput_ModelInfo) Descriptor() ([]byte, []int) { + return file_proto_ems_ems_grpc_proto_rawDescGZIP(), []int{28, 0} } -type gRPCExecShowCmdJSONOutputServer struct { - grpc.ServerStream +func (x *GetModelsOutput_ModelInfo) GetName() string { + if x != nil { + return x.Name + } + return "" } -func (x *gRPCExecShowCmdJSONOutputServer) Send(m *ShowCmdJSONReply) error { - return x.ServerStream.SendMsg(m) +func (x *GetModelsOutput_ModelInfo) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" } -func _GRPCExec_ActionJSON_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(ActionJSONArgs) - if err := stream.RecvMsg(m); err != nil { - return err +func (x *GetModelsOutput_ModelInfo) GetVersion() string { + if x != nil { + return x.Version } - return srv.(GRPCExecServer).ActionJSON(m, &gRPCExecActionJSONServer{stream}) + return "" } -type GRPCExec_ActionJSONServer interface { - Send(*ActionJSONReply) error - grpc.ServerStream +func (x *GetModelsOutput_ModelInfo) GetModelType() GET_MODEL_TYPE { + if x != nil { + return x.ModelType + } + return GET_MODEL_TYPE_MODULE } -type gRPCExecActionJSONServer struct { - grpc.ServerStream +func (x *GetModelsOutput_ModelInfo) GetModelData() string { + if x != nil { + return x.ModelData + } + return "" } -func (x *gRPCExecActionJSONServer) Send(m *ActionJSONReply) error { - return x.ServerStream.SendMsg(m) -} +var File_proto_ems_ems_grpc_proto protoreflect.FileDescriptor + +var file_proto_ems_ems_grpc_proto_rawDesc = []byte{ + 0x0a, 0x18, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x65, 0x6d, 0x73, 0x2f, 0x65, 0x6d, 0x73, 0x5f, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x22, 0x49, 0x4f, 0x53, 0x58, + 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x49, + 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x65, 0x74, 0x41, 0x72, 0x67, 0x73, 0x12, + 0x14, 0x0a, 0x05, 0x52, 0x65, 0x71, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, + 0x52, 0x65, 0x71, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x79, 0x61, 0x6e, 0x67, 0x70, 0x61, 0x74, + 0x68, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x79, 0x61, 0x6e, + 0x67, 0x70, 0x61, 0x74, 0x68, 0x6a, 0x73, 0x6f, 0x6e, 0x22, 0x60, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x52, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x52, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x79, 0x61, 0x6e, 0x67, 0x6a, + 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x79, 0x61, 0x6e, 0x67, 0x6a, + 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x5e, 0x0a, 0x0c, 0x47, + 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x52, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x52, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x79, 0x61, 0x6e, 0x67, 0x6a, + 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x79, 0x61, 0x6e, 0x67, 0x6a, + 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x3e, 0x0a, 0x0a, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x41, 0x72, 0x67, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x65, 0x71, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x52, 0x65, 0x71, 0x49, 0x64, 0x12, + 0x1a, 0x0a, 0x08, 0x79, 0x61, 0x6e, 0x67, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x79, 0x61, 0x6e, 0x67, 0x6a, 0x73, 0x6f, 0x6e, 0x22, 0x41, 0x0a, 0x0b, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x52, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x37, + 0x0a, 0x0d, 0x43, 0x6c, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x41, 0x72, 0x67, 0x73, 0x12, + 0x14, 0x0a, 0x05, 0x52, 0x65, 0x71, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, + 0x52, 0x65, 0x71, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x6c, 0x69, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x63, 0x6c, 0x69, 0x22, 0x44, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x52, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x57, 0x0a, + 0x11, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x41, 0x72, + 0x67, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x65, 0x71, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x05, 0x52, 0x65, 0x71, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x6c, 0x69, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x6c, 0x69, 0x12, 0x1a, 0x0a, 0x08, 0x79, 0x61, + 0x6e, 0x67, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x79, 0x61, + 0x6e, 0x67, 0x6a, 0x73, 0x6f, 0x6e, 0x22, 0x48, 0x0a, 0x12, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1a, 0x0a, 0x08, + 0x52, 0x65, 0x73, 0x52, 0x65, 0x71, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, + 0x52, 0x65, 0x73, 0x52, 0x65, 0x71, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, + 0x22, 0x3b, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x14, 0x0a, + 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x63, 0x0a, + 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x41, 0x72, 0x67, 0x73, 0x12, 0x3f, 0x0a, 0x03, 0x6d, + 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x49, 0x4f, 0x53, 0x58, 0x52, + 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x14, 0x0a, 0x05, + 0x52, 0x65, 0x71, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x52, 0x65, 0x71, + 0x49, 0x64, 0x22, 0x8b, 0x01, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x12, 0x48, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x49, 0x4f, 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, + 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x52, 0x65, 0x73, 0x52, 0x65, 0x71, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, + 0x52, 0x65, 0x73, 0x52, 0x65, 0x71, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, + 0x22, 0x2a, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x73, 0x41, 0x72, 0x67, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x65, 0x71, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x52, 0x65, 0x71, 0x49, 0x64, 0x22, 0x49, 0x0a, 0x13, + 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x52, 0x65, 0x71, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x52, 0x65, 0x73, 0x52, 0x65, 0x71, 0x49, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x35, 0x0a, 0x0b, 0x53, 0x68, 0x6f, 0x77, 0x43, + 0x6d, 0x64, 0x41, 0x72, 0x67, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x65, 0x71, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x52, 0x65, 0x71, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, + 0x63, 0x6c, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x6c, 0x69, 0x22, 0x5e, + 0x0a, 0x10, 0x53, 0x68, 0x6f, 0x77, 0x43, 0x6d, 0x64, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x52, 0x65, 0x71, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x52, 0x65, 0x73, 0x52, 0x65, 0x71, 0x49, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x66, + 0x0a, 0x10, 0x53, 0x68, 0x6f, 0x77, 0x43, 0x6d, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x52, 0x65, 0x70, + 0x6c, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x52, 0x65, 0x71, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x52, 0x65, 0x73, 0x52, 0x65, 0x71, 0x49, 0x64, 0x12, 0x1e, + 0x0a, 0x0a, 0x6a, 0x73, 0x6f, 0x6e, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6a, 0x73, 0x6f, 0x6e, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x5a, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x53, 0x75, 0x62, 0x73, 0x41, 0x72, 0x67, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x65, 0x71, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x52, 0x65, 0x71, 0x49, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, + 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x69, 0x64, 0x73, + 0x74, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x75, 0x62, 0x69, 0x64, 0x73, + 0x74, 0x72, 0x22, 0x59, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, + 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x52, 0x65, 0x71, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x52, 0x65, 0x73, 0x52, 0x65, 0x71, 0x49, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x89, 0x01, + 0x0a, 0x10, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x65, 0x71, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x05, 0x52, 0x65, 0x71, 0x49, 0x64, 0x12, 0x54, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x49, 0x4f, + 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, + 0x74, 0x48, 0x00, 0x52, 0x09, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x42, 0x09, + 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x9a, 0x02, 0x0a, 0x1a, 0x54, 0x65, + 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x6f, 0x72, 0x74, 0x12, 0x7e, 0x0a, 0x19, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, + 0x79, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, + 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x42, 0x2e, 0x49, 0x4f, 0x53, 0x58, 0x52, 0x45, + 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x65, 0x6c, + 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x53, 0x50, 0x52, 0x17, 0x74, 0x65, 0x6c, + 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0x20, 0x0a, 0x03, 0x54, 0x53, 0x50, 0x12, 0x0b, 0x0a, 0x07, 0x54, + 0x53, 0x50, 0x5f, 0x54, 0x43, 0x50, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x53, 0x50, 0x5f, + 0x47, 0x52, 0x50, 0x43, 0x10, 0x01, 0x22, 0x23, 0x0a, 0x0d, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, + 0x74, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x50, 0x61, 0x74, 0x68, 0x22, 0x9d, 0x03, 0x0a, 0x10, + 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x80, 0x01, 0x0a, 0x1b, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x49, 0x4f, 0x53, 0x58, 0x52, 0x45, 0x78, + 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x54, 0x65, 0x6c, 0x65, + 0x6d, 0x65, 0x74, 0x72, 0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1b, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, + 0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x59, 0x0a, 0x0e, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, + 0x50, 0x61, 0x74, 0x68, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x49, 0x4f, + 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x52, 0x0e, + 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x27, + 0x0a, 0x0f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, + 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x59, 0x0a, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, + 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x49, 0x4f, 0x53, 0x58, + 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x2e, + 0x45, 0x4e, 0x43, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x52, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, + 0x6e, 0x67, 0x22, 0x27, 0x0a, 0x08, 0x45, 0x4e, 0x43, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x12, 0x0e, + 0x0a, 0x0a, 0x45, 0x4e, 0x43, 0x5f, 0x4b, 0x56, 0x5f, 0x47, 0x50, 0x42, 0x10, 0x00, 0x12, 0x0b, + 0x0a, 0x07, 0x45, 0x4e, 0x43, 0x5f, 0x47, 0x50, 0x42, 0x10, 0x01, 0x22, 0x81, 0x01, 0x0a, 0x0e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, + 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4a, 0x73, 0x6f, + 0x6e, 0x12, 0x4c, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x38, 0x2e, 0x49, 0x4f, 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, + 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4f, 0x43, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x52, 0x45, 0x53, 0x50, + 0x4f, 0x4e, 0x53, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, + 0x22, 0x0a, 0x0c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x22, 0xfe, 0x01, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x52, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, + 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x4a, + 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, + 0x2e, 0x49, 0x4f, 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x48, 0x00, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x4c, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x49, 0x4f, 0x53, + 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x0a, 0x12, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x53, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x65, + 0x71, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x52, 0x65, 0x71, 0x49, 0x64, + 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x92, 0x02, 0x0a, 0x0e, 0x47, 0x65, + 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x1c, 0x0a, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x67, 0x0a, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x45, 0x2e, 0x49, 0x4f, + 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x2e, + 0x4d, 0x4f, 0x44, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, + 0x2d, 0x0a, 0x12, 0x4d, 0x4f, 0x44, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x4d, 0x4d, 0x41, 0x52, 0x59, + 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x54, 0x41, 0x49, 0x4c, 0x10, 0x01, 0x22, 0xc0, + 0x03, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x4f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x12, 0x55, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x3d, 0x2e, 0x49, 0x4f, 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, + 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x4f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x5c, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, + 0x49, 0x4f, 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x4f, 0x43, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, + 0x53, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x1a, 0xc7, 0x01, 0x0a, 0x09, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x50, 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x49, 0x4f, 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, + 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, 0x45, 0x54, 0x5f, 0x4d, 0x4f, + 0x44, 0x45, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x61, 0x74, + 0x61, 0x2a, 0x33, 0x0a, 0x0c, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x00, 0x12, 0x0d, 0x0a, + 0x09, 0x4e, 0x4f, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, + 0x46, 0x41, 0x49, 0x4c, 0x10, 0x02, 0x2a, 0xbb, 0x01, 0x0a, 0x14, 0x4f, 0x43, 0x5f, 0x52, 0x50, + 0x43, 0x5f, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x12, + 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x4e, 0x4f, 0x4b, 0x10, 0x01, + 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, + 0x50, 0x41, 0x54, 0x48, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, + 0x44, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x49, 0x4e, 0x56, 0x41, + 0x4c, 0x49, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, 0x52, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x10, 0x04, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, + 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4c, 0x10, 0x05, 0x12, 0x18, 0x0a, + 0x14, 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x45, 0x4e, 0x43, + 0x4f, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x06, 0x12, 0x1b, 0x0a, 0x17, 0x49, 0x4e, 0x56, 0x41, 0x4c, + 0x49, 0x44, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x49, 0x44, 0x10, 0x07, 0x2a, 0x49, 0x0a, 0x0e, 0x47, 0x45, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, + 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x4f, 0x44, 0x55, 0x4c, 0x45, + 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x55, 0x47, 0x4d, 0x45, 0x4e, 0x54, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x45, 0x56, 0x49, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x10, 0x03, 0x32, + 0xc8, 0x09, 0x0a, 0x0e, 0x67, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4f, 0x70, + 0x65, 0x72, 0x12, 0x76, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x31, 0x2e, 0x49, 0x4f, 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, + 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x65, 0x74, 0x41, 0x72, + 0x67, 0x73, 0x1a, 0x32, 0x2e, 0x49, 0x4f, 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, + 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x65, + 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x30, 0x01, 0x12, 0x70, 0x0a, 0x0b, 0x4d, 0x65, + 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x2e, 0x49, 0x4f, 0x53, 0x58, + 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x2f, 0x2e, 0x49, 0x4f, 0x53, 0x58, + 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x71, 0x0a, 0x0c, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x2e, 0x49, + 0x4f, 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x2f, 0x2e, 0x49, + 0x4f, 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, + 0x72, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x2e, 0x2e, 0x49, 0x4f, 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, + 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x41, 0x72, 0x67, 0x73, + 0x1a, 0x2f, 0x2e, 0x49, 0x4f, 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, + 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x70, 0x6c, + 0x79, 0x22, 0x00, 0x12, 0x74, 0x0a, 0x09, 0x43, 0x6c, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x31, 0x2e, 0x49, 0x4f, 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, + 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6c, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x41, + 0x72, 0x67, 0x73, 0x1a, 0x32, 0x2e, 0x49, 0x4f, 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, + 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6c, 0x69, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x0d, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x35, 0x2e, 0x49, 0x4f, + 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x41, 0x72, + 0x67, 0x73, 0x1a, 0x36, 0x2e, 0x49, 0x4f, 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, + 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, + 0x70, 0x6c, 0x61, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x71, 0x0a, 0x0c, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x2e, 0x49, + 0x4f, 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x2f, 0x2e, 0x49, + 0x4f, 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, + 0x89, 0x01, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, + 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x36, 0x2e, 0x49, 0x4f, 0x53, 0x58, 0x52, + 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, + 0x73, 0x63, 0x61, 0x72, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x41, 0x72, 0x67, 0x73, + 0x1a, 0x37, 0x2e, 0x49, 0x4f, 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, + 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x43, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x07, 0x47, + 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x12, 0x31, 0x2e, 0x49, 0x4f, 0x53, 0x58, 0x52, 0x45, 0x78, + 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x47, 0x65, 0x74, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x30, 0x2e, 0x49, 0x4f, 0x53, 0x58, + 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, + 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x30, 0x01, 0x12, + 0x79, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x12, 0x32, 0x2e, + 0x49, 0x4f, 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x41, 0x72, 0x67, + 0x73, 0x1a, 0x33, 0x2e, 0x49, 0x4f, 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, + 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, + 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x30, 0x01, 0x32, 0x8a, 0x02, 0x0a, 0x08, 0x67, + 0x52, 0x50, 0x43, 0x45, 0x78, 0x65, 0x63, 0x12, 0x7e, 0x0a, 0x11, 0x53, 0x68, 0x6f, 0x77, 0x43, + 0x6d, 0x64, 0x54, 0x65, 0x78, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x2f, 0x2e, 0x49, + 0x4f, 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x43, 0x6d, 0x64, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x34, 0x2e, + 0x49, 0x4f, 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x43, 0x6d, 0x64, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x22, 0x00, 0x30, 0x01, 0x12, 0x7e, 0x0a, 0x11, 0x53, 0x68, 0x6f, 0x77, 0x43, + 0x6d, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x2f, 0x2e, 0x49, + 0x4f, 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x43, 0x6d, 0x64, 0x41, 0x72, 0x67, 0x73, 0x1a, 0x34, 0x2e, + 0x49, 0x4f, 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x43, 0x6d, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x22, 0x00, 0x30, 0x01, 0x32, 0x9a, 0x03, 0x0a, 0x0e, 0x4f, 0x70, 0x65, 0x6e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x67, 0x52, 0x50, 0x43, 0x12, 0x85, 0x01, 0x0a, 0x12, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, + 0x79, 0x12, 0x34, 0x2e, 0x49, 0x4f, 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, + 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x49, 0x4f, 0x53, 0x58, 0x52, 0x45, + 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x30, 0x01, 0x12, 0x87, 0x01, 0x0a, 0x14, 0x55, 0x6e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x62, 0x65, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x12, 0x36, 0x2e, 0x49, 0x4f, + 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, + 0x52, 0x65, 0x71, 0x1a, 0x35, 0x2e, 0x49, 0x4f, 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, + 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x62, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x09, + 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x49, 0x4f, 0x53, 0x58, + 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x47, + 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0x33, 0x2e, + 0x49, 0x4f, 0x53, 0x58, 0x52, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x4f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x22, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_proto_ems_ems_grpc_proto_rawDescOnce sync.Once + file_proto_ems_ems_grpc_proto_rawDescData = file_proto_ems_ems_grpc_proto_rawDesc +) -var _GRPCExec_serviceDesc = grpc.ServiceDesc{ - ServiceName: "IOSXRExtensibleManagabilityService.gRPCExec", - HandlerType: (*GRPCExecServer)(nil), - Methods: []grpc.MethodDesc{}, - Streams: []grpc.StreamDesc{ - { - StreamName: "ShowCmdTextOutput", - Handler: _GRPCExec_ShowCmdTextOutput_Handler, - ServerStreams: true, - }, - { - StreamName: "ShowCmdJSONOutput", - Handler: _GRPCExec_ShowCmdJSONOutput_Handler, - ServerStreams: true, - }, - { - StreamName: "ActionJSON", - Handler: _GRPCExec_ActionJSON_Handler, - ServerStreams: true, +func file_proto_ems_ems_grpc_proto_rawDescGZIP() []byte { + file_proto_ems_ems_grpc_proto_rawDescOnce.Do(func() { + file_proto_ems_ems_grpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_ems_ems_grpc_proto_rawDescData) + }) + return file_proto_ems_ems_grpc_proto_rawDescData +} + +var file_proto_ems_ems_grpc_proto_enumTypes = make([]protoimpl.EnumInfo, 6) +var file_proto_ems_ems_grpc_proto_msgTypes = make([]protoimpl.MessageInfo, 30) +var file_proto_ems_ems_grpc_proto_goTypes = []interface{}{ + (CommitResult)(0), // 0: IOSXRExtensibleManagabilityService.CommitResult + (OC_RPC_RESPONSE_TYPE)(0), // 1: IOSXRExtensibleManagabilityService.OC_RPC_RESPONSE_TYPE + (GET_MODEL_TYPE)(0), // 2: IOSXRExtensibleManagabilityService.GET_MODEL_TYPE + (TelemetryStreamDestination_TSP)(0), // 3: IOSXRExtensibleManagabilityService.TelemetryStreamDestination.TSP + (SubscriptionList_ENC_SPEC)(0), // 4: IOSXRExtensibleManagabilityService.SubscriptionList.ENC_SPEC + (GetModelsInput_MODLE_REQUEST_TYPE)(0), // 5: IOSXRExtensibleManagabilityService.GetModelsInput.MODLE_REQUEST_TYPE + (*ConfigGetArgs)(nil), // 6: IOSXRExtensibleManagabilityService.ConfigGetArgs + (*ConfigGetReply)(nil), // 7: IOSXRExtensibleManagabilityService.ConfigGetReply + (*GetOperReply)(nil), // 8: IOSXRExtensibleManagabilityService.GetOperReply + (*ConfigArgs)(nil), // 9: IOSXRExtensibleManagabilityService.ConfigArgs + (*ConfigReply)(nil), // 10: IOSXRExtensibleManagabilityService.ConfigReply + (*CliConfigArgs)(nil), // 11: IOSXRExtensibleManagabilityService.CliConfigArgs + (*CliConfigReply)(nil), // 12: IOSXRExtensibleManagabilityService.CliConfigReply + (*CommitReplaceArgs)(nil), // 13: IOSXRExtensibleManagabilityService.CommitReplaceArgs + (*CommitReplaceReply)(nil), // 14: IOSXRExtensibleManagabilityService.CommitReplaceReply + (*CommitMsg)(nil), // 15: IOSXRExtensibleManagabilityService.CommitMsg + (*CommitArgs)(nil), // 16: IOSXRExtensibleManagabilityService.CommitArgs + (*CommitReply)(nil), // 17: IOSXRExtensibleManagabilityService.CommitReply + (*DiscardChangesArgs)(nil), // 18: IOSXRExtensibleManagabilityService.DiscardChangesArgs + (*DiscardChangesReply)(nil), // 19: IOSXRExtensibleManagabilityService.DiscardChangesReply + (*ShowCmdArgs)(nil), // 20: IOSXRExtensibleManagabilityService.ShowCmdArgs + (*ShowCmdTextReply)(nil), // 21: IOSXRExtensibleManagabilityService.ShowCmdTextReply + (*ShowCmdJSONReply)(nil), // 22: IOSXRExtensibleManagabilityService.ShowCmdJSONReply + (*CreateSubsArgs)(nil), // 23: IOSXRExtensibleManagabilityService.CreateSubsArgs + (*CreateSubsReply)(nil), // 24: IOSXRExtensibleManagabilityService.CreateSubsReply + (*SubscribeRequest)(nil), // 25: IOSXRExtensibleManagabilityService.SubscribeRequest + (*TelemetryStreamDestination)(nil), // 26: IOSXRExtensibleManagabilityService.TelemetryStreamDestination + (*TelemetryPath)(nil), // 27: IOSXRExtensibleManagabilityService.TelemetryPath + (*SubscriptionList)(nil), // 28: IOSXRExtensibleManagabilityService.SubscriptionList + (*StatusResponse)(nil), // 29: IOSXRExtensibleManagabilityService.StatusResponse + (*Notification)(nil), // 30: IOSXRExtensibleManagabilityService.Notification + (*SubscribeResponse)(nil), // 31: IOSXRExtensibleManagabilityService.SubscribeResponse + (*CancelSubscribeReq)(nil), // 32: IOSXRExtensibleManagabilityService.CancelSubscribeReq + (*GetModelsInput)(nil), // 33: IOSXRExtensibleManagabilityService.GetModelsInput + (*GetModelsOutput)(nil), // 34: IOSXRExtensibleManagabilityService.GetModelsOutput + (*GetModelsOutput_ModelInfo)(nil), // 35: IOSXRExtensibleManagabilityService.GetModelsOutput.ModelInfo +} +var file_proto_ems_ems_grpc_proto_depIdxs = []int32{ + 15, // 0: IOSXRExtensibleManagabilityService.CommitArgs.msg:type_name -> IOSXRExtensibleManagabilityService.CommitMsg + 0, // 1: IOSXRExtensibleManagabilityService.CommitReply.result:type_name -> IOSXRExtensibleManagabilityService.CommitResult + 28, // 2: IOSXRExtensibleManagabilityService.SubscribeRequest.subscribe:type_name -> IOSXRExtensibleManagabilityService.SubscriptionList + 3, // 3: IOSXRExtensibleManagabilityService.TelemetryStreamDestination.telemetry_stream_protocol:type_name -> IOSXRExtensibleManagabilityService.TelemetryStreamDestination.TSP + 26, // 4: IOSXRExtensibleManagabilityService.SubscriptionList.TelemetryStreamDestinations:type_name -> IOSXRExtensibleManagabilityService.TelemetryStreamDestination + 27, // 5: IOSXRExtensibleManagabilityService.SubscriptionList.TelemetryPaths:type_name -> IOSXRExtensibleManagabilityService.TelemetryPath + 4, // 6: IOSXRExtensibleManagabilityService.SubscriptionList.encoding:type_name -> IOSXRExtensibleManagabilityService.SubscriptionList.ENC_SPEC + 1, // 7: IOSXRExtensibleManagabilityService.StatusResponse.code:type_name -> IOSXRExtensibleManagabilityService.OC_RPC_RESPONSE_TYPE + 30, // 8: IOSXRExtensibleManagabilityService.SubscribeResponse.update:type_name -> IOSXRExtensibleManagabilityService.Notification + 29, // 9: IOSXRExtensibleManagabilityService.SubscribeResponse.status:type_name -> IOSXRExtensibleManagabilityService.StatusResponse + 5, // 10: IOSXRExtensibleManagabilityService.GetModelsInput.requestType:type_name -> IOSXRExtensibleManagabilityService.GetModelsInput.MODLE_REQUEST_TYPE + 35, // 11: IOSXRExtensibleManagabilityService.GetModelsOutput.models:type_name -> IOSXRExtensibleManagabilityService.GetModelsOutput.ModelInfo + 1, // 12: IOSXRExtensibleManagabilityService.GetModelsOutput.responseCode:type_name -> IOSXRExtensibleManagabilityService.OC_RPC_RESPONSE_TYPE + 2, // 13: IOSXRExtensibleManagabilityService.GetModelsOutput.ModelInfo.modelType:type_name -> IOSXRExtensibleManagabilityService.GET_MODEL_TYPE + 6, // 14: IOSXRExtensibleManagabilityService.gRPCConfigOper.GetConfig:input_type -> IOSXRExtensibleManagabilityService.ConfigGetArgs + 9, // 15: IOSXRExtensibleManagabilityService.gRPCConfigOper.MergeConfig:input_type -> IOSXRExtensibleManagabilityService.ConfigArgs + 9, // 16: IOSXRExtensibleManagabilityService.gRPCConfigOper.DeleteConfig:input_type -> IOSXRExtensibleManagabilityService.ConfigArgs + 9, // 17: IOSXRExtensibleManagabilityService.gRPCConfigOper.ReplaceConfig:input_type -> IOSXRExtensibleManagabilityService.ConfigArgs + 11, // 18: IOSXRExtensibleManagabilityService.gRPCConfigOper.CliConfig:input_type -> IOSXRExtensibleManagabilityService.CliConfigArgs + 13, // 19: IOSXRExtensibleManagabilityService.gRPCConfigOper.CommitReplace:input_type -> IOSXRExtensibleManagabilityService.CommitReplaceArgs + 16, // 20: IOSXRExtensibleManagabilityService.gRPCConfigOper.CommitConfig:input_type -> IOSXRExtensibleManagabilityService.CommitArgs + 18, // 21: IOSXRExtensibleManagabilityService.gRPCConfigOper.ConfigDiscardChanges:input_type -> IOSXRExtensibleManagabilityService.DiscardChangesArgs + 6, // 22: IOSXRExtensibleManagabilityService.gRPCConfigOper.GetOper:input_type -> IOSXRExtensibleManagabilityService.ConfigGetArgs + 23, // 23: IOSXRExtensibleManagabilityService.gRPCConfigOper.CreateSubs:input_type -> IOSXRExtensibleManagabilityService.CreateSubsArgs + 20, // 24: IOSXRExtensibleManagabilityService.gRPCExec.ShowCmdTextOutput:input_type -> IOSXRExtensibleManagabilityService.ShowCmdArgs + 20, // 25: IOSXRExtensibleManagabilityService.gRPCExec.ShowCmdJSONOutput:input_type -> IOSXRExtensibleManagabilityService.ShowCmdArgs + 25, // 26: IOSXRExtensibleManagabilityService.OpenConfiggRPC.SubscribeTelemetry:input_type -> IOSXRExtensibleManagabilityService.SubscribeRequest + 32, // 27: IOSXRExtensibleManagabilityService.OpenConfiggRPC.UnSubscribeTelemetry:input_type -> IOSXRExtensibleManagabilityService.CancelSubscribeReq + 33, // 28: IOSXRExtensibleManagabilityService.OpenConfiggRPC.GetModels:input_type -> IOSXRExtensibleManagabilityService.GetModelsInput + 7, // 29: IOSXRExtensibleManagabilityService.gRPCConfigOper.GetConfig:output_type -> IOSXRExtensibleManagabilityService.ConfigGetReply + 10, // 30: IOSXRExtensibleManagabilityService.gRPCConfigOper.MergeConfig:output_type -> IOSXRExtensibleManagabilityService.ConfigReply + 10, // 31: IOSXRExtensibleManagabilityService.gRPCConfigOper.DeleteConfig:output_type -> IOSXRExtensibleManagabilityService.ConfigReply + 10, // 32: IOSXRExtensibleManagabilityService.gRPCConfigOper.ReplaceConfig:output_type -> IOSXRExtensibleManagabilityService.ConfigReply + 12, // 33: IOSXRExtensibleManagabilityService.gRPCConfigOper.CliConfig:output_type -> IOSXRExtensibleManagabilityService.CliConfigReply + 14, // 34: IOSXRExtensibleManagabilityService.gRPCConfigOper.CommitReplace:output_type -> IOSXRExtensibleManagabilityService.CommitReplaceReply + 17, // 35: IOSXRExtensibleManagabilityService.gRPCConfigOper.CommitConfig:output_type -> IOSXRExtensibleManagabilityService.CommitReply + 19, // 36: IOSXRExtensibleManagabilityService.gRPCConfigOper.ConfigDiscardChanges:output_type -> IOSXRExtensibleManagabilityService.DiscardChangesReply + 8, // 37: IOSXRExtensibleManagabilityService.gRPCConfigOper.GetOper:output_type -> IOSXRExtensibleManagabilityService.GetOperReply + 24, // 38: IOSXRExtensibleManagabilityService.gRPCConfigOper.CreateSubs:output_type -> IOSXRExtensibleManagabilityService.CreateSubsReply + 21, // 39: IOSXRExtensibleManagabilityService.gRPCExec.ShowCmdTextOutput:output_type -> IOSXRExtensibleManagabilityService.ShowCmdTextReply + 22, // 40: IOSXRExtensibleManagabilityService.gRPCExec.ShowCmdJSONOutput:output_type -> IOSXRExtensibleManagabilityService.ShowCmdJSONReply + 31, // 41: IOSXRExtensibleManagabilityService.OpenConfiggRPC.SubscribeTelemetry:output_type -> IOSXRExtensibleManagabilityService.SubscribeResponse + 31, // 42: IOSXRExtensibleManagabilityService.OpenConfiggRPC.UnSubscribeTelemetry:output_type -> IOSXRExtensibleManagabilityService.SubscribeResponse + 34, // 43: IOSXRExtensibleManagabilityService.OpenConfiggRPC.GetModels:output_type -> IOSXRExtensibleManagabilityService.GetModelsOutput + 29, // [29:44] is the sub-list for method output_type + 14, // [14:29] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name +} + +func init() { file_proto_ems_ems_grpc_proto_init() } +func file_proto_ems_ems_grpc_proto_init() { + if File_proto_ems_ems_grpc_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_proto_ems_ems_grpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigGetArgs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_ems_ems_grpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigGetReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_ems_ems_grpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetOperReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_ems_ems_grpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigArgs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_ems_ems_grpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_ems_ems_grpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CliConfigArgs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_ems_ems_grpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CliConfigReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_ems_ems_grpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommitReplaceArgs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_ems_ems_grpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommitReplaceReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_ems_ems_grpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommitMsg); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_ems_ems_grpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommitArgs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_ems_ems_grpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommitReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_ems_ems_grpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiscardChangesArgs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_ems_ems_grpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiscardChangesReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_ems_ems_grpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowCmdArgs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_ems_ems_grpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowCmdTextReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_ems_ems_grpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowCmdJSONReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_ems_ems_grpc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateSubsArgs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_ems_ems_grpc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateSubsReply); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_ems_ems_grpc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubscribeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_ems_ems_grpc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TelemetryStreamDestination); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_ems_ems_grpc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TelemetryPath); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_ems_ems_grpc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubscriptionList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_ems_ems_grpc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StatusResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_ems_ems_grpc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Notification); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_ems_ems_grpc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubscribeResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_ems_ems_grpc_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CancelSubscribeReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_ems_ems_grpc_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetModelsInput); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_ems_ems_grpc_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetModelsOutput); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_ems_ems_grpc_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetModelsOutput_ModelInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_proto_ems_ems_grpc_proto_msgTypes[19].OneofWrappers = []interface{}{ + (*SubscribeRequest_Subscribe)(nil), + } + file_proto_ems_ems_grpc_proto_msgTypes[25].OneofWrappers = []interface{}{ + (*SubscribeResponse_Update)(nil), + (*SubscribeResponse_Status)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_proto_ems_ems_grpc_proto_rawDesc, + NumEnums: 6, + NumMessages: 30, + NumExtensions: 0, + NumServices: 3, }, - }, - Metadata: "ems_grpc.proto", -} - -func init() { proto.RegisterFile("ems_grpc.proto", fileDescriptor0) } - -var fileDescriptor0 = []byte{ - // 812 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x57, 0x4b, 0x4f, 0xdb, 0x4a, - 0x14, 0x8e, 0x13, 0x6e, 0x20, 0x27, 0x0f, 0xc2, 0x5c, 0x74, 0x15, 0x65, 0x71, 0x85, 0xbc, 0x42, - 0x48, 0x37, 0x97, 0x86, 0x52, 0x16, 0x95, 0x5a, 0x45, 0x86, 0x86, 0xa0, 0x42, 0x2a, 0xa7, 0x52, - 0x1f, 0x0b, 0xa8, 0xe3, 0x0c, 0xc6, 0x95, 0x5f, 0xd8, 0x13, 0x4a, 0x36, 0x55, 0x37, 0x5d, 0x54, - 0xfd, 0x5f, 0xfd, 0x5d, 0xd5, 0x8c, 0xc7, 0x2f, 0xaa, 0x90, 0x31, 0x08, 0x76, 0x39, 0x63, 0x7f, - 0xe7, 0x3b, 0xf3, 0x9d, 0x99, 0xf3, 0x39, 0xd0, 0xc0, 0x76, 0x70, 0x66, 0xf8, 0x9e, 0xde, 0xf1, - 0x7c, 0x97, 0xb8, 0x48, 0x1e, 0x0c, 0x47, 0xef, 0xd5, 0x83, 0x6b, 0x82, 0x9d, 0xc0, 0x1c, 0x5b, - 0xf8, 0x58, 0x73, 0x34, 0x43, 0x1b, 0x9b, 0x96, 0x49, 0x66, 0x23, 0xec, 0x5f, 0x99, 0x3a, 0x96, - 0x07, 0x50, 0x57, 0x5c, 0xe7, 0xdc, 0x34, 0xfa, 0x98, 0xf4, 0x7c, 0x23, 0x40, 0xeb, 0xf0, 0x97, - 0x8a, 0x2f, 0x07, 0x93, 0x96, 0xb4, 0x21, 0x6d, 0x96, 0xd4, 0x30, 0x40, 0x32, 0xd4, 0x66, 0x9a, - 0x63, 0x78, 0x1a, 0xb9, 0xf8, 0x1c, 0xb8, 0x4e, 0xab, 0xb8, 0x21, 0x6d, 0x56, 0xd4, 0xcc, 0x9a, - 0xfc, 0x09, 0x1a, 0x71, 0x2a, 0x15, 0x7b, 0xd6, 0x0c, 0xb5, 0x61, 0x45, 0xc5, 0x41, 0x3a, 0x5d, - 0x1c, 0xd3, 0x67, 0x14, 0x9d, 0xca, 0x16, 0xc7, 0xe8, 0x1f, 0x28, 0x63, 0xdf, 0x77, 0xfd, 0xa0, - 0x55, 0x62, 0x4f, 0x78, 0x24, 0xf7, 0xa1, 0xda, 0xc7, 0x64, 0xe8, 0x61, 0xff, 0x9e, 0xa5, 0x9e, - 0x42, 0x8d, 0x27, 0x7a, 0x98, 0x42, 0x5f, 0x00, 0x84, 0x52, 0xdc, 0x52, 0xe7, 0x2d, 0x79, 0xe5, - 0x1e, 0x54, 0x43, 0xfc, 0xe2, 0xf2, 0x92, 0x12, 0x8a, 0x99, 0x12, 0xf6, 0xa0, 0xae, 0x58, 0xe6, - 0xc2, 0x2a, 0x9a, 0x50, 0xd2, 0x2d, 0x93, 0x63, 0xe9, 0x4f, 0x79, 0x1f, 0x1a, 0x31, 0xf0, 0xee, - 0xf4, 0xef, 0x60, 0x4d, 0x71, 0x6d, 0xdb, 0x64, 0x27, 0x41, 0xd3, 0x71, 0x9e, 0x12, 0x32, 0xd2, - 0x94, 0x6e, 0x48, 0x73, 0x08, 0x28, 0x93, 0xf8, 0xee, 0x25, 0x3e, 0x87, 0x4a, 0x98, 0xe9, 0x38, - 0x30, 0x68, 0x69, 0x96, 0x36, 0xc6, 0x16, 0x43, 0x57, 0xd4, 0x30, 0x40, 0x2d, 0x58, 0xd6, 0x5d, - 0xdb, 0xc6, 0x0e, 0xe1, 0xd8, 0x28, 0x94, 0x75, 0xda, 0x61, 0x0a, 0x66, 0x1b, 0x7b, 0x09, 0x25, - 0x3b, 0x30, 0x18, 0xb6, 0xda, 0xfd, 0xaf, 0xb3, 0xf8, 0xde, 0x75, 0x62, 0x66, 0x95, 0x22, 0x13, - 0x65, 0x8a, 0x29, 0x65, 0xe4, 0x9f, 0x12, 0x3d, 0x07, 0xd1, 0x66, 0x67, 0xe8, 0x10, 0xca, 0x3e, - 0x0e, 0xa6, 0x16, 0x61, 0x4c, 0x8d, 0xee, 0xb6, 0x38, 0x93, 0xca, 0x70, 0x2a, 0xc7, 0x67, 0xf4, - 0x2a, 0xce, 0xd5, 0x2b, 0x7b, 0xa8, 0xb7, 0x00, 0xed, 0x9b, 0x81, 0xae, 0xf9, 0x13, 0xe5, 0x42, - 0x73, 0x0c, 0x1c, 0xcc, 0xef, 0xa9, 0x3c, 0x80, 0xbf, 0xb3, 0xef, 0xde, 0xbd, 0x4d, 0xbb, 0x50, - 0x1d, 0x5d, 0xb8, 0x5f, 0x14, 0x7b, 0x92, 0xeb, 0x18, 0x9f, 0x42, 0x93, 0xc3, 0xde, 0xe2, 0x6b, - 0x22, 0x44, 0xef, 0x4e, 0x89, 0x37, 0x8d, 0x3a, 0xcd, 0xa3, 0xb9, 0x6a, 0x9c, 0xc7, 0xf9, 0x8f, - 0x46, 0xc3, 0x93, 0xc5, 0xf9, 0xff, 0x05, 0xa0, 0xe7, 0x37, 0xc3, 0x91, 0x5a, 0x99, 0xcb, 0xf3, - 0x11, 0x1a, 0x8a, 0x8f, 0x35, 0x82, 0x47, 0xd3, 0xf1, 0x2d, 0x8a, 0x33, 0xbc, 0xa3, 0xbb, 0x13, - 0xcc, 0xfb, 0xc9, 0x23, 0x5a, 0x53, 0x30, 0x1d, 0x9b, 0x93, 0x80, 0xf8, 0xd1, 0x5d, 0x8a, 0x62, - 0xf9, 0x03, 0xac, 0x26, 0xb9, 0x17, 0x6f, 0x01, 0xc1, 0xd2, 0x44, 0x23, 0x1a, 0x23, 0xa8, 0xa9, - 0xec, 0xf7, 0xdc, 0xb2, 0x8f, 0xa0, 0xd1, 0xd3, 0x89, 0xe9, 0x3a, 0x54, 0x9d, 0x7b, 0x4e, 0x6b, - 0x0d, 0x56, 0x93, 0x5c, 0x0f, 0x32, 0xb0, 0xb7, 0x76, 0xa0, 0x96, 0xbe, 0x27, 0x08, 0xa0, 0xac, - 0x1c, 0xf6, 0x4e, 0xfa, 0x07, 0xcd, 0x02, 0xaa, 0x43, 0xe5, 0x64, 0x78, 0xc6, 0x43, 0x09, 0xad, - 0xc0, 0xd2, 0xab, 0xde, 0xe0, 0x75, 0xb3, 0xd8, 0xfd, 0x55, 0x81, 0x86, 0xa1, 0xbe, 0x51, 0xc2, - 0x59, 0x49, 0xdd, 0x04, 0x5d, 0x41, 0xa5, 0x8f, 0x49, 0xb8, 0x80, 0x9e, 0x88, 0x5d, 0xcf, 0x94, - 0xfb, 0xb6, 0xbb, 0xb9, 0x20, 0x4c, 0x0b, 0xb9, 0xb0, 0x2d, 0x21, 0x0f, 0xaa, 0xc7, 0xd8, 0x37, - 0x30, 0x67, 0xee, 0x88, 0xa7, 0x61, 0xb4, 0xff, 0x8b, 0xbf, 0xcf, 0x39, 0xd1, 0x25, 0xd4, 0xf6, - 0xb1, 0x85, 0xc9, 0x23, 0x52, 0xfa, 0x50, 0xe7, 0x43, 0xff, 0xf1, 0x38, 0x09, 0x54, 0x62, 0x37, - 0x14, 0x6c, 0x68, 0xda, 0x75, 0x05, 0x1b, 0x9a, 0xf1, 0x5b, 0xb9, 0x80, 0xbe, 0x49, 0xf4, 0xb3, - 0x2c, 0xe5, 0x72, 0x68, 0x37, 0xcf, 0xa8, 0x8f, 0x1d, 0xb7, 0xfd, 0x2c, 0x37, 0x2c, 0xd5, 0xdf, - 0x70, 0x3d, 0x9f, 0xd6, 0x91, 0x25, 0x8a, 0x6a, 0x1d, 0x9b, 0x9b, 0x5c, 0x40, 0x3f, 0x24, 0x58, - 0x0f, 0xd9, 0xb2, 0xde, 0x81, 0x84, 0x76, 0xf1, 0xa7, 0x37, 0xb5, 0xf7, 0xf2, 0xe3, 0xa2, 0x5a, - 0x3c, 0x58, 0xe6, 0x5f, 0x88, 0x48, 0x68, 0x27, 0xa9, 0xef, 0xd2, 0xf6, 0x76, 0x0e, 0x40, 0x72, - 0x85, 0x67, 0x00, 0xc9, 0x30, 0x46, 0x62, 0xe7, 0x26, 0x63, 0x0c, 0xed, 0x9d, 0x7c, 0x98, 0x98, - 0xba, 0xfb, 0xbd, 0x04, 0x2b, 0x74, 0x90, 0x1d, 0x5c, 0x63, 0x1d, 0x7d, 0x85, 0xb5, 0x94, 0x71, - 0x0e, 0x43, 0x77, 0x12, 0xd2, 0x20, 0x65, 0xd3, 0xed, 0xa7, 0x39, 0x00, 0xb1, 0x41, 0x33, 0x1d, - 0x12, 0x7e, 0x3a, 0xee, 0x1f, 0x83, 0x3f, 0xb6, 0x95, 0xa8, 0x0f, 0x89, 0xdb, 0x88, 0xf5, 0x21, - 0xeb, 0x74, 0x62, 0x7d, 0xb8, 0xe1, 0x68, 0x94, 0x7a, 0x5c, 0x66, 0xff, 0xdb, 0x76, 0x7e, 0x07, - 0x00, 0x00, 0xff, 0xff, 0xbe, 0xf1, 0xec, 0x6e, 0xc9, 0x0d, 0x00, 0x00, + GoTypes: file_proto_ems_ems_grpc_proto_goTypes, + DependencyIndexes: file_proto_ems_ems_grpc_proto_depIdxs, + EnumInfos: file_proto_ems_ems_grpc_proto_enumTypes, + MessageInfos: file_proto_ems_ems_grpc_proto_msgTypes, + }.Build() + File_proto_ems_ems_grpc_proto = out.File + file_proto_ems_ems_grpc_proto_rawDesc = nil + file_proto_ems_ems_grpc_proto_goTypes = nil + file_proto_ems_ems_grpc_proto_depIdxs = nil } diff --git a/proto/ems/ems_grpc.proto b/proto/ems/ems_grpc.proto index 7d149cc..e56d751 100644 --- a/proto/ems/ems_grpc.proto +++ b/proto/ems/ems_grpc.proto @@ -1,12 +1,9 @@ syntax = "proto3"; -// Package implements gRPC Model Driven Telemetry service package IOSXRExtensibleManagabilityService; service gRPCConfigOper { - // Configuration related commands - rpc GetConfig(ConfigGetArgs) returns(stream ConfigGetReply) {}; rpc MergeConfig(ConfigArgs) returns(ConfigReply) {}; @@ -19,32 +16,27 @@ service gRPCConfigOper { rpc CommitReplace(CommitReplaceArgs) returns (CommitReplaceReply) {}; - // Do we need implicit or explicit commit - // rpc CommitConfig(CommitArgs) returns(CommitReply) {}; rpc ConfigDiscardChanges(DiscardChangesArgs) returns(DiscardChangesReply) {}; - // Get only returns oper data - // - rpc GetOper(GetOperArgs) returns(stream GetOperReply) {}; + rpc GetOper(ConfigGetArgs) returns(stream GetOperReply) {}; // Do we need "Get" also to give combined oper and config? // Get Telemetry Data rpc CreateSubs(CreateSubsArgs) returns(stream CreateSubsReply) {}; } -// -// Should we seperate Exec from Config/Oper? -// - service gRPCExec { // Exec commands rpc ShowCmdTextOutput(ShowCmdArgs) returns(stream ShowCmdTextReply) {}; rpc ShowCmdJSONOutput(ShowCmdArgs) returns(stream ShowCmdJSONReply) {}; - //rpc ActionCLI(ActionCliArgs) returns(stream ActionCliReply) {}; - rpc ActionJSON(ActionJSONArgs) returns(stream ActionJSONReply) {}; +} +service OpenConfiggRPC { + rpc SubscribeTelemetry(SubscribeRequest) returns (stream SubscribeResponse) {}; + rpc UnSubscribeTelemetry(CancelSubscribeReq) returns (SubscribeResponse) {}; + rpc GetModels(GetModelsInput) returns (GetModelsOutput) {}; } message ConfigGetArgs { @@ -58,11 +50,6 @@ message ConfigGetReply { string errors = 3; } -message GetOperArgs { - int64 ReqId = 1; - string yangpathjson = 2; -} - message GetOperReply { int64 ResReqId = 1; string yangjson = 2; @@ -162,24 +149,101 @@ message CreateSubsReply { bytes data = 2; string errors = 3; } -// message ActionCliArgs { -// int64 ReqId = 1; -// string cli = 2; -// } - -// message ActionCliReply { -// int64 ResReqId = 1; -// string output = 2; -// string errors = 3; -// } - -message ActionJSONArgs { - int64 ReqId = 1; - string yangpathjson = 2; -} - -message ActionJSONReply { - int64 ResReqId = 1; - string yangjson = 2; - string errors = 3; + +message SubscribeRequest { + int64 ReqId = 1; + oneof request { + SubscriptionList subscribe = 2; + } +} + +message TelemetryStreamDestination { + string destination_address = 1; + uint32 destination_port = 2; + enum TSP { + TSP_TCP = 0; + TSP_GRPC = 1; + } + TSP telemetry_stream_protocol = 3; +} + +message TelemetryPath { + string Path = 1; +} + +message SubscriptionList { + repeated TelemetryStreamDestination TelemetryStreamDestinations = 1; + repeated TelemetryPath TelemetryPaths = 2; + uint64 sample_interval = 3; + enum ENC_SPEC { + ENC_KV_GPB = 0; + ENC_GPB = 1; + } + ENC_SPEC encoding = 4; +} +enum OC_RPC_RESPONSE_TYPE { + OK = 0; + NOK = 1; + UNSUPPORTED_PATH = 2; + INVALID_PATH = 3; + INVALID_CONFIGURATION = 4; + UNSUPPORTED_INTERVAL = 5; + UNSUPPORTED_ENCODING = 6; + INVALID_SUBSCRIPTION_ID = 7; +} + +message StatusResponse { + string message_json = 1; + OC_RPC_RESPONSE_TYPE code = 2; +} + +message Notification { + bytes data = 1; +} + +message SubscribeResponse { + int64 ResReqId = 1; + uint64 subscription_id = 2; + oneof response { + Notification update = 3; + StatusResponse status = 4; + } +} + +message CancelSubscribeReq { + int64 ReqId = 1; + uint64 subscription_id = 2; +} + +enum GET_MODEL_TYPE { + MODULE = 0; + AUGMENTATION = 1; + DEVIATION = 2; + BUNDLE = 3; +} + +message GetModelsInput { + uint64 requestId = 1; + string name = 2; + string namespace = 3; + string version = 4; + enum MODLE_REQUEST_TYPE { + SUMMARY = 0; + DETAIL = 1; + } + MODLE_REQUEST_TYPE requestType = 5; +} + +message GetModelsOutput { + uint64 requestId = 1; + message ModelInfo { + string name = 1; + string namespace = 2; + string version = 3; + GET_MODEL_TYPE modelType = 4; + string modelData = 5; + } + repeated ModelInfo models = 2; + OC_RPC_RESPONSE_TYPE responseCode = 3; + string msg = 4; } \ No newline at end of file diff --git a/proto/ems/ems_grpc_grpc.pb.go b/proto/ems/ems_grpc_grpc.pb.go new file mode 100644 index 0000000..23028fc --- /dev/null +++ b/proto/ems/ems_grpc_grpc.pb.go @@ -0,0 +1,877 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.5.0 +// source: proto/ems/ems_grpc.proto + +package ems + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// GRPCConfigOperClient is the client API for GRPCConfigOper service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type GRPCConfigOperClient interface { + GetConfig(ctx context.Context, in *ConfigGetArgs, opts ...grpc.CallOption) (GRPCConfigOper_GetConfigClient, error) + MergeConfig(ctx context.Context, in *ConfigArgs, opts ...grpc.CallOption) (*ConfigReply, error) + DeleteConfig(ctx context.Context, in *ConfigArgs, opts ...grpc.CallOption) (*ConfigReply, error) + ReplaceConfig(ctx context.Context, in *ConfigArgs, opts ...grpc.CallOption) (*ConfigReply, error) + CliConfig(ctx context.Context, in *CliConfigArgs, opts ...grpc.CallOption) (*CliConfigReply, error) + CommitReplace(ctx context.Context, in *CommitReplaceArgs, opts ...grpc.CallOption) (*CommitReplaceReply, error) + CommitConfig(ctx context.Context, in *CommitArgs, opts ...grpc.CallOption) (*CommitReply, error) + ConfigDiscardChanges(ctx context.Context, in *DiscardChangesArgs, opts ...grpc.CallOption) (*DiscardChangesReply, error) + GetOper(ctx context.Context, in *ConfigGetArgs, opts ...grpc.CallOption) (GRPCConfigOper_GetOperClient, error) + // Get Telemetry Data + CreateSubs(ctx context.Context, in *CreateSubsArgs, opts ...grpc.CallOption) (GRPCConfigOper_CreateSubsClient, error) +} + +type gRPCConfigOperClient struct { + cc grpc.ClientConnInterface +} + +func NewGRPCConfigOperClient(cc grpc.ClientConnInterface) GRPCConfigOperClient { + return &gRPCConfigOperClient{cc} +} + +func (c *gRPCConfigOperClient) GetConfig(ctx context.Context, in *ConfigGetArgs, opts ...grpc.CallOption) (GRPCConfigOper_GetConfigClient, error) { + stream, err := c.cc.NewStream(ctx, &GRPCConfigOper_ServiceDesc.Streams[0], "/IOSXRExtensibleManagabilityService.gRPCConfigOper/GetConfig", opts...) + if err != nil { + return nil, err + } + x := &gRPCConfigOperGetConfigClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type GRPCConfigOper_GetConfigClient interface { + Recv() (*ConfigGetReply, error) + grpc.ClientStream +} + +type gRPCConfigOperGetConfigClient struct { + grpc.ClientStream +} + +func (x *gRPCConfigOperGetConfigClient) Recv() (*ConfigGetReply, error) { + m := new(ConfigGetReply) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *gRPCConfigOperClient) MergeConfig(ctx context.Context, in *ConfigArgs, opts ...grpc.CallOption) (*ConfigReply, error) { + out := new(ConfigReply) + err := c.cc.Invoke(ctx, "/IOSXRExtensibleManagabilityService.gRPCConfigOper/MergeConfig", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gRPCConfigOperClient) DeleteConfig(ctx context.Context, in *ConfigArgs, opts ...grpc.CallOption) (*ConfigReply, error) { + out := new(ConfigReply) + err := c.cc.Invoke(ctx, "/IOSXRExtensibleManagabilityService.gRPCConfigOper/DeleteConfig", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gRPCConfigOperClient) ReplaceConfig(ctx context.Context, in *ConfigArgs, opts ...grpc.CallOption) (*ConfigReply, error) { + out := new(ConfigReply) + err := c.cc.Invoke(ctx, "/IOSXRExtensibleManagabilityService.gRPCConfigOper/ReplaceConfig", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gRPCConfigOperClient) CliConfig(ctx context.Context, in *CliConfigArgs, opts ...grpc.CallOption) (*CliConfigReply, error) { + out := new(CliConfigReply) + err := c.cc.Invoke(ctx, "/IOSXRExtensibleManagabilityService.gRPCConfigOper/CliConfig", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gRPCConfigOperClient) CommitReplace(ctx context.Context, in *CommitReplaceArgs, opts ...grpc.CallOption) (*CommitReplaceReply, error) { + out := new(CommitReplaceReply) + err := c.cc.Invoke(ctx, "/IOSXRExtensibleManagabilityService.gRPCConfigOper/CommitReplace", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gRPCConfigOperClient) CommitConfig(ctx context.Context, in *CommitArgs, opts ...grpc.CallOption) (*CommitReply, error) { + out := new(CommitReply) + err := c.cc.Invoke(ctx, "/IOSXRExtensibleManagabilityService.gRPCConfigOper/CommitConfig", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gRPCConfigOperClient) ConfigDiscardChanges(ctx context.Context, in *DiscardChangesArgs, opts ...grpc.CallOption) (*DiscardChangesReply, error) { + out := new(DiscardChangesReply) + err := c.cc.Invoke(ctx, "/IOSXRExtensibleManagabilityService.gRPCConfigOper/ConfigDiscardChanges", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gRPCConfigOperClient) GetOper(ctx context.Context, in *ConfigGetArgs, opts ...grpc.CallOption) (GRPCConfigOper_GetOperClient, error) { + stream, err := c.cc.NewStream(ctx, &GRPCConfigOper_ServiceDesc.Streams[1], "/IOSXRExtensibleManagabilityService.gRPCConfigOper/GetOper", opts...) + if err != nil { + return nil, err + } + x := &gRPCConfigOperGetOperClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type GRPCConfigOper_GetOperClient interface { + Recv() (*GetOperReply, error) + grpc.ClientStream +} + +type gRPCConfigOperGetOperClient struct { + grpc.ClientStream +} + +func (x *gRPCConfigOperGetOperClient) Recv() (*GetOperReply, error) { + m := new(GetOperReply) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *gRPCConfigOperClient) CreateSubs(ctx context.Context, in *CreateSubsArgs, opts ...grpc.CallOption) (GRPCConfigOper_CreateSubsClient, error) { + stream, err := c.cc.NewStream(ctx, &GRPCConfigOper_ServiceDesc.Streams[2], "/IOSXRExtensibleManagabilityService.gRPCConfigOper/CreateSubs", opts...) + if err != nil { + return nil, err + } + x := &gRPCConfigOperCreateSubsClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type GRPCConfigOper_CreateSubsClient interface { + Recv() (*CreateSubsReply, error) + grpc.ClientStream +} + +type gRPCConfigOperCreateSubsClient struct { + grpc.ClientStream +} + +func (x *gRPCConfigOperCreateSubsClient) Recv() (*CreateSubsReply, error) { + m := new(CreateSubsReply) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +// GRPCConfigOperServer is the server API for GRPCConfigOper service. +// All implementations must embed UnimplementedGRPCConfigOperServer +// for forward compatibility +type GRPCConfigOperServer interface { + GetConfig(*ConfigGetArgs, GRPCConfigOper_GetConfigServer) error + MergeConfig(context.Context, *ConfigArgs) (*ConfigReply, error) + DeleteConfig(context.Context, *ConfigArgs) (*ConfigReply, error) + ReplaceConfig(context.Context, *ConfigArgs) (*ConfigReply, error) + CliConfig(context.Context, *CliConfigArgs) (*CliConfigReply, error) + CommitReplace(context.Context, *CommitReplaceArgs) (*CommitReplaceReply, error) + CommitConfig(context.Context, *CommitArgs) (*CommitReply, error) + ConfigDiscardChanges(context.Context, *DiscardChangesArgs) (*DiscardChangesReply, error) + GetOper(*ConfigGetArgs, GRPCConfigOper_GetOperServer) error + // Get Telemetry Data + CreateSubs(*CreateSubsArgs, GRPCConfigOper_CreateSubsServer) error + mustEmbedUnimplementedGRPCConfigOperServer() +} + +// UnimplementedGRPCConfigOperServer must be embedded to have forward compatible implementations. +type UnimplementedGRPCConfigOperServer struct { +} + +func (UnimplementedGRPCConfigOperServer) GetConfig(*ConfigGetArgs, GRPCConfigOper_GetConfigServer) error { + return status.Errorf(codes.Unimplemented, "method GetConfig not implemented") +} +func (UnimplementedGRPCConfigOperServer) MergeConfig(context.Context, *ConfigArgs) (*ConfigReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method MergeConfig not implemented") +} +func (UnimplementedGRPCConfigOperServer) DeleteConfig(context.Context, *ConfigArgs) (*ConfigReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteConfig not implemented") +} +func (UnimplementedGRPCConfigOperServer) ReplaceConfig(context.Context, *ConfigArgs) (*ConfigReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReplaceConfig not implemented") +} +func (UnimplementedGRPCConfigOperServer) CliConfig(context.Context, *CliConfigArgs) (*CliConfigReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method CliConfig not implemented") +} +func (UnimplementedGRPCConfigOperServer) CommitReplace(context.Context, *CommitReplaceArgs) (*CommitReplaceReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method CommitReplace not implemented") +} +func (UnimplementedGRPCConfigOperServer) CommitConfig(context.Context, *CommitArgs) (*CommitReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method CommitConfig not implemented") +} +func (UnimplementedGRPCConfigOperServer) ConfigDiscardChanges(context.Context, *DiscardChangesArgs) (*DiscardChangesReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method ConfigDiscardChanges not implemented") +} +func (UnimplementedGRPCConfigOperServer) GetOper(*ConfigGetArgs, GRPCConfigOper_GetOperServer) error { + return status.Errorf(codes.Unimplemented, "method GetOper not implemented") +} +func (UnimplementedGRPCConfigOperServer) CreateSubs(*CreateSubsArgs, GRPCConfigOper_CreateSubsServer) error { + return status.Errorf(codes.Unimplemented, "method CreateSubs not implemented") +} +func (UnimplementedGRPCConfigOperServer) mustEmbedUnimplementedGRPCConfigOperServer() {} + +// UnsafeGRPCConfigOperServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to GRPCConfigOperServer will +// result in compilation errors. +type UnsafeGRPCConfigOperServer interface { + mustEmbedUnimplementedGRPCConfigOperServer() +} + +func RegisterGRPCConfigOperServer(s grpc.ServiceRegistrar, srv GRPCConfigOperServer) { + s.RegisterService(&GRPCConfigOper_ServiceDesc, srv) +} + +func _GRPCConfigOper_GetConfig_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(ConfigGetArgs) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(GRPCConfigOperServer).GetConfig(m, &gRPCConfigOperGetConfigServer{stream}) +} + +type GRPCConfigOper_GetConfigServer interface { + Send(*ConfigGetReply) error + grpc.ServerStream +} + +type gRPCConfigOperGetConfigServer struct { + grpc.ServerStream +} + +func (x *gRPCConfigOperGetConfigServer) Send(m *ConfigGetReply) error { + return x.ServerStream.SendMsg(m) +} + +func _GRPCConfigOper_MergeConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ConfigArgs) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GRPCConfigOperServer).MergeConfig(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/IOSXRExtensibleManagabilityService.gRPCConfigOper/MergeConfig", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GRPCConfigOperServer).MergeConfig(ctx, req.(*ConfigArgs)) + } + return interceptor(ctx, in, info, handler) +} + +func _GRPCConfigOper_DeleteConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ConfigArgs) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GRPCConfigOperServer).DeleteConfig(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/IOSXRExtensibleManagabilityService.gRPCConfigOper/DeleteConfig", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GRPCConfigOperServer).DeleteConfig(ctx, req.(*ConfigArgs)) + } + return interceptor(ctx, in, info, handler) +} + +func _GRPCConfigOper_ReplaceConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ConfigArgs) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GRPCConfigOperServer).ReplaceConfig(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/IOSXRExtensibleManagabilityService.gRPCConfigOper/ReplaceConfig", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GRPCConfigOperServer).ReplaceConfig(ctx, req.(*ConfigArgs)) + } + return interceptor(ctx, in, info, handler) +} + +func _GRPCConfigOper_CliConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CliConfigArgs) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GRPCConfigOperServer).CliConfig(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/IOSXRExtensibleManagabilityService.gRPCConfigOper/CliConfig", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GRPCConfigOperServer).CliConfig(ctx, req.(*CliConfigArgs)) + } + return interceptor(ctx, in, info, handler) +} + +func _GRPCConfigOper_CommitReplace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CommitReplaceArgs) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GRPCConfigOperServer).CommitReplace(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/IOSXRExtensibleManagabilityService.gRPCConfigOper/CommitReplace", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GRPCConfigOperServer).CommitReplace(ctx, req.(*CommitReplaceArgs)) + } + return interceptor(ctx, in, info, handler) +} + +func _GRPCConfigOper_CommitConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CommitArgs) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GRPCConfigOperServer).CommitConfig(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/IOSXRExtensibleManagabilityService.gRPCConfigOper/CommitConfig", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GRPCConfigOperServer).CommitConfig(ctx, req.(*CommitArgs)) + } + return interceptor(ctx, in, info, handler) +} + +func _GRPCConfigOper_ConfigDiscardChanges_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DiscardChangesArgs) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GRPCConfigOperServer).ConfigDiscardChanges(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/IOSXRExtensibleManagabilityService.gRPCConfigOper/ConfigDiscardChanges", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GRPCConfigOperServer).ConfigDiscardChanges(ctx, req.(*DiscardChangesArgs)) + } + return interceptor(ctx, in, info, handler) +} + +func _GRPCConfigOper_GetOper_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(ConfigGetArgs) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(GRPCConfigOperServer).GetOper(m, &gRPCConfigOperGetOperServer{stream}) +} + +type GRPCConfigOper_GetOperServer interface { + Send(*GetOperReply) error + grpc.ServerStream +} + +type gRPCConfigOperGetOperServer struct { + grpc.ServerStream +} + +func (x *gRPCConfigOperGetOperServer) Send(m *GetOperReply) error { + return x.ServerStream.SendMsg(m) +} + +func _GRPCConfigOper_CreateSubs_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(CreateSubsArgs) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(GRPCConfigOperServer).CreateSubs(m, &gRPCConfigOperCreateSubsServer{stream}) +} + +type GRPCConfigOper_CreateSubsServer interface { + Send(*CreateSubsReply) error + grpc.ServerStream +} + +type gRPCConfigOperCreateSubsServer struct { + grpc.ServerStream +} + +func (x *gRPCConfigOperCreateSubsServer) Send(m *CreateSubsReply) error { + return x.ServerStream.SendMsg(m) +} + +// GRPCConfigOper_ServiceDesc is the grpc.ServiceDesc for GRPCConfigOper service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var GRPCConfigOper_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "IOSXRExtensibleManagabilityService.gRPCConfigOper", + HandlerType: (*GRPCConfigOperServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "MergeConfig", + Handler: _GRPCConfigOper_MergeConfig_Handler, + }, + { + MethodName: "DeleteConfig", + Handler: _GRPCConfigOper_DeleteConfig_Handler, + }, + { + MethodName: "ReplaceConfig", + Handler: _GRPCConfigOper_ReplaceConfig_Handler, + }, + { + MethodName: "CliConfig", + Handler: _GRPCConfigOper_CliConfig_Handler, + }, + { + MethodName: "CommitReplace", + Handler: _GRPCConfigOper_CommitReplace_Handler, + }, + { + MethodName: "CommitConfig", + Handler: _GRPCConfigOper_CommitConfig_Handler, + }, + { + MethodName: "ConfigDiscardChanges", + Handler: _GRPCConfigOper_ConfigDiscardChanges_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "GetConfig", + Handler: _GRPCConfigOper_GetConfig_Handler, + ServerStreams: true, + }, + { + StreamName: "GetOper", + Handler: _GRPCConfigOper_GetOper_Handler, + ServerStreams: true, + }, + { + StreamName: "CreateSubs", + Handler: _GRPCConfigOper_CreateSubs_Handler, + ServerStreams: true, + }, + }, + Metadata: "proto/ems/ems_grpc.proto", +} + +// GRPCExecClient is the client API for GRPCExec service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type GRPCExecClient interface { + // Exec commands + ShowCmdTextOutput(ctx context.Context, in *ShowCmdArgs, opts ...grpc.CallOption) (GRPCExec_ShowCmdTextOutputClient, error) + ShowCmdJSONOutput(ctx context.Context, in *ShowCmdArgs, opts ...grpc.CallOption) (GRPCExec_ShowCmdJSONOutputClient, error) +} + +type gRPCExecClient struct { + cc grpc.ClientConnInterface +} + +func NewGRPCExecClient(cc grpc.ClientConnInterface) GRPCExecClient { + return &gRPCExecClient{cc} +} + +func (c *gRPCExecClient) ShowCmdTextOutput(ctx context.Context, in *ShowCmdArgs, opts ...grpc.CallOption) (GRPCExec_ShowCmdTextOutputClient, error) { + stream, err := c.cc.NewStream(ctx, &GRPCExec_ServiceDesc.Streams[0], "/IOSXRExtensibleManagabilityService.gRPCExec/ShowCmdTextOutput", opts...) + if err != nil { + return nil, err + } + x := &gRPCExecShowCmdTextOutputClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type GRPCExec_ShowCmdTextOutputClient interface { + Recv() (*ShowCmdTextReply, error) + grpc.ClientStream +} + +type gRPCExecShowCmdTextOutputClient struct { + grpc.ClientStream +} + +func (x *gRPCExecShowCmdTextOutputClient) Recv() (*ShowCmdTextReply, error) { + m := new(ShowCmdTextReply) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *gRPCExecClient) ShowCmdJSONOutput(ctx context.Context, in *ShowCmdArgs, opts ...grpc.CallOption) (GRPCExec_ShowCmdJSONOutputClient, error) { + stream, err := c.cc.NewStream(ctx, &GRPCExec_ServiceDesc.Streams[1], "/IOSXRExtensibleManagabilityService.gRPCExec/ShowCmdJSONOutput", opts...) + if err != nil { + return nil, err + } + x := &gRPCExecShowCmdJSONOutputClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type GRPCExec_ShowCmdJSONOutputClient interface { + Recv() (*ShowCmdJSONReply, error) + grpc.ClientStream +} + +type gRPCExecShowCmdJSONOutputClient struct { + grpc.ClientStream +} + +func (x *gRPCExecShowCmdJSONOutputClient) Recv() (*ShowCmdJSONReply, error) { + m := new(ShowCmdJSONReply) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +// GRPCExecServer is the server API for GRPCExec service. +// All implementations must embed UnimplementedGRPCExecServer +// for forward compatibility +type GRPCExecServer interface { + // Exec commands + ShowCmdTextOutput(*ShowCmdArgs, GRPCExec_ShowCmdTextOutputServer) error + ShowCmdJSONOutput(*ShowCmdArgs, GRPCExec_ShowCmdJSONOutputServer) error + mustEmbedUnimplementedGRPCExecServer() +} + +// UnimplementedGRPCExecServer must be embedded to have forward compatible implementations. +type UnimplementedGRPCExecServer struct { +} + +func (UnimplementedGRPCExecServer) ShowCmdTextOutput(*ShowCmdArgs, GRPCExec_ShowCmdTextOutputServer) error { + return status.Errorf(codes.Unimplemented, "method ShowCmdTextOutput not implemented") +} +func (UnimplementedGRPCExecServer) ShowCmdJSONOutput(*ShowCmdArgs, GRPCExec_ShowCmdJSONOutputServer) error { + return status.Errorf(codes.Unimplemented, "method ShowCmdJSONOutput not implemented") +} +func (UnimplementedGRPCExecServer) mustEmbedUnimplementedGRPCExecServer() {} + +// UnsafeGRPCExecServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to GRPCExecServer will +// result in compilation errors. +type UnsafeGRPCExecServer interface { + mustEmbedUnimplementedGRPCExecServer() +} + +func RegisterGRPCExecServer(s grpc.ServiceRegistrar, srv GRPCExecServer) { + s.RegisterService(&GRPCExec_ServiceDesc, srv) +} + +func _GRPCExec_ShowCmdTextOutput_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(ShowCmdArgs) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(GRPCExecServer).ShowCmdTextOutput(m, &gRPCExecShowCmdTextOutputServer{stream}) +} + +type GRPCExec_ShowCmdTextOutputServer interface { + Send(*ShowCmdTextReply) error + grpc.ServerStream +} + +type gRPCExecShowCmdTextOutputServer struct { + grpc.ServerStream +} + +func (x *gRPCExecShowCmdTextOutputServer) Send(m *ShowCmdTextReply) error { + return x.ServerStream.SendMsg(m) +} + +func _GRPCExec_ShowCmdJSONOutput_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(ShowCmdArgs) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(GRPCExecServer).ShowCmdJSONOutput(m, &gRPCExecShowCmdJSONOutputServer{stream}) +} + +type GRPCExec_ShowCmdJSONOutputServer interface { + Send(*ShowCmdJSONReply) error + grpc.ServerStream +} + +type gRPCExecShowCmdJSONOutputServer struct { + grpc.ServerStream +} + +func (x *gRPCExecShowCmdJSONOutputServer) Send(m *ShowCmdJSONReply) error { + return x.ServerStream.SendMsg(m) +} + +// GRPCExec_ServiceDesc is the grpc.ServiceDesc for GRPCExec service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var GRPCExec_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "IOSXRExtensibleManagabilityService.gRPCExec", + HandlerType: (*GRPCExecServer)(nil), + Methods: []grpc.MethodDesc{}, + Streams: []grpc.StreamDesc{ + { + StreamName: "ShowCmdTextOutput", + Handler: _GRPCExec_ShowCmdTextOutput_Handler, + ServerStreams: true, + }, + { + StreamName: "ShowCmdJSONOutput", + Handler: _GRPCExec_ShowCmdJSONOutput_Handler, + ServerStreams: true, + }, + }, + Metadata: "proto/ems/ems_grpc.proto", +} + +// OpenConfiggRPCClient is the client API for OpenConfiggRPC service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type OpenConfiggRPCClient interface { + SubscribeTelemetry(ctx context.Context, in *SubscribeRequest, opts ...grpc.CallOption) (OpenConfiggRPC_SubscribeTelemetryClient, error) + UnSubscribeTelemetry(ctx context.Context, in *CancelSubscribeReq, opts ...grpc.CallOption) (*SubscribeResponse, error) + GetModels(ctx context.Context, in *GetModelsInput, opts ...grpc.CallOption) (*GetModelsOutput, error) +} + +type openConfiggRPCClient struct { + cc grpc.ClientConnInterface +} + +func NewOpenConfiggRPCClient(cc grpc.ClientConnInterface) OpenConfiggRPCClient { + return &openConfiggRPCClient{cc} +} + +func (c *openConfiggRPCClient) SubscribeTelemetry(ctx context.Context, in *SubscribeRequest, opts ...grpc.CallOption) (OpenConfiggRPC_SubscribeTelemetryClient, error) { + stream, err := c.cc.NewStream(ctx, &OpenConfiggRPC_ServiceDesc.Streams[0], "/IOSXRExtensibleManagabilityService.OpenConfiggRPC/SubscribeTelemetry", opts...) + if err != nil { + return nil, err + } + x := &openConfiggRPCSubscribeTelemetryClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type OpenConfiggRPC_SubscribeTelemetryClient interface { + Recv() (*SubscribeResponse, error) + grpc.ClientStream +} + +type openConfiggRPCSubscribeTelemetryClient struct { + grpc.ClientStream +} + +func (x *openConfiggRPCSubscribeTelemetryClient) Recv() (*SubscribeResponse, error) { + m := new(SubscribeResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *openConfiggRPCClient) UnSubscribeTelemetry(ctx context.Context, in *CancelSubscribeReq, opts ...grpc.CallOption) (*SubscribeResponse, error) { + out := new(SubscribeResponse) + err := c.cc.Invoke(ctx, "/IOSXRExtensibleManagabilityService.OpenConfiggRPC/UnSubscribeTelemetry", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openConfiggRPCClient) GetModels(ctx context.Context, in *GetModelsInput, opts ...grpc.CallOption) (*GetModelsOutput, error) { + out := new(GetModelsOutput) + err := c.cc.Invoke(ctx, "/IOSXRExtensibleManagabilityService.OpenConfiggRPC/GetModels", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// OpenConfiggRPCServer is the server API for OpenConfiggRPC service. +// All implementations must embed UnimplementedOpenConfiggRPCServer +// for forward compatibility +type OpenConfiggRPCServer interface { + SubscribeTelemetry(*SubscribeRequest, OpenConfiggRPC_SubscribeTelemetryServer) error + UnSubscribeTelemetry(context.Context, *CancelSubscribeReq) (*SubscribeResponse, error) + GetModels(context.Context, *GetModelsInput) (*GetModelsOutput, error) + mustEmbedUnimplementedOpenConfiggRPCServer() +} + +// UnimplementedOpenConfiggRPCServer must be embedded to have forward compatible implementations. +type UnimplementedOpenConfiggRPCServer struct { +} + +func (UnimplementedOpenConfiggRPCServer) SubscribeTelemetry(*SubscribeRequest, OpenConfiggRPC_SubscribeTelemetryServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeTelemetry not implemented") +} +func (UnimplementedOpenConfiggRPCServer) UnSubscribeTelemetry(context.Context, *CancelSubscribeReq) (*SubscribeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UnSubscribeTelemetry not implemented") +} +func (UnimplementedOpenConfiggRPCServer) GetModels(context.Context, *GetModelsInput) (*GetModelsOutput, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetModels not implemented") +} +func (UnimplementedOpenConfiggRPCServer) mustEmbedUnimplementedOpenConfiggRPCServer() {} + +// UnsafeOpenConfiggRPCServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to OpenConfiggRPCServer will +// result in compilation errors. +type UnsafeOpenConfiggRPCServer interface { + mustEmbedUnimplementedOpenConfiggRPCServer() +} + +func RegisterOpenConfiggRPCServer(s grpc.ServiceRegistrar, srv OpenConfiggRPCServer) { + s.RegisterService(&OpenConfiggRPC_ServiceDesc, srv) +} + +func _OpenConfiggRPC_SubscribeTelemetry_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SubscribeRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(OpenConfiggRPCServer).SubscribeTelemetry(m, &openConfiggRPCSubscribeTelemetryServer{stream}) +} + +type OpenConfiggRPC_SubscribeTelemetryServer interface { + Send(*SubscribeResponse) error + grpc.ServerStream +} + +type openConfiggRPCSubscribeTelemetryServer struct { + grpc.ServerStream +} + +func (x *openConfiggRPCSubscribeTelemetryServer) Send(m *SubscribeResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _OpenConfiggRPC_UnSubscribeTelemetry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CancelSubscribeReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenConfiggRPCServer).UnSubscribeTelemetry(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/IOSXRExtensibleManagabilityService.OpenConfiggRPC/UnSubscribeTelemetry", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenConfiggRPCServer).UnSubscribeTelemetry(ctx, req.(*CancelSubscribeReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _OpenConfiggRPC_GetModels_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetModelsInput) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenConfiggRPCServer).GetModels(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/IOSXRExtensibleManagabilityService.OpenConfiggRPC/GetModels", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenConfiggRPCServer).GetModels(ctx, req.(*GetModelsInput)) + } + return interceptor(ctx, in, info, handler) +} + +// OpenConfiggRPC_ServiceDesc is the grpc.ServiceDesc for OpenConfiggRPC service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var OpenConfiggRPC_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "IOSXRExtensibleManagabilityService.OpenConfiggRPC", + HandlerType: (*OpenConfiggRPCServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "UnSubscribeTelemetry", + Handler: _OpenConfiggRPC_UnSubscribeTelemetry_Handler, + }, + { + MethodName: "GetModels", + Handler: _OpenConfiggRPC_GetModels_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "SubscribeTelemetry", + Handler: _OpenConfiggRPC_SubscribeTelemetry_Handler, + ServerStreams: true, + }, + }, + Metadata: "proto/ems/ems_grpc.proto", +} diff --git a/proto/sla/sl_common_types.pb.go b/proto/sla/sl_common_types.pb.go index c11dd3b..7b5f656 100644 --- a/proto/sla/sl_common_types.pb.go +++ b/proto/sla/sl_common_types.pb.go @@ -1,63 +1,37 @@ -// Code generated by protoc-gen-go. +// @file +// @brief Common definitions for all of the service layer proto files. +// +//--------------------------------------------------------------------- +// Copyright (c) 2016 by Cisco Systems, Inc. +// All rights reserved. +//--------------------------------------------------------------------- +// +// + +//@defgroup Common +//@brief Common service definitions and Global initializations. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.0 +// protoc v3.5.0 // source: sl_common_types.proto -// DO NOT EDIT! - -/* -Package service_layer is a generated protocol buffer package. - -It is generated from these files: - sl_common_types.proto - sl_global.proto - sl_route_common.proto - sl_route_ipv6.proto - sl_version.proto - -It has these top-level messages: - SLErrorStatus - SLInterface - SLIpAddress - SLInitMsg - SLInitMsgRsp - SLGlobalNotif - SLGlobalsGetMsg - SLGlobalsGetMsgRsp - SLRouteGlobalsGetMsg - SLRouteGlobalsGetMsgRsp - SLRouteGlobalStatsGetMsg - SLRouteGlobalStatsGetMsgRsp - SLVrfReg - SLVrfRegMsg - SLVrfRegMsgRes - SLVrfRegMsgRsp - SLVrfRegGetMsg - SLVrfRegGetMsgRsp - SLVRFGetStatsMsgRes - SLVRFGetStatsMsgRsp - SLRouteCommon - SLRoutePath - SLRoutev6 - SLRoutev6Msg - SLRoutev6Res - SLRoutev6MsgRsp - SLRoutev6GetMsg - SLRoutev6GetMsgRsp -*/ -package service_layer -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" +package service_layer -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) // Registration Operations. type SLRegOp int32 @@ -73,23 +47,48 @@ const ( SLRegOp_SL_REGOP_EOF SLRegOp = 3 ) -var SLRegOp_name = map[int32]string{ - 0: "SL_REGOP_RESERVED", - 1: "SL_REGOP_REGISTER", - 2: "SL_REGOP_UNREGISTER", - 3: "SL_REGOP_EOF", -} -var SLRegOp_value = map[string]int32{ - "SL_REGOP_RESERVED": 0, - "SL_REGOP_REGISTER": 1, - "SL_REGOP_UNREGISTER": 2, - "SL_REGOP_EOF": 3, +// Enum value maps for SLRegOp. +var ( + SLRegOp_name = map[int32]string{ + 0: "SL_REGOP_RESERVED", + 1: "SL_REGOP_REGISTER", + 2: "SL_REGOP_UNREGISTER", + 3: "SL_REGOP_EOF", + } + SLRegOp_value = map[string]int32{ + "SL_REGOP_RESERVED": 0, + "SL_REGOP_REGISTER": 1, + "SL_REGOP_UNREGISTER": 2, + "SL_REGOP_EOF": 3, + } +) + +func (x SLRegOp) Enum() *SLRegOp { + p := new(SLRegOp) + *p = x + return p } func (x SLRegOp) String() string { - return proto.EnumName(SLRegOp_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SLRegOp) Descriptor() protoreflect.EnumDescriptor { + return file_sl_common_types_proto_enumTypes[0].Descriptor() +} + +func (SLRegOp) Type() protoreflect.EnumType { + return &file_sl_common_types_proto_enumTypes[0] +} + +func (x SLRegOp) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SLRegOp.Descriptor instead. +func (SLRegOp) EnumDescriptor() ([]byte, []int) { + return file_sl_common_types_proto_rawDescGZIP(), []int{0} } -func (SLRegOp) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } // Object Operations. type SLObjectOp int32 @@ -105,23 +104,48 @@ const ( SLObjectOp_SL_OBJOP_DELETE SLObjectOp = 3 ) -var SLObjectOp_name = map[int32]string{ - 0: "SL_OBJOP_RESERVED", - 1: "SL_OBJOP_ADD", - 2: "SL_OBJOP_UPDATE", - 3: "SL_OBJOP_DELETE", -} -var SLObjectOp_value = map[string]int32{ - "SL_OBJOP_RESERVED": 0, - "SL_OBJOP_ADD": 1, - "SL_OBJOP_UPDATE": 2, - "SL_OBJOP_DELETE": 3, +// Enum value maps for SLObjectOp. +var ( + SLObjectOp_name = map[int32]string{ + 0: "SL_OBJOP_RESERVED", + 1: "SL_OBJOP_ADD", + 2: "SL_OBJOP_UPDATE", + 3: "SL_OBJOP_DELETE", + } + SLObjectOp_value = map[string]int32{ + "SL_OBJOP_RESERVED": 0, + "SL_OBJOP_ADD": 1, + "SL_OBJOP_UPDATE": 2, + "SL_OBJOP_DELETE": 3, + } +) + +func (x SLObjectOp) Enum() *SLObjectOp { + p := new(SLObjectOp) + *p = x + return p } func (x SLObjectOp) String() string { - return proto.EnumName(SLObjectOp_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SLObjectOp) Descriptor() protoreflect.EnumDescriptor { + return file_sl_common_types_proto_enumTypes[1].Descriptor() +} + +func (SLObjectOp) Type() protoreflect.EnumType { + return &file_sl_common_types_proto_enumTypes[1] +} + +func (x SLObjectOp) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SLObjectOp.Descriptor instead. +func (SLObjectOp) EnumDescriptor() ([]byte, []int) { + return file_sl_common_types_proto_rawDescGZIP(), []int{1} } -func (SLObjectOp) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } // Notification Operations. type SLNotifOp int32 @@ -135,21 +159,46 @@ const ( SLNotifOp_SL_NOTIFOP_DISABLE SLNotifOp = 2 ) -var SLNotifOp_name = map[int32]string{ - 0: "SL_NOTIFOP_RESERVED", - 1: "SL_NOTIFOP_ENABLE", - 2: "SL_NOTIFOP_DISABLE", -} -var SLNotifOp_value = map[string]int32{ - "SL_NOTIFOP_RESERVED": 0, - "SL_NOTIFOP_ENABLE": 1, - "SL_NOTIFOP_DISABLE": 2, +// Enum value maps for SLNotifOp. +var ( + SLNotifOp_name = map[int32]string{ + 0: "SL_NOTIFOP_RESERVED", + 1: "SL_NOTIFOP_ENABLE", + 2: "SL_NOTIFOP_DISABLE", + } + SLNotifOp_value = map[string]int32{ + "SL_NOTIFOP_RESERVED": 0, + "SL_NOTIFOP_ENABLE": 1, + "SL_NOTIFOP_DISABLE": 2, + } +) + +func (x SLNotifOp) Enum() *SLNotifOp { + p := new(SLNotifOp) + *p = x + return p } func (x SLNotifOp) String() string { - return proto.EnumName(SLNotifOp_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SLNotifOp) Descriptor() protoreflect.EnumDescriptor { + return file_sl_common_types_proto_enumTypes[2].Descriptor() +} + +func (SLNotifOp) Type() protoreflect.EnumType { + return &file_sl_common_types_proto_enumTypes[2] +} + +func (x SLNotifOp) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SLNotifOp.Descriptor instead. +func (SLNotifOp) EnumDescriptor() ([]byte, []int) { + return file_sl_common_types_proto_rawDescGZIP(), []int{2} } -func (SLNotifOp) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } type SLErrorStatus_SLErrno int32 @@ -554,424 +603,497 @@ const ( SLErrorStatus_SL_INTERNAL_START_OFFSET SLErrorStatus_SLErrno = 1048576 ) -var SLErrorStatus_SLErrno_name = map[int32]string{ - 0: "SL_SUCCESS", - 1: "SL_NOT_CONNECTED", - 2: "SL_EAGAIN", - 3: "SL_ENOMEM", - 4: "SL_EBUSY", - 5: "SL_EINVAL", - 6: "SL_UNSUPPORTED_VER", - 7: "SL_NOT_AVAILABLE", - 8: "SL_STREAM_NOT_SUPPORTED", - 9: "SL_ENOTSUP", - 10: "SL_SOME_ERR", - 11: "SL_TIMEOUT", - 12: "SL_NOTIF_TERM", - 1280: "SL_INIT_START_OFFSET", - 1281: "SL_INIT_STATE_CLEAR", - 1282: "SL_INIT_STATE_READY", - 1283: "SL_INIT_UNSUPPORTED_VER", - 1284: "SL_INIT_SERVER_NOT_INITIALIZED", - 1285: "SL_INIT_SERVER_MODE_CHANGE_FAILED", - 4096: "SL_RPC_VRF_START_OFFSET", - 4097: "SL_RPC_VRF_TOO_MANY_VRF_REG_MSGS", - 4098: "SL_RPC_VRF_SERVER_NOT_INITIALIZED", - 8192: "SL_VRF_START_OFFSET", - 8193: "SL_VRF_NAME_TOOLONG", - 8194: "SL_VRF_NOT_FOUND", - 8195: "SL_VRF_NO_TABLE_ID", - 8196: "SL_VRF_REG_INVALID_ADMIN_DISTANCE", - 8197: "SL_VRF_TABLE_ADD_ERR", - 8198: "SL_VRF_TABLE_REGISTRATION_ERR", - 8199: "SL_VRF_TABLE_UNREGISTRATION_ERR", - 8200: "SL_VRF_TABLE_EOF_ERR", - 8201: "SL_VRF_REG_VRF_NAME_MISSING", - 12288: "SL_RPC_ROUTE_START_OFFSET", - 12289: "SL_RPC_ROUTE_TOO_MANY_ROUTES", - 12290: "SL_RPC_ROUTE_VRF_NAME_TOOLONG", - 12291: "SL_RPC_ROUTE_VRF_NOT_FOUND", - 12292: "SL_RPC_ROUTE_VRF_NO_TABLE", - 12293: "SL_RPC_ROUTE_VRF_TABLE_NOT_REGISTERED", - 12294: "SL_RPC_ROUTE_VRF_NAME_MISSING", - 12295: "SL_RPC_ROUTE_INIT_MODE_INCOMPATIBLE", - 12296: "SL_RPC_ROUTE_SERVER_NOT_INITIALIZED", - 16384: "SL_ROUTE_START_OFFSET", - 16385: "SL_ROUTE_ADD_NO_PATHS", - 16386: "SL_ROUTE_UPDATE_NO_PATHS", - 16387: "SL_ROUTE_INVALID_PREFIX_LEN", - 16388: "SL_ROUTE_INVALID_ADMIN_DISTANCE", - 16389: "SL_ROUTE_INVALID_NUM_PATHS", - 16390: "SL_ROUTE_INVALID_PREFIX_SZ", - 16391: "SL_ROUTE_INVALID_PREFIX", - 16392: "SL_ROUTE_ERR_RIB_TABLE_LIMIT_REACHED", - 16393: "SL_ROUTE_ERR_RIB_INVALID_ARGS", - 16394: "SL_ROUTE_ERR_RIB_PATH_TABLE_LIMIT", - 16395: "SL_ROUTE_ERR_RIB_TOOMANYPATHS", - 16396: "SL_ROUTE_EEXIST", - 16397: "SL_ROUTE_HOST_BITS_SET", - 16398: "SL_ROUTE_INVALID_PREFIX_MCAST", - 16399: "SL_ROUTE_PATH_AFI_MISMATCH", - 16400: "SL_ROUTE_TOOMANY_PRIMARY_PATHS", - 16401: "SL_ROUTE_TOOMANY_BACKUP_PATHS", - 16402: "SL_ROUTE_DB_NOMEM", - 16403: "SL_ROUTE_INVALID_LOCAL_LABEL", - 20480: "SL_PATH_START_OFFSET", - 20481: "SL_PATH_NH_NO_TABLE", - 20482: "SL_PATH_NH_INTF_NOT_FOUND", - 20483: "SL_PATH_INVALID_LABEL_COUNT", - 20484: "SL_PATH_INVALID_ID", - 20485: "SL_PATH_VRF_NAME_TOOLONG", - 20486: "SL_PATH_NH_INTF_NAME_TOOLONG", - 20487: "SL_PATH_NH_INVALID_ADDR_SZ", - 20488: "SL_PATH_NH_INF_NAME_MISSING", - 20489: "SL_PATH_INVALID_NEXT_HOP_ADDR", - 20490: "SL_PATH_INVALID_REMOTE_ADDR_COUNT", - 20491: "SL_PATH_REMOTE_ADDR_INVALID_SZ", - 20492: "SL_PATH_REMOTE_ADDR_AFI_MISMATCH", - 20493: "SL_PATH_INVALID_PROTECTED_BITMAP", - 20494: "SL_PATH_BACKUP_MISSING_PRIMARY_PATH", - 20495: "SL_PATH_PRIMARY_ID_REPEATED", - 20496: "SL_PATH_BACKUP_ID_REPEATED", - 20497: "SL_PATH_PRIMARY_TOOMANY_BACKUP_PATHS", - 20498: "SL_PATH_PRIMARY_TOOMANY_LABELS", - 20499: "SL_PATH_PRIMARY_TOOMANY_REMOTE_ADDR", - 20500: "SL_PATH_REMOTE_ADDR_INVALID", - 20501: "SL_PATH_INVALID_LABEL", - 24576: "SL_RPC_BFD_START_OFFSET", - 24577: "SL_RPC_BFD_TOO_MANY_BFD_SESSIONS", - 24578: "SL_RPC_BFD_API_BAD_PARAMETER", - 24579: "SL_RPC_BFD_API_CLIENT_NOT_REGISTERED", - 24580: "SL_RPC_BFD_API_INTERNAL_ERROR", - 24581: "SL_RPC_BFD_SERVER_NOT_INITIALIZED", - 24582: "SL_RPC_BFD_V4_NOT_REGISTERED", - 24583: "SL_RPC_BFD_V6_NOT_REGISTERED", - 28672: "SL_BFD_START_OFFSET", - 28673: "SL_BFD_INTF_NAME_TOOLONG", - 28674: "SL_BFD_INTF_NOT_FOUND", - 28675: "SL_BFD_INVALID_ATTRIBUTE", - 28676: "SL_BFD_INTF_NAME_MISSING", - 28677: "SL_BFD_INVALID_NBR_MCAST", - 28678: "SL_BFD_INVALID_NBR", - 28679: "SL_BFD_VRF_NAME_TOOLONG", - 28680: "SL_BFD_BAD_PARAMETER", - 28681: "SL_BFD_API_INTERNAL_ERROR", - 28682: "SL_BFD_VRF_NOT_FOUND", - 28683: "SL_BFD_INVALID_PREFIX_SIZE", - 28684: "SL_BFD_INVALID_SESSION_TYPE", - 28685: "SL_BFD_INVALID_VRF", - 28686: "SL_BFD_SESSION_NOT_FOUND", - 28687: "SL_BFD_SESSION_EXISTS", - 28688: "SL_BFD_INTERNAL_DB_ERROR", - 28689: "SL_BFD_RECOVERY_ERROR", - 32768: "SL_RPC_MPLS_START_OFFSET", - 32769: "SL_RPC_MPLS_ILM_TOO_MANY_ILMS", - 32770: "SL_RPC_MPLS_SERVER_NOT_INITIALIZED", - 32771: "SL_RPC_MPLS_INIT_MODE_INCOMPATIBLE", - 32772: "SL_RPC_MPLS_LABEL_BLK_TOO_MANY_LABEL_BLKS", - 32773: "SL_RPC_MPLS_NOT_REGISTERED", - 36864: "SL_ILM_ERR_OFFSET", - 36865: "SL_ILM_ADD_FAILED", - 36866: "SL_ILM_LSD_ADD_FAILED", - 36867: "SL_ILM_INVALID_NUM_NHLFE", - 36868: "SL_ILM_INVALID_LABEL", - 36869: "SL_ILM_DELETE_FAILED", - 36870: "SL_ILM_LSD_DELETE_FAILED", - 36871: "SL_ILM_TOOMANY_PRIMARY_NHLFES", - 36872: "SL_ILM_TOOMANY_BACKUP_NHLFES", - 36873: "SL_ILM_LSD_ADD_LABEL_ALLOC_FAILED", - 36874: "SL_ILM_LSD_NHLFE_INVALID_ATTRIB", - 36875: "SL_ILM_EEXIST", - 36876: "SL_ILM_DB_NOMEM", - 40960: "SL_NHLFE_ERR_OFFSET", - 40961: "SL_NHLFE_NH_NO_TABLE", - 40962: "SL_NHLFE_NH_INVALID_ADDR_SZ", - 40963: "SL_NHLFE_INVALID_NEXT_HOP_ADDR", - 40964: "SL_NHLFE_VRF_NAME_TOOLONG", - 40965: "SL_NHLFE_NH_INF_NAME_MISSING", - 40966: "SL_NHLFE_NH_INTF_NAME_TOOLONG", - 40967: "SL_NHLFE_INVALID_LABEL_COUNT", - 40968: "SL_NHLFE_INVALID_PATH_ID", - 40969: "SL_NHLFE_INVALID_LABEL", - 40970: "SL_NHLFE_INVALID_PROTECTED_BITMAP", - 40971: "SL_NHLFE_INVALID_REMOTE_ADDR_COUNT", - 40972: "SL_NHLFE_REMOTE_ADDR_INVALID_SZ", - 40973: "SL_NHLFE_PRIMARY_TOOMANY_LABELS", - 40974: "SL_NHLFE_PRIMARY_TOOMANY_REMOTE_ADDR", - 40975: "SL_NHLFE_BACKUP_ID_REPEATED", - 40976: "SL_NHLFE_PRIMARY_ID_REPEATED", - 40977: "SL_NHLFE_BACKUP_PROTECTED_BITMAP_EMPTY", - 40978: "SL_NHLFE_PRIMARY_TOOMANY_BACKUP_PATHS", - 40979: "SL_NHLFE_REMOTE_ADDR_INVALID", - 40980: "SL_NHLFE_BACKUP_MISSING_PRIMARY_PATH", - 40981: "SL_NHLFE_NEXT_HOP_MISSING", - 40982: "SL_NHLFE_LABEL_ACTION_INVALID", - 40983: "SL_NHLFE_NH_INTF_NOT_FOUND", - 40984: "SL_NHLFE_OPER_FAILED", - 40985: "SL_NHLFE_LABEL_ACTION_MISSING", - 45056: "SL_LABEL_BLK_ERR_OFFSET", - 45057: "SL_LABEL_BLK_LSD_ADD_FAILED", - 45058: "SL_LABEL_BLK_LSD_DELETE_FAILED", - 45059: "SL_LABEL_BLK_LSD_LABEL_BLK_NOT_FOUND", - 45060: "SL_LABEL_BLK_LSD_LABEL_BLK_IN_USE", - 45061: "SL_LABEL_BLK_LSD_INVALID_ATTRIB", - 45062: "SL_LABEL_BLK_INVALID_BLOCK_SIZE", - 45063: "SL_LABEL_BLK_INVALID_START_LABEL", - 45064: "SL_LABEL_BLK_EEXIST", - 45065: "SL_LABEL_BLK_DB_NOMEM", - 49152: "SL_MPLS_REG_ERR_OFFSET", - 49153: "SL_MPLS_REG_ERR", - 49154: "SL_MPLS_UNREG_ERR", - 49155: "SL_MPLS_EOF_ERR", - 53248: "SL_RPC_INTF_START_OFFSET", - 53249: "SL_RPC_INTF_TOO_MANY_INTERFACES", - 53250: "SL_RPC_INTF_SERVER_NOT_INITIALIZED", - 53251: "SL_RPC_INTF_API_CLIENT_NOT_REGISTERED", - 57344: "SL_INTF_START_OFFSET", - 57345: "SL_INTF_INTERFACE_NAME_MISSING", - 57346: "SL_INTF_INTERFACE_NAME_TOOLONG", - 57347: "SL_INTF_INTERFACE_REG_ERR", - 57348: "SL_INTF_INTERNAL_DB_ERROR", - 57349: "SL_INTF_RECOVERY_ERROR", - 57350: "SL_INTF_INTERFACE_EXISTS", - 57351: "SL_INTF_INTERFACE_NOT_FOUND", - 1048576: "SL_INTERNAL_START_OFFSET", -} -var SLErrorStatus_SLErrno_value = map[string]int32{ - "SL_SUCCESS": 0, - "SL_NOT_CONNECTED": 1, - "SL_EAGAIN": 2, - "SL_ENOMEM": 3, - "SL_EBUSY": 4, - "SL_EINVAL": 5, - "SL_UNSUPPORTED_VER": 6, - "SL_NOT_AVAILABLE": 7, - "SL_STREAM_NOT_SUPPORTED": 8, - "SL_ENOTSUP": 9, - "SL_SOME_ERR": 10, - "SL_TIMEOUT": 11, - "SL_NOTIF_TERM": 12, - "SL_INIT_START_OFFSET": 1280, - "SL_INIT_STATE_CLEAR": 1281, - "SL_INIT_STATE_READY": 1282, - "SL_INIT_UNSUPPORTED_VER": 1283, - "SL_INIT_SERVER_NOT_INITIALIZED": 1284, - "SL_INIT_SERVER_MODE_CHANGE_FAILED": 1285, - "SL_RPC_VRF_START_OFFSET": 4096, - "SL_RPC_VRF_TOO_MANY_VRF_REG_MSGS": 4097, - "SL_RPC_VRF_SERVER_NOT_INITIALIZED": 4098, - "SL_VRF_START_OFFSET": 8192, - "SL_VRF_NAME_TOOLONG": 8193, - "SL_VRF_NOT_FOUND": 8194, - "SL_VRF_NO_TABLE_ID": 8195, - "SL_VRF_REG_INVALID_ADMIN_DISTANCE": 8196, - "SL_VRF_TABLE_ADD_ERR": 8197, - "SL_VRF_TABLE_REGISTRATION_ERR": 8198, - "SL_VRF_TABLE_UNREGISTRATION_ERR": 8199, - "SL_VRF_TABLE_EOF_ERR": 8200, - "SL_VRF_REG_VRF_NAME_MISSING": 8201, - "SL_RPC_ROUTE_START_OFFSET": 12288, - "SL_RPC_ROUTE_TOO_MANY_ROUTES": 12289, - "SL_RPC_ROUTE_VRF_NAME_TOOLONG": 12290, - "SL_RPC_ROUTE_VRF_NOT_FOUND": 12291, - "SL_RPC_ROUTE_VRF_NO_TABLE": 12292, - "SL_RPC_ROUTE_VRF_TABLE_NOT_REGISTERED": 12293, - "SL_RPC_ROUTE_VRF_NAME_MISSING": 12294, - "SL_RPC_ROUTE_INIT_MODE_INCOMPATIBLE": 12295, - "SL_RPC_ROUTE_SERVER_NOT_INITIALIZED": 12296, - "SL_ROUTE_START_OFFSET": 16384, - "SL_ROUTE_ADD_NO_PATHS": 16385, - "SL_ROUTE_UPDATE_NO_PATHS": 16386, - "SL_ROUTE_INVALID_PREFIX_LEN": 16387, - "SL_ROUTE_INVALID_ADMIN_DISTANCE": 16388, - "SL_ROUTE_INVALID_NUM_PATHS": 16389, - "SL_ROUTE_INVALID_PREFIX_SZ": 16390, - "SL_ROUTE_INVALID_PREFIX": 16391, - "SL_ROUTE_ERR_RIB_TABLE_LIMIT_REACHED": 16392, - "SL_ROUTE_ERR_RIB_INVALID_ARGS": 16393, - "SL_ROUTE_ERR_RIB_PATH_TABLE_LIMIT": 16394, - "SL_ROUTE_ERR_RIB_TOOMANYPATHS": 16395, - "SL_ROUTE_EEXIST": 16396, - "SL_ROUTE_HOST_BITS_SET": 16397, - "SL_ROUTE_INVALID_PREFIX_MCAST": 16398, - "SL_ROUTE_PATH_AFI_MISMATCH": 16399, - "SL_ROUTE_TOOMANY_PRIMARY_PATHS": 16400, - "SL_ROUTE_TOOMANY_BACKUP_PATHS": 16401, - "SL_ROUTE_DB_NOMEM": 16402, - "SL_ROUTE_INVALID_LOCAL_LABEL": 16403, - "SL_PATH_START_OFFSET": 20480, - "SL_PATH_NH_NO_TABLE": 20481, - "SL_PATH_NH_INTF_NOT_FOUND": 20482, - "SL_PATH_INVALID_LABEL_COUNT": 20483, - "SL_PATH_INVALID_ID": 20484, - "SL_PATH_VRF_NAME_TOOLONG": 20485, - "SL_PATH_NH_INTF_NAME_TOOLONG": 20486, - "SL_PATH_NH_INVALID_ADDR_SZ": 20487, - "SL_PATH_NH_INF_NAME_MISSING": 20488, - "SL_PATH_INVALID_NEXT_HOP_ADDR": 20489, - "SL_PATH_INVALID_REMOTE_ADDR_COUNT": 20490, - "SL_PATH_REMOTE_ADDR_INVALID_SZ": 20491, - "SL_PATH_REMOTE_ADDR_AFI_MISMATCH": 20492, - "SL_PATH_INVALID_PROTECTED_BITMAP": 20493, - "SL_PATH_BACKUP_MISSING_PRIMARY_PATH": 20494, - "SL_PATH_PRIMARY_ID_REPEATED": 20495, - "SL_PATH_BACKUP_ID_REPEATED": 20496, - "SL_PATH_PRIMARY_TOOMANY_BACKUP_PATHS": 20497, - "SL_PATH_PRIMARY_TOOMANY_LABELS": 20498, - "SL_PATH_PRIMARY_TOOMANY_REMOTE_ADDR": 20499, - "SL_PATH_REMOTE_ADDR_INVALID": 20500, - "SL_PATH_INVALID_LABEL": 20501, - "SL_RPC_BFD_START_OFFSET": 24576, - "SL_RPC_BFD_TOO_MANY_BFD_SESSIONS": 24577, - "SL_RPC_BFD_API_BAD_PARAMETER": 24578, - "SL_RPC_BFD_API_CLIENT_NOT_REGISTERED": 24579, - "SL_RPC_BFD_API_INTERNAL_ERROR": 24580, - "SL_RPC_BFD_SERVER_NOT_INITIALIZED": 24581, - "SL_RPC_BFD_V4_NOT_REGISTERED": 24582, - "SL_RPC_BFD_V6_NOT_REGISTERED": 24583, - "SL_BFD_START_OFFSET": 28672, - "SL_BFD_INTF_NAME_TOOLONG": 28673, - "SL_BFD_INTF_NOT_FOUND": 28674, - "SL_BFD_INVALID_ATTRIBUTE": 28675, - "SL_BFD_INTF_NAME_MISSING": 28676, - "SL_BFD_INVALID_NBR_MCAST": 28677, - "SL_BFD_INVALID_NBR": 28678, - "SL_BFD_VRF_NAME_TOOLONG": 28679, - "SL_BFD_BAD_PARAMETER": 28680, - "SL_BFD_API_INTERNAL_ERROR": 28681, - "SL_BFD_VRF_NOT_FOUND": 28682, - "SL_BFD_INVALID_PREFIX_SIZE": 28683, - "SL_BFD_INVALID_SESSION_TYPE": 28684, - "SL_BFD_INVALID_VRF": 28685, - "SL_BFD_SESSION_NOT_FOUND": 28686, - "SL_BFD_SESSION_EXISTS": 28687, - "SL_BFD_INTERNAL_DB_ERROR": 28688, - "SL_BFD_RECOVERY_ERROR": 28689, - "SL_RPC_MPLS_START_OFFSET": 32768, - "SL_RPC_MPLS_ILM_TOO_MANY_ILMS": 32769, - "SL_RPC_MPLS_SERVER_NOT_INITIALIZED": 32770, - "SL_RPC_MPLS_INIT_MODE_INCOMPATIBLE": 32771, - "SL_RPC_MPLS_LABEL_BLK_TOO_MANY_LABEL_BLKS": 32772, - "SL_RPC_MPLS_NOT_REGISTERED": 32773, - "SL_ILM_ERR_OFFSET": 36864, - "SL_ILM_ADD_FAILED": 36865, - "SL_ILM_LSD_ADD_FAILED": 36866, - "SL_ILM_INVALID_NUM_NHLFE": 36867, - "SL_ILM_INVALID_LABEL": 36868, - "SL_ILM_DELETE_FAILED": 36869, - "SL_ILM_LSD_DELETE_FAILED": 36870, - "SL_ILM_TOOMANY_PRIMARY_NHLFES": 36871, - "SL_ILM_TOOMANY_BACKUP_NHLFES": 36872, - "SL_ILM_LSD_ADD_LABEL_ALLOC_FAILED": 36873, - "SL_ILM_LSD_NHLFE_INVALID_ATTRIB": 36874, - "SL_ILM_EEXIST": 36875, - "SL_ILM_DB_NOMEM": 36876, - "SL_NHLFE_ERR_OFFSET": 40960, - "SL_NHLFE_NH_NO_TABLE": 40961, - "SL_NHLFE_NH_INVALID_ADDR_SZ": 40962, - "SL_NHLFE_INVALID_NEXT_HOP_ADDR": 40963, - "SL_NHLFE_VRF_NAME_TOOLONG": 40964, - "SL_NHLFE_NH_INF_NAME_MISSING": 40965, - "SL_NHLFE_NH_INTF_NAME_TOOLONG": 40966, - "SL_NHLFE_INVALID_LABEL_COUNT": 40967, - "SL_NHLFE_INVALID_PATH_ID": 40968, - "SL_NHLFE_INVALID_LABEL": 40969, - "SL_NHLFE_INVALID_PROTECTED_BITMAP": 40970, - "SL_NHLFE_INVALID_REMOTE_ADDR_COUNT": 40971, - "SL_NHLFE_REMOTE_ADDR_INVALID_SZ": 40972, - "SL_NHLFE_PRIMARY_TOOMANY_LABELS": 40973, - "SL_NHLFE_PRIMARY_TOOMANY_REMOTE_ADDR": 40974, - "SL_NHLFE_BACKUP_ID_REPEATED": 40975, - "SL_NHLFE_PRIMARY_ID_REPEATED": 40976, - "SL_NHLFE_BACKUP_PROTECTED_BITMAP_EMPTY": 40977, - "SL_NHLFE_PRIMARY_TOOMANY_BACKUP_PATHS": 40978, - "SL_NHLFE_REMOTE_ADDR_INVALID": 40979, - "SL_NHLFE_BACKUP_MISSING_PRIMARY_PATH": 40980, - "SL_NHLFE_NEXT_HOP_MISSING": 40981, - "SL_NHLFE_LABEL_ACTION_INVALID": 40982, - "SL_NHLFE_NH_INTF_NOT_FOUND": 40983, - "SL_NHLFE_OPER_FAILED": 40984, - "SL_NHLFE_LABEL_ACTION_MISSING": 40985, - "SL_LABEL_BLK_ERR_OFFSET": 45056, - "SL_LABEL_BLK_LSD_ADD_FAILED": 45057, - "SL_LABEL_BLK_LSD_DELETE_FAILED": 45058, - "SL_LABEL_BLK_LSD_LABEL_BLK_NOT_FOUND": 45059, - "SL_LABEL_BLK_LSD_LABEL_BLK_IN_USE": 45060, - "SL_LABEL_BLK_LSD_INVALID_ATTRIB": 45061, - "SL_LABEL_BLK_INVALID_BLOCK_SIZE": 45062, - "SL_LABEL_BLK_INVALID_START_LABEL": 45063, - "SL_LABEL_BLK_EEXIST": 45064, - "SL_LABEL_BLK_DB_NOMEM": 45065, - "SL_MPLS_REG_ERR_OFFSET": 49152, - "SL_MPLS_REG_ERR": 49153, - "SL_MPLS_UNREG_ERR": 49154, - "SL_MPLS_EOF_ERR": 49155, - "SL_RPC_INTF_START_OFFSET": 53248, - "SL_RPC_INTF_TOO_MANY_INTERFACES": 53249, - "SL_RPC_INTF_SERVER_NOT_INITIALIZED": 53250, - "SL_RPC_INTF_API_CLIENT_NOT_REGISTERED": 53251, - "SL_INTF_START_OFFSET": 57344, - "SL_INTF_INTERFACE_NAME_MISSING": 57345, - "SL_INTF_INTERFACE_NAME_TOOLONG": 57346, - "SL_INTF_INTERFACE_REG_ERR": 57347, - "SL_INTF_INTERNAL_DB_ERROR": 57348, - "SL_INTF_RECOVERY_ERROR": 57349, - "SL_INTF_INTERFACE_EXISTS": 57350, - "SL_INTF_INTERFACE_NOT_FOUND": 57351, - "SL_INTERNAL_START_OFFSET": 1048576, +// Enum value maps for SLErrorStatus_SLErrno. +var ( + SLErrorStatus_SLErrno_name = map[int32]string{ + 0: "SL_SUCCESS", + 1: "SL_NOT_CONNECTED", + 2: "SL_EAGAIN", + 3: "SL_ENOMEM", + 4: "SL_EBUSY", + 5: "SL_EINVAL", + 6: "SL_UNSUPPORTED_VER", + 7: "SL_NOT_AVAILABLE", + 8: "SL_STREAM_NOT_SUPPORTED", + 9: "SL_ENOTSUP", + 10: "SL_SOME_ERR", + 11: "SL_TIMEOUT", + 12: "SL_NOTIF_TERM", + 1280: "SL_INIT_START_OFFSET", + 1281: "SL_INIT_STATE_CLEAR", + 1282: "SL_INIT_STATE_READY", + 1283: "SL_INIT_UNSUPPORTED_VER", + 1284: "SL_INIT_SERVER_NOT_INITIALIZED", + 1285: "SL_INIT_SERVER_MODE_CHANGE_FAILED", + 4096: "SL_RPC_VRF_START_OFFSET", + 4097: "SL_RPC_VRF_TOO_MANY_VRF_REG_MSGS", + 4098: "SL_RPC_VRF_SERVER_NOT_INITIALIZED", + 8192: "SL_VRF_START_OFFSET", + 8193: "SL_VRF_NAME_TOOLONG", + 8194: "SL_VRF_NOT_FOUND", + 8195: "SL_VRF_NO_TABLE_ID", + 8196: "SL_VRF_REG_INVALID_ADMIN_DISTANCE", + 8197: "SL_VRF_TABLE_ADD_ERR", + 8198: "SL_VRF_TABLE_REGISTRATION_ERR", + 8199: "SL_VRF_TABLE_UNREGISTRATION_ERR", + 8200: "SL_VRF_TABLE_EOF_ERR", + 8201: "SL_VRF_REG_VRF_NAME_MISSING", + 12288: "SL_RPC_ROUTE_START_OFFSET", + 12289: "SL_RPC_ROUTE_TOO_MANY_ROUTES", + 12290: "SL_RPC_ROUTE_VRF_NAME_TOOLONG", + 12291: "SL_RPC_ROUTE_VRF_NOT_FOUND", + 12292: "SL_RPC_ROUTE_VRF_NO_TABLE", + 12293: "SL_RPC_ROUTE_VRF_TABLE_NOT_REGISTERED", + 12294: "SL_RPC_ROUTE_VRF_NAME_MISSING", + 12295: "SL_RPC_ROUTE_INIT_MODE_INCOMPATIBLE", + 12296: "SL_RPC_ROUTE_SERVER_NOT_INITIALIZED", + 16384: "SL_ROUTE_START_OFFSET", + 16385: "SL_ROUTE_ADD_NO_PATHS", + 16386: "SL_ROUTE_UPDATE_NO_PATHS", + 16387: "SL_ROUTE_INVALID_PREFIX_LEN", + 16388: "SL_ROUTE_INVALID_ADMIN_DISTANCE", + 16389: "SL_ROUTE_INVALID_NUM_PATHS", + 16390: "SL_ROUTE_INVALID_PREFIX_SZ", + 16391: "SL_ROUTE_INVALID_PREFIX", + 16392: "SL_ROUTE_ERR_RIB_TABLE_LIMIT_REACHED", + 16393: "SL_ROUTE_ERR_RIB_INVALID_ARGS", + 16394: "SL_ROUTE_ERR_RIB_PATH_TABLE_LIMIT", + 16395: "SL_ROUTE_ERR_RIB_TOOMANYPATHS", + 16396: "SL_ROUTE_EEXIST", + 16397: "SL_ROUTE_HOST_BITS_SET", + 16398: "SL_ROUTE_INVALID_PREFIX_MCAST", + 16399: "SL_ROUTE_PATH_AFI_MISMATCH", + 16400: "SL_ROUTE_TOOMANY_PRIMARY_PATHS", + 16401: "SL_ROUTE_TOOMANY_BACKUP_PATHS", + 16402: "SL_ROUTE_DB_NOMEM", + 16403: "SL_ROUTE_INVALID_LOCAL_LABEL", + 20480: "SL_PATH_START_OFFSET", + 20481: "SL_PATH_NH_NO_TABLE", + 20482: "SL_PATH_NH_INTF_NOT_FOUND", + 20483: "SL_PATH_INVALID_LABEL_COUNT", + 20484: "SL_PATH_INVALID_ID", + 20485: "SL_PATH_VRF_NAME_TOOLONG", + 20486: "SL_PATH_NH_INTF_NAME_TOOLONG", + 20487: "SL_PATH_NH_INVALID_ADDR_SZ", + 20488: "SL_PATH_NH_INF_NAME_MISSING", + 20489: "SL_PATH_INVALID_NEXT_HOP_ADDR", + 20490: "SL_PATH_INVALID_REMOTE_ADDR_COUNT", + 20491: "SL_PATH_REMOTE_ADDR_INVALID_SZ", + 20492: "SL_PATH_REMOTE_ADDR_AFI_MISMATCH", + 20493: "SL_PATH_INVALID_PROTECTED_BITMAP", + 20494: "SL_PATH_BACKUP_MISSING_PRIMARY_PATH", + 20495: "SL_PATH_PRIMARY_ID_REPEATED", + 20496: "SL_PATH_BACKUP_ID_REPEATED", + 20497: "SL_PATH_PRIMARY_TOOMANY_BACKUP_PATHS", + 20498: "SL_PATH_PRIMARY_TOOMANY_LABELS", + 20499: "SL_PATH_PRIMARY_TOOMANY_REMOTE_ADDR", + 20500: "SL_PATH_REMOTE_ADDR_INVALID", + 20501: "SL_PATH_INVALID_LABEL", + 24576: "SL_RPC_BFD_START_OFFSET", + 24577: "SL_RPC_BFD_TOO_MANY_BFD_SESSIONS", + 24578: "SL_RPC_BFD_API_BAD_PARAMETER", + 24579: "SL_RPC_BFD_API_CLIENT_NOT_REGISTERED", + 24580: "SL_RPC_BFD_API_INTERNAL_ERROR", + 24581: "SL_RPC_BFD_SERVER_NOT_INITIALIZED", + 24582: "SL_RPC_BFD_V4_NOT_REGISTERED", + 24583: "SL_RPC_BFD_V6_NOT_REGISTERED", + 28672: "SL_BFD_START_OFFSET", + 28673: "SL_BFD_INTF_NAME_TOOLONG", + 28674: "SL_BFD_INTF_NOT_FOUND", + 28675: "SL_BFD_INVALID_ATTRIBUTE", + 28676: "SL_BFD_INTF_NAME_MISSING", + 28677: "SL_BFD_INVALID_NBR_MCAST", + 28678: "SL_BFD_INVALID_NBR", + 28679: "SL_BFD_VRF_NAME_TOOLONG", + 28680: "SL_BFD_BAD_PARAMETER", + 28681: "SL_BFD_API_INTERNAL_ERROR", + 28682: "SL_BFD_VRF_NOT_FOUND", + 28683: "SL_BFD_INVALID_PREFIX_SIZE", + 28684: "SL_BFD_INVALID_SESSION_TYPE", + 28685: "SL_BFD_INVALID_VRF", + 28686: "SL_BFD_SESSION_NOT_FOUND", + 28687: "SL_BFD_SESSION_EXISTS", + 28688: "SL_BFD_INTERNAL_DB_ERROR", + 28689: "SL_BFD_RECOVERY_ERROR", + 32768: "SL_RPC_MPLS_START_OFFSET", + 32769: "SL_RPC_MPLS_ILM_TOO_MANY_ILMS", + 32770: "SL_RPC_MPLS_SERVER_NOT_INITIALIZED", + 32771: "SL_RPC_MPLS_INIT_MODE_INCOMPATIBLE", + 32772: "SL_RPC_MPLS_LABEL_BLK_TOO_MANY_LABEL_BLKS", + 32773: "SL_RPC_MPLS_NOT_REGISTERED", + 36864: "SL_ILM_ERR_OFFSET", + 36865: "SL_ILM_ADD_FAILED", + 36866: "SL_ILM_LSD_ADD_FAILED", + 36867: "SL_ILM_INVALID_NUM_NHLFE", + 36868: "SL_ILM_INVALID_LABEL", + 36869: "SL_ILM_DELETE_FAILED", + 36870: "SL_ILM_LSD_DELETE_FAILED", + 36871: "SL_ILM_TOOMANY_PRIMARY_NHLFES", + 36872: "SL_ILM_TOOMANY_BACKUP_NHLFES", + 36873: "SL_ILM_LSD_ADD_LABEL_ALLOC_FAILED", + 36874: "SL_ILM_LSD_NHLFE_INVALID_ATTRIB", + 36875: "SL_ILM_EEXIST", + 36876: "SL_ILM_DB_NOMEM", + 40960: "SL_NHLFE_ERR_OFFSET", + 40961: "SL_NHLFE_NH_NO_TABLE", + 40962: "SL_NHLFE_NH_INVALID_ADDR_SZ", + 40963: "SL_NHLFE_INVALID_NEXT_HOP_ADDR", + 40964: "SL_NHLFE_VRF_NAME_TOOLONG", + 40965: "SL_NHLFE_NH_INF_NAME_MISSING", + 40966: "SL_NHLFE_NH_INTF_NAME_TOOLONG", + 40967: "SL_NHLFE_INVALID_LABEL_COUNT", + 40968: "SL_NHLFE_INVALID_PATH_ID", + 40969: "SL_NHLFE_INVALID_LABEL", + 40970: "SL_NHLFE_INVALID_PROTECTED_BITMAP", + 40971: "SL_NHLFE_INVALID_REMOTE_ADDR_COUNT", + 40972: "SL_NHLFE_REMOTE_ADDR_INVALID_SZ", + 40973: "SL_NHLFE_PRIMARY_TOOMANY_LABELS", + 40974: "SL_NHLFE_PRIMARY_TOOMANY_REMOTE_ADDR", + 40975: "SL_NHLFE_BACKUP_ID_REPEATED", + 40976: "SL_NHLFE_PRIMARY_ID_REPEATED", + 40977: "SL_NHLFE_BACKUP_PROTECTED_BITMAP_EMPTY", + 40978: "SL_NHLFE_PRIMARY_TOOMANY_BACKUP_PATHS", + 40979: "SL_NHLFE_REMOTE_ADDR_INVALID", + 40980: "SL_NHLFE_BACKUP_MISSING_PRIMARY_PATH", + 40981: "SL_NHLFE_NEXT_HOP_MISSING", + 40982: "SL_NHLFE_LABEL_ACTION_INVALID", + 40983: "SL_NHLFE_NH_INTF_NOT_FOUND", + 40984: "SL_NHLFE_OPER_FAILED", + 40985: "SL_NHLFE_LABEL_ACTION_MISSING", + 45056: "SL_LABEL_BLK_ERR_OFFSET", + 45057: "SL_LABEL_BLK_LSD_ADD_FAILED", + 45058: "SL_LABEL_BLK_LSD_DELETE_FAILED", + 45059: "SL_LABEL_BLK_LSD_LABEL_BLK_NOT_FOUND", + 45060: "SL_LABEL_BLK_LSD_LABEL_BLK_IN_USE", + 45061: "SL_LABEL_BLK_LSD_INVALID_ATTRIB", + 45062: "SL_LABEL_BLK_INVALID_BLOCK_SIZE", + 45063: "SL_LABEL_BLK_INVALID_START_LABEL", + 45064: "SL_LABEL_BLK_EEXIST", + 45065: "SL_LABEL_BLK_DB_NOMEM", + 49152: "SL_MPLS_REG_ERR_OFFSET", + 49153: "SL_MPLS_REG_ERR", + 49154: "SL_MPLS_UNREG_ERR", + 49155: "SL_MPLS_EOF_ERR", + 53248: "SL_RPC_INTF_START_OFFSET", + 53249: "SL_RPC_INTF_TOO_MANY_INTERFACES", + 53250: "SL_RPC_INTF_SERVER_NOT_INITIALIZED", + 53251: "SL_RPC_INTF_API_CLIENT_NOT_REGISTERED", + 57344: "SL_INTF_START_OFFSET", + 57345: "SL_INTF_INTERFACE_NAME_MISSING", + 57346: "SL_INTF_INTERFACE_NAME_TOOLONG", + 57347: "SL_INTF_INTERFACE_REG_ERR", + 57348: "SL_INTF_INTERNAL_DB_ERROR", + 57349: "SL_INTF_RECOVERY_ERROR", + 57350: "SL_INTF_INTERFACE_EXISTS", + 57351: "SL_INTF_INTERFACE_NOT_FOUND", + 1048576: "SL_INTERNAL_START_OFFSET", + } + SLErrorStatus_SLErrno_value = map[string]int32{ + "SL_SUCCESS": 0, + "SL_NOT_CONNECTED": 1, + "SL_EAGAIN": 2, + "SL_ENOMEM": 3, + "SL_EBUSY": 4, + "SL_EINVAL": 5, + "SL_UNSUPPORTED_VER": 6, + "SL_NOT_AVAILABLE": 7, + "SL_STREAM_NOT_SUPPORTED": 8, + "SL_ENOTSUP": 9, + "SL_SOME_ERR": 10, + "SL_TIMEOUT": 11, + "SL_NOTIF_TERM": 12, + "SL_INIT_START_OFFSET": 1280, + "SL_INIT_STATE_CLEAR": 1281, + "SL_INIT_STATE_READY": 1282, + "SL_INIT_UNSUPPORTED_VER": 1283, + "SL_INIT_SERVER_NOT_INITIALIZED": 1284, + "SL_INIT_SERVER_MODE_CHANGE_FAILED": 1285, + "SL_RPC_VRF_START_OFFSET": 4096, + "SL_RPC_VRF_TOO_MANY_VRF_REG_MSGS": 4097, + "SL_RPC_VRF_SERVER_NOT_INITIALIZED": 4098, + "SL_VRF_START_OFFSET": 8192, + "SL_VRF_NAME_TOOLONG": 8193, + "SL_VRF_NOT_FOUND": 8194, + "SL_VRF_NO_TABLE_ID": 8195, + "SL_VRF_REG_INVALID_ADMIN_DISTANCE": 8196, + "SL_VRF_TABLE_ADD_ERR": 8197, + "SL_VRF_TABLE_REGISTRATION_ERR": 8198, + "SL_VRF_TABLE_UNREGISTRATION_ERR": 8199, + "SL_VRF_TABLE_EOF_ERR": 8200, + "SL_VRF_REG_VRF_NAME_MISSING": 8201, + "SL_RPC_ROUTE_START_OFFSET": 12288, + "SL_RPC_ROUTE_TOO_MANY_ROUTES": 12289, + "SL_RPC_ROUTE_VRF_NAME_TOOLONG": 12290, + "SL_RPC_ROUTE_VRF_NOT_FOUND": 12291, + "SL_RPC_ROUTE_VRF_NO_TABLE": 12292, + "SL_RPC_ROUTE_VRF_TABLE_NOT_REGISTERED": 12293, + "SL_RPC_ROUTE_VRF_NAME_MISSING": 12294, + "SL_RPC_ROUTE_INIT_MODE_INCOMPATIBLE": 12295, + "SL_RPC_ROUTE_SERVER_NOT_INITIALIZED": 12296, + "SL_ROUTE_START_OFFSET": 16384, + "SL_ROUTE_ADD_NO_PATHS": 16385, + "SL_ROUTE_UPDATE_NO_PATHS": 16386, + "SL_ROUTE_INVALID_PREFIX_LEN": 16387, + "SL_ROUTE_INVALID_ADMIN_DISTANCE": 16388, + "SL_ROUTE_INVALID_NUM_PATHS": 16389, + "SL_ROUTE_INVALID_PREFIX_SZ": 16390, + "SL_ROUTE_INVALID_PREFIX": 16391, + "SL_ROUTE_ERR_RIB_TABLE_LIMIT_REACHED": 16392, + "SL_ROUTE_ERR_RIB_INVALID_ARGS": 16393, + "SL_ROUTE_ERR_RIB_PATH_TABLE_LIMIT": 16394, + "SL_ROUTE_ERR_RIB_TOOMANYPATHS": 16395, + "SL_ROUTE_EEXIST": 16396, + "SL_ROUTE_HOST_BITS_SET": 16397, + "SL_ROUTE_INVALID_PREFIX_MCAST": 16398, + "SL_ROUTE_PATH_AFI_MISMATCH": 16399, + "SL_ROUTE_TOOMANY_PRIMARY_PATHS": 16400, + "SL_ROUTE_TOOMANY_BACKUP_PATHS": 16401, + "SL_ROUTE_DB_NOMEM": 16402, + "SL_ROUTE_INVALID_LOCAL_LABEL": 16403, + "SL_PATH_START_OFFSET": 20480, + "SL_PATH_NH_NO_TABLE": 20481, + "SL_PATH_NH_INTF_NOT_FOUND": 20482, + "SL_PATH_INVALID_LABEL_COUNT": 20483, + "SL_PATH_INVALID_ID": 20484, + "SL_PATH_VRF_NAME_TOOLONG": 20485, + "SL_PATH_NH_INTF_NAME_TOOLONG": 20486, + "SL_PATH_NH_INVALID_ADDR_SZ": 20487, + "SL_PATH_NH_INF_NAME_MISSING": 20488, + "SL_PATH_INVALID_NEXT_HOP_ADDR": 20489, + "SL_PATH_INVALID_REMOTE_ADDR_COUNT": 20490, + "SL_PATH_REMOTE_ADDR_INVALID_SZ": 20491, + "SL_PATH_REMOTE_ADDR_AFI_MISMATCH": 20492, + "SL_PATH_INVALID_PROTECTED_BITMAP": 20493, + "SL_PATH_BACKUP_MISSING_PRIMARY_PATH": 20494, + "SL_PATH_PRIMARY_ID_REPEATED": 20495, + "SL_PATH_BACKUP_ID_REPEATED": 20496, + "SL_PATH_PRIMARY_TOOMANY_BACKUP_PATHS": 20497, + "SL_PATH_PRIMARY_TOOMANY_LABELS": 20498, + "SL_PATH_PRIMARY_TOOMANY_REMOTE_ADDR": 20499, + "SL_PATH_REMOTE_ADDR_INVALID": 20500, + "SL_PATH_INVALID_LABEL": 20501, + "SL_RPC_BFD_START_OFFSET": 24576, + "SL_RPC_BFD_TOO_MANY_BFD_SESSIONS": 24577, + "SL_RPC_BFD_API_BAD_PARAMETER": 24578, + "SL_RPC_BFD_API_CLIENT_NOT_REGISTERED": 24579, + "SL_RPC_BFD_API_INTERNAL_ERROR": 24580, + "SL_RPC_BFD_SERVER_NOT_INITIALIZED": 24581, + "SL_RPC_BFD_V4_NOT_REGISTERED": 24582, + "SL_RPC_BFD_V6_NOT_REGISTERED": 24583, + "SL_BFD_START_OFFSET": 28672, + "SL_BFD_INTF_NAME_TOOLONG": 28673, + "SL_BFD_INTF_NOT_FOUND": 28674, + "SL_BFD_INVALID_ATTRIBUTE": 28675, + "SL_BFD_INTF_NAME_MISSING": 28676, + "SL_BFD_INVALID_NBR_MCAST": 28677, + "SL_BFD_INVALID_NBR": 28678, + "SL_BFD_VRF_NAME_TOOLONG": 28679, + "SL_BFD_BAD_PARAMETER": 28680, + "SL_BFD_API_INTERNAL_ERROR": 28681, + "SL_BFD_VRF_NOT_FOUND": 28682, + "SL_BFD_INVALID_PREFIX_SIZE": 28683, + "SL_BFD_INVALID_SESSION_TYPE": 28684, + "SL_BFD_INVALID_VRF": 28685, + "SL_BFD_SESSION_NOT_FOUND": 28686, + "SL_BFD_SESSION_EXISTS": 28687, + "SL_BFD_INTERNAL_DB_ERROR": 28688, + "SL_BFD_RECOVERY_ERROR": 28689, + "SL_RPC_MPLS_START_OFFSET": 32768, + "SL_RPC_MPLS_ILM_TOO_MANY_ILMS": 32769, + "SL_RPC_MPLS_SERVER_NOT_INITIALIZED": 32770, + "SL_RPC_MPLS_INIT_MODE_INCOMPATIBLE": 32771, + "SL_RPC_MPLS_LABEL_BLK_TOO_MANY_LABEL_BLKS": 32772, + "SL_RPC_MPLS_NOT_REGISTERED": 32773, + "SL_ILM_ERR_OFFSET": 36864, + "SL_ILM_ADD_FAILED": 36865, + "SL_ILM_LSD_ADD_FAILED": 36866, + "SL_ILM_INVALID_NUM_NHLFE": 36867, + "SL_ILM_INVALID_LABEL": 36868, + "SL_ILM_DELETE_FAILED": 36869, + "SL_ILM_LSD_DELETE_FAILED": 36870, + "SL_ILM_TOOMANY_PRIMARY_NHLFES": 36871, + "SL_ILM_TOOMANY_BACKUP_NHLFES": 36872, + "SL_ILM_LSD_ADD_LABEL_ALLOC_FAILED": 36873, + "SL_ILM_LSD_NHLFE_INVALID_ATTRIB": 36874, + "SL_ILM_EEXIST": 36875, + "SL_ILM_DB_NOMEM": 36876, + "SL_NHLFE_ERR_OFFSET": 40960, + "SL_NHLFE_NH_NO_TABLE": 40961, + "SL_NHLFE_NH_INVALID_ADDR_SZ": 40962, + "SL_NHLFE_INVALID_NEXT_HOP_ADDR": 40963, + "SL_NHLFE_VRF_NAME_TOOLONG": 40964, + "SL_NHLFE_NH_INF_NAME_MISSING": 40965, + "SL_NHLFE_NH_INTF_NAME_TOOLONG": 40966, + "SL_NHLFE_INVALID_LABEL_COUNT": 40967, + "SL_NHLFE_INVALID_PATH_ID": 40968, + "SL_NHLFE_INVALID_LABEL": 40969, + "SL_NHLFE_INVALID_PROTECTED_BITMAP": 40970, + "SL_NHLFE_INVALID_REMOTE_ADDR_COUNT": 40971, + "SL_NHLFE_REMOTE_ADDR_INVALID_SZ": 40972, + "SL_NHLFE_PRIMARY_TOOMANY_LABELS": 40973, + "SL_NHLFE_PRIMARY_TOOMANY_REMOTE_ADDR": 40974, + "SL_NHLFE_BACKUP_ID_REPEATED": 40975, + "SL_NHLFE_PRIMARY_ID_REPEATED": 40976, + "SL_NHLFE_BACKUP_PROTECTED_BITMAP_EMPTY": 40977, + "SL_NHLFE_PRIMARY_TOOMANY_BACKUP_PATHS": 40978, + "SL_NHLFE_REMOTE_ADDR_INVALID": 40979, + "SL_NHLFE_BACKUP_MISSING_PRIMARY_PATH": 40980, + "SL_NHLFE_NEXT_HOP_MISSING": 40981, + "SL_NHLFE_LABEL_ACTION_INVALID": 40982, + "SL_NHLFE_NH_INTF_NOT_FOUND": 40983, + "SL_NHLFE_OPER_FAILED": 40984, + "SL_NHLFE_LABEL_ACTION_MISSING": 40985, + "SL_LABEL_BLK_ERR_OFFSET": 45056, + "SL_LABEL_BLK_LSD_ADD_FAILED": 45057, + "SL_LABEL_BLK_LSD_DELETE_FAILED": 45058, + "SL_LABEL_BLK_LSD_LABEL_BLK_NOT_FOUND": 45059, + "SL_LABEL_BLK_LSD_LABEL_BLK_IN_USE": 45060, + "SL_LABEL_BLK_LSD_INVALID_ATTRIB": 45061, + "SL_LABEL_BLK_INVALID_BLOCK_SIZE": 45062, + "SL_LABEL_BLK_INVALID_START_LABEL": 45063, + "SL_LABEL_BLK_EEXIST": 45064, + "SL_LABEL_BLK_DB_NOMEM": 45065, + "SL_MPLS_REG_ERR_OFFSET": 49152, + "SL_MPLS_REG_ERR": 49153, + "SL_MPLS_UNREG_ERR": 49154, + "SL_MPLS_EOF_ERR": 49155, + "SL_RPC_INTF_START_OFFSET": 53248, + "SL_RPC_INTF_TOO_MANY_INTERFACES": 53249, + "SL_RPC_INTF_SERVER_NOT_INITIALIZED": 53250, + "SL_RPC_INTF_API_CLIENT_NOT_REGISTERED": 53251, + "SL_INTF_START_OFFSET": 57344, + "SL_INTF_INTERFACE_NAME_MISSING": 57345, + "SL_INTF_INTERFACE_NAME_TOOLONG": 57346, + "SL_INTF_INTERFACE_REG_ERR": 57347, + "SL_INTF_INTERNAL_DB_ERROR": 57348, + "SL_INTF_RECOVERY_ERROR": 57349, + "SL_INTF_INTERFACE_EXISTS": 57350, + "SL_INTF_INTERFACE_NOT_FOUND": 57351, + "SL_INTERNAL_START_OFFSET": 1048576, + } +) + +func (x SLErrorStatus_SLErrno) Enum() *SLErrorStatus_SLErrno { + p := new(SLErrorStatus_SLErrno) + *p = x + return p } func (x SLErrorStatus_SLErrno) String() string { - return proto.EnumName(SLErrorStatus_SLErrno_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SLErrorStatus_SLErrno) Descriptor() protoreflect.EnumDescriptor { + return file_sl_common_types_proto_enumTypes[3].Descriptor() +} + +func (SLErrorStatus_SLErrno) Type() protoreflect.EnumType { + return &file_sl_common_types_proto_enumTypes[3] +} + +func (x SLErrorStatus_SLErrno) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SLErrorStatus_SLErrno.Descriptor instead. +func (SLErrorStatus_SLErrno) EnumDescriptor() ([]byte, []int) { + return file_sl_common_types_proto_rawDescGZIP(), []int{0, 0} } -func (SLErrorStatus_SLErrno) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0, 0} } // Status codes, including errors and success codes. // All service layer errors are defined below. type SLErrorStatus struct { - Status SLErrorStatus_SLErrno `protobuf:"varint,1,opt,name=Status,enum=service_layer.SLErrorStatus_SLErrno" json:"Status,omitempty"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status SLErrorStatus_SLErrno `protobuf:"varint,1,opt,name=Status,proto3,enum=SLErrorStatus_SLErrno" json:"Status,omitempty"` +} + +func (x *SLErrorStatus) Reset() { + *x = SLErrorStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_common_types_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *SLErrorStatus) Reset() { *m = SLErrorStatus{} } -func (m *SLErrorStatus) String() string { return proto.CompactTextString(m) } -func (*SLErrorStatus) ProtoMessage() {} -func (*SLErrorStatus) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } +func (x *SLErrorStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} -func (m *SLErrorStatus) GetStatus() SLErrorStatus_SLErrno { - if m != nil { - return m.Status +func (*SLErrorStatus) ProtoMessage() {} + +func (x *SLErrorStatus) ProtoReflect() protoreflect.Message { + mi := &file_sl_common_types_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLErrorStatus.ProtoReflect.Descriptor instead. +func (*SLErrorStatus) Descriptor() ([]byte, []int) { + return file_sl_common_types_proto_rawDescGZIP(), []int{0} +} + +func (x *SLErrorStatus) GetStatus() SLErrorStatus_SLErrno { + if x != nil { + return x.Status } return SLErrorStatus_SL_SUCCESS } // Interface info. type SLInterface struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // One of Interface name or handle // - // Types that are valid to be assigned to Interface: + // Types that are assignable to Interface: // *SLInterface_Name // *SLInterface_Handle Interface isSLInterface_Interface `protobuf_oneof:"Interface"` } -func (m *SLInterface) Reset() { *m = SLInterface{} } -func (m *SLInterface) String() string { return proto.CompactTextString(m) } -func (*SLInterface) ProtoMessage() {} -func (*SLInterface) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } - -type isSLInterface_Interface interface { - isSLInterface_Interface() +func (x *SLInterface) Reset() { + *x = SLInterface{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_common_types_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -type SLInterface_Name struct { - Name string `protobuf:"bytes,1,opt,name=Name,oneof"` +func (x *SLInterface) String() string { + return protoimpl.X.MessageStringOf(x) } -type SLInterface_Handle struct { - Handle uint32 `protobuf:"varint,2,opt,name=Handle,oneof"` + +func (*SLInterface) ProtoMessage() {} + +func (x *SLInterface) ProtoReflect() protoreflect.Message { + mi := &file_sl_common_types_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -func (*SLInterface_Name) isSLInterface_Interface() {} -func (*SLInterface_Handle) isSLInterface_Interface() {} +// Deprecated: Use SLInterface.ProtoReflect.Descriptor instead. +func (*SLInterface) Descriptor() ([]byte, []int) { + return file_sl_common_types_proto_rawDescGZIP(), []int{1} +} func (m *SLInterface) GetInterface() isSLInterface_Interface { if m != nil { @@ -980,113 +1102,83 @@ func (m *SLInterface) GetInterface() isSLInterface_Interface { return nil } -func (m *SLInterface) GetName() string { - if x, ok := m.GetInterface().(*SLInterface_Name); ok { +func (x *SLInterface) GetName() string { + if x, ok := x.GetInterface().(*SLInterface_Name); ok { return x.Name } return "" } -func (m *SLInterface) GetHandle() uint32 { - if x, ok := m.GetInterface().(*SLInterface_Handle); ok { +func (x *SLInterface) GetHandle() uint32 { + if x, ok := x.GetInterface().(*SLInterface_Handle); ok { return x.Handle } return 0 } -// XXX_OneofFuncs is for the internal use of the proto package. -func (*SLInterface) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { - return _SLInterface_OneofMarshaler, _SLInterface_OneofUnmarshaler, _SLInterface_OneofSizer, []interface{}{ - (*SLInterface_Name)(nil), - (*SLInterface_Handle)(nil), - } +type isSLInterface_Interface interface { + isSLInterface_Interface() } -func _SLInterface_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { - m := msg.(*SLInterface) - // Interface - switch x := m.Interface.(type) { - case *SLInterface_Name: - b.EncodeVarint(1<<3 | proto.WireBytes) - b.EncodeStringBytes(x.Name) - case *SLInterface_Handle: - b.EncodeVarint(2<<3 | proto.WireVarint) - b.EncodeVarint(uint64(x.Handle)) - case nil: - default: - return fmt.Errorf("SLInterface.Interface has unexpected type %T", x) - } - return nil +type SLInterface_Name struct { + // Interface name. + Name string `protobuf:"bytes,1,opt,name=Name,proto3,oneof"` } -func _SLInterface_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { - m := msg.(*SLInterface) - switch tag { - case 1: // Interface.Name - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeStringBytes() - m.Interface = &SLInterface_Name{x} - return true, err - case 2: // Interface.Handle - if wire != proto.WireVarint { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeVarint() - m.Interface = &SLInterface_Handle{uint32(x)} - return true, err - default: - return false, nil - } +type SLInterface_Handle struct { + // Interface handle. Can be retrieved from Interface API. + Handle uint32 `protobuf:"varint,2,opt,name=Handle,proto3,oneof"` } -func _SLInterface_OneofSizer(msg proto.Message) (n int) { - m := msg.(*SLInterface) - // Interface - switch x := m.Interface.(type) { - case *SLInterface_Name: - n += proto.SizeVarint(1<<3 | proto.WireBytes) - n += proto.SizeVarint(uint64(len(x.Name))) - n += len(x.Name) - case *SLInterface_Handle: - n += proto.SizeVarint(2<<3 | proto.WireVarint) - n += proto.SizeVarint(uint64(x.Handle)) - case nil: - default: - panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) - } - return n -} +func (*SLInterface_Name) isSLInterface_Interface() {} + +func (*SLInterface_Handle) isSLInterface_Interface() {} // One of IPv4 or IPv6 addresses. type SLIpAddress struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // One of IPv4 or IPv6 address // - // Types that are valid to be assigned to Address: + // Types that are assignable to Address: // *SLIpAddress_V4Address // *SLIpAddress_V6Address Address isSLIpAddress_Address `protobuf_oneof:"Address"` } -func (m *SLIpAddress) Reset() { *m = SLIpAddress{} } -func (m *SLIpAddress) String() string { return proto.CompactTextString(m) } -func (*SLIpAddress) ProtoMessage() {} -func (*SLIpAddress) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } - -type isSLIpAddress_Address interface { - isSLIpAddress_Address() +func (x *SLIpAddress) Reset() { + *x = SLIpAddress{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_common_types_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -type SLIpAddress_V4Address struct { - V4Address uint32 `protobuf:"varint,1,opt,name=V4Address,oneof"` +func (x *SLIpAddress) String() string { + return protoimpl.X.MessageStringOf(x) } -type SLIpAddress_V6Address struct { - V6Address []byte `protobuf:"bytes,2,opt,name=V6Address,proto3,oneof"` + +func (*SLIpAddress) ProtoMessage() {} + +func (x *SLIpAddress) ProtoReflect() protoreflect.Message { + mi := &file_sl_common_types_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -func (*SLIpAddress_V4Address) isSLIpAddress_Address() {} -func (*SLIpAddress_V6Address) isSLIpAddress_Address() {} +// Deprecated: Use SLIpAddress.ProtoReflect.Descriptor instead. +func (*SLIpAddress) Descriptor() ([]byte, []int) { + return file_sl_common_types_proto_rawDescGZIP(), []int{2} +} func (m *SLIpAddress) GetAddress() isSLIpAddress_Address { if m != nil { @@ -1095,240 +1187,551 @@ func (m *SLIpAddress) GetAddress() isSLIpAddress_Address { return nil } -func (m *SLIpAddress) GetV4Address() uint32 { - if x, ok := m.GetAddress().(*SLIpAddress_V4Address); ok { +func (x *SLIpAddress) GetV4Address() uint32 { + if x, ok := x.GetAddress().(*SLIpAddress_V4Address); ok { return x.V4Address } return 0 } -func (m *SLIpAddress) GetV6Address() []byte { - if x, ok := m.GetAddress().(*SLIpAddress_V6Address); ok { +func (x *SLIpAddress) GetV6Address() []byte { + if x, ok := x.GetAddress().(*SLIpAddress_V6Address); ok { return x.V6Address } return nil } -// XXX_OneofFuncs is for the internal use of the proto package. -func (*SLIpAddress) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { - return _SLIpAddress_OneofMarshaler, _SLIpAddress_OneofUnmarshaler, _SLIpAddress_OneofSizer, []interface{}{ - (*SLIpAddress_V4Address)(nil), - (*SLIpAddress_V6Address)(nil), - } +type isSLIpAddress_Address interface { + isSLIpAddress_Address() } -func _SLIpAddress_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { - m := msg.(*SLIpAddress) - // Address - switch x := m.Address.(type) { - case *SLIpAddress_V4Address: - b.EncodeVarint(1<<3 | proto.WireVarint) - b.EncodeVarint(uint64(x.V4Address)) - case *SLIpAddress_V6Address: - b.EncodeVarint(2<<3 | proto.WireBytes) - b.EncodeRawBytes(x.V6Address) - case nil: - default: - return fmt.Errorf("SLIpAddress.Address has unexpected type %T", x) - } - return nil +type SLIpAddress_V4Address struct { + V4Address uint32 `protobuf:"varint,1,opt,name=V4Address,proto3,oneof"` } -func _SLIpAddress_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { - m := msg.(*SLIpAddress) - switch tag { - case 1: // Address.V4Address - if wire != proto.WireVarint { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeVarint() - m.Address = &SLIpAddress_V4Address{uint32(x)} - return true, err - case 2: // Address.V6Address - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeRawBytes(true) - m.Address = &SLIpAddress_V6Address{x} - return true, err - default: - return false, nil - } +type SLIpAddress_V6Address struct { + V6Address []byte `protobuf:"bytes,2,opt,name=V6Address,proto3,oneof"` } -func _SLIpAddress_OneofSizer(msg proto.Message) (n int) { - m := msg.(*SLIpAddress) - // Address - switch x := m.Address.(type) { - case *SLIpAddress_V4Address: - n += proto.SizeVarint(1<<3 | proto.WireVarint) - n += proto.SizeVarint(uint64(x.V4Address)) - case *SLIpAddress_V6Address: - n += proto.SizeVarint(2<<3 | proto.WireBytes) - n += proto.SizeVarint(uint64(len(x.V6Address))) - n += len(x.V6Address) - case nil: - default: - panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) - } - return n +func (*SLIpAddress_V4Address) isSLIpAddress_Address() {} + +func (*SLIpAddress_V6Address) isSLIpAddress_Address() {} + +var File_sl_common_types_proto protoreflect.FileDescriptor + +var file_sl_common_types_proto_rawDesc = []byte{ + 0x0a, 0x15, 0x73, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x2f, 0x0a, 0x0d, 0x53, 0x4c, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2e, 0x0a, 0x06, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x53, 0x4c, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6e, + 0x6f, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xe8, 0x2e, 0x0a, 0x07, 0x53, 0x4c, + 0x45, 0x72, 0x72, 0x6e, 0x6f, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x4c, 0x5f, 0x53, 0x55, 0x43, 0x43, + 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, + 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, + 0x4c, 0x5f, 0x45, 0x41, 0x47, 0x41, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x4c, + 0x5f, 0x45, 0x4e, 0x4f, 0x4d, 0x45, 0x4d, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x4c, 0x5f, + 0x45, 0x42, 0x55, 0x53, 0x59, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x4c, 0x5f, 0x45, 0x49, + 0x4e, 0x56, 0x41, 0x4c, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x4c, 0x5f, 0x55, 0x4e, 0x53, + 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x56, 0x45, 0x52, 0x10, 0x06, 0x12, 0x14, + 0x0a, 0x10, 0x53, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, + 0x4c, 0x45, 0x10, 0x07, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41, + 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, + 0x08, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x4c, 0x5f, 0x45, 0x4e, 0x4f, 0x54, 0x53, 0x55, 0x50, 0x10, + 0x09, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x4c, 0x5f, 0x53, 0x4f, 0x4d, 0x45, 0x5f, 0x45, 0x52, 0x52, + 0x10, 0x0a, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x4c, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, + 0x10, 0x0b, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x5f, 0x54, + 0x45, 0x52, 0x4d, 0x10, 0x0c, 0x12, 0x19, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x49, 0x54, + 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0x0a, + 0x12, 0x18, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x45, 0x5f, 0x43, 0x4c, 0x45, 0x41, 0x52, 0x10, 0x81, 0x0a, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x4c, + 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x44, + 0x59, 0x10, 0x82, 0x0a, 0x12, 0x1c, 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, + 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x56, 0x45, 0x52, 0x10, + 0x83, 0x0a, 0x12, 0x23, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x53, 0x45, + 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, + 0x49, 0x5a, 0x45, 0x44, 0x10, 0x84, 0x0a, 0x12, 0x26, 0x0a, 0x21, 0x53, 0x4c, 0x5f, 0x49, 0x4e, + 0x49, 0x54, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, + 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x85, 0x0a, 0x12, + 0x1c, 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x53, 0x54, + 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0x20, 0x12, 0x25, 0x0a, + 0x20, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, + 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x52, 0x45, 0x47, 0x5f, 0x4d, 0x53, 0x47, + 0x53, 0x10, 0x81, 0x20, 0x12, 0x26, 0x0a, 0x21, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x56, + 0x52, 0x46, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, + 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x82, 0x20, 0x12, 0x18, 0x0a, 0x13, + 0x53, 0x4c, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, + 0x53, 0x45, 0x54, 0x10, 0x80, 0x40, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x56, 0x52, 0x46, + 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x81, 0x40, + 0x12, 0x15, 0x0a, 0x10, 0x53, 0x4c, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, + 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x82, 0x40, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x4c, 0x5f, 0x56, 0x52, + 0x46, 0x5f, 0x4e, 0x4f, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x49, 0x44, 0x10, 0x83, 0x40, + 0x12, 0x26, 0x0a, 0x21, 0x53, 0x4c, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x52, 0x45, 0x47, 0x5f, 0x49, + 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x44, 0x49, 0x53, + 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x84, 0x40, 0x12, 0x19, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x56, + 0x52, 0x46, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x45, 0x52, 0x52, + 0x10, 0x85, 0x40, 0x12, 0x22, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x54, 0x41, + 0x42, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x45, 0x52, 0x52, 0x10, 0x86, 0x40, 0x12, 0x24, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x56, 0x52, + 0x46, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x55, 0x4e, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, + 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x87, 0x40, 0x12, 0x19, 0x0a, + 0x14, 0x53, 0x4c, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x45, 0x4f, + 0x46, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x88, 0x40, 0x12, 0x20, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x56, + 0x52, 0x46, 0x5f, 0x52, 0x45, 0x47, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, + 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x89, 0x40, 0x12, 0x1e, 0x0a, 0x19, 0x53, 0x4c, + 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, + 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0x60, 0x12, 0x21, 0x0a, 0x1c, 0x53, 0x4c, + 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, + 0x41, 0x4e, 0x59, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x53, 0x10, 0x81, 0x60, 0x12, 0x22, 0x0a, + 0x1d, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x56, 0x52, + 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x82, + 0x60, 0x12, 0x1f, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x52, 0x4f, 0x55, 0x54, + 0x45, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, + 0x83, 0x60, 0x12, 0x1e, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x52, 0x4f, 0x55, + 0x54, 0x45, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x4f, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, + 0x84, 0x60, 0x12, 0x2a, 0x0a, 0x25, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x52, 0x4f, 0x55, + 0x54, 0x45, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4e, 0x4f, 0x54, + 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x45, 0x44, 0x10, 0x85, 0x60, 0x12, 0x22, + 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x56, + 0x52, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, + 0x86, 0x60, 0x12, 0x28, 0x0a, 0x23, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x52, 0x4f, 0x55, + 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x43, + 0x4f, 0x4d, 0x50, 0x41, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x87, 0x60, 0x12, 0x28, 0x0a, 0x23, + 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x52, + 0x56, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, + 0x5a, 0x45, 0x44, 0x10, 0x88, 0x60, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, + 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, + 0x80, 0x80, 0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, + 0x41, 0x44, 0x44, 0x5f, 0x4e, 0x4f, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x53, 0x10, 0x81, 0x80, 0x01, + 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x55, 0x50, 0x44, + 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x53, 0x10, 0x82, 0x80, 0x01, + 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x56, + 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x4c, 0x45, 0x4e, 0x10, + 0x83, 0x80, 0x01, 0x12, 0x25, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, + 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x44, 0x49, + 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x84, 0x80, 0x01, 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, + 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4e, + 0x55, 0x4d, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x53, 0x10, 0x85, 0x80, 0x01, 0x12, 0x20, 0x0a, 0x1a, + 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, + 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x53, 0x5a, 0x10, 0x86, 0x80, 0x01, 0x12, 0x1d, + 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, + 0x49, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x10, 0x87, 0x80, 0x01, 0x12, 0x2a, 0x0a, + 0x24, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x5f, 0x52, 0x49, + 0x42, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x52, 0x45, + 0x41, 0x43, 0x48, 0x45, 0x44, 0x10, 0x88, 0x80, 0x01, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, + 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x5f, 0x52, 0x49, 0x42, 0x5f, 0x49, 0x4e, + 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x52, 0x47, 0x53, 0x10, 0x89, 0x80, 0x01, 0x12, 0x27, + 0x0a, 0x21, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x5f, 0x52, + 0x49, 0x42, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, + 0x4d, 0x49, 0x54, 0x10, 0x8a, 0x80, 0x01, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x52, 0x4f, + 0x55, 0x54, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x5f, 0x52, 0x49, 0x42, 0x5f, 0x54, 0x4f, 0x4f, 0x4d, + 0x41, 0x4e, 0x59, 0x50, 0x41, 0x54, 0x48, 0x53, 0x10, 0x8b, 0x80, 0x01, 0x12, 0x15, 0x0a, 0x0f, + 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x45, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, + 0x8c, 0x80, 0x01, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, + 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x42, 0x49, 0x54, 0x53, 0x5f, 0x53, 0x45, 0x54, 0x10, 0x8d, 0x80, + 0x01, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x49, 0x4e, + 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x4d, 0x43, 0x41, + 0x53, 0x54, 0x10, 0x8e, 0x80, 0x01, 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, + 0x54, 0x45, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x41, 0x46, 0x49, 0x5f, 0x4d, 0x49, 0x53, 0x4d, + 0x41, 0x54, 0x43, 0x48, 0x10, 0x8f, 0x80, 0x01, 0x12, 0x24, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x52, + 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x50, 0x52, 0x49, + 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x53, 0x10, 0x90, 0x80, 0x01, 0x12, 0x23, + 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4d, 0x41, + 0x4e, 0x59, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x53, 0x10, + 0x91, 0x80, 0x01, 0x12, 0x17, 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, + 0x44, 0x42, 0x5f, 0x4e, 0x4f, 0x4d, 0x45, 0x4d, 0x10, 0x92, 0x80, 0x01, 0x12, 0x22, 0x0a, 0x1c, + 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, + 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x10, 0x93, 0x80, 0x01, + 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x52, + 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0xa0, 0x01, 0x12, 0x19, 0x0a, 0x13, + 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x4e, 0x48, 0x5f, 0x4e, 0x4f, 0x5f, 0x54, 0x41, + 0x42, 0x4c, 0x45, 0x10, 0x81, 0xa0, 0x01, 0x12, 0x1f, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x50, 0x41, + 0x54, 0x48, 0x5f, 0x4e, 0x48, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, + 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x82, 0xa0, 0x01, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x50, + 0x41, 0x54, 0x48, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4c, 0x41, 0x42, 0x45, + 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x83, 0xa0, 0x01, 0x12, 0x18, 0x0a, 0x12, 0x53, + 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x49, + 0x44, 0x10, 0x84, 0xa0, 0x01, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, + 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x4f, 0x4e, + 0x47, 0x10, 0x85, 0xa0, 0x01, 0x12, 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, + 0x5f, 0x4e, 0x48, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, + 0x4f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x86, 0xa0, 0x01, 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, + 0x50, 0x41, 0x54, 0x48, 0x5f, 0x4e, 0x48, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, + 0x41, 0x44, 0x44, 0x52, 0x5f, 0x53, 0x5a, 0x10, 0x87, 0xa0, 0x01, 0x12, 0x21, 0x0a, 0x1b, 0x53, + 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x4e, 0x48, 0x5f, 0x49, 0x4e, 0x46, 0x5f, 0x4e, 0x41, + 0x4d, 0x45, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x88, 0xa0, 0x01, 0x12, 0x23, + 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, + 0x44, 0x5f, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x10, + 0x89, 0xa0, 0x01, 0x12, 0x27, 0x0a, 0x21, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x49, + 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, + 0x44, 0x52, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x8a, 0xa0, 0x01, 0x12, 0x24, 0x0a, 0x1e, + 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, + 0x44, 0x44, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x53, 0x5a, 0x10, 0x8b, + 0xa0, 0x01, 0x12, 0x26, 0x0a, 0x20, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x52, 0x45, + 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x41, 0x46, 0x49, 0x5f, 0x4d, 0x49, + 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x8c, 0xa0, 0x01, 0x12, 0x26, 0x0a, 0x20, 0x53, 0x4c, + 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x52, + 0x4f, 0x54, 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x42, 0x49, 0x54, 0x4d, 0x41, 0x50, 0x10, 0x8d, + 0xa0, 0x01, 0x12, 0x29, 0x0a, 0x23, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x42, 0x41, + 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x52, 0x49, + 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x10, 0x8e, 0xa0, 0x01, 0x12, 0x21, 0x0a, + 0x1b, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, + 0x5f, 0x49, 0x44, 0x5f, 0x52, 0x45, 0x50, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x8f, 0xa0, 0x01, + 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x42, 0x41, 0x43, 0x4b, + 0x55, 0x50, 0x5f, 0x49, 0x44, 0x5f, 0x52, 0x45, 0x50, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x90, + 0xa0, 0x01, 0x12, 0x2a, 0x0a, 0x24, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x50, 0x52, + 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x54, 0x4f, 0x4f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x42, 0x41, + 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x53, 0x10, 0x91, 0xa0, 0x01, 0x12, 0x24, + 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, + 0x59, 0x5f, 0x54, 0x4f, 0x4f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53, + 0x10, 0x92, 0xa0, 0x01, 0x12, 0x29, 0x0a, 0x23, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, + 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x54, 0x4f, 0x4f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, + 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x10, 0x93, 0xa0, 0x01, 0x12, + 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, + 0x45, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x94, + 0xa0, 0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x49, 0x4e, + 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x10, 0x95, 0xa0, 0x01, 0x12, + 0x1d, 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x53, 0x54, + 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0xc0, 0x01, 0x12, 0x26, + 0x0a, 0x20, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x54, 0x4f, 0x4f, + 0x5f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, + 0x4e, 0x53, 0x10, 0x81, 0xc0, 0x01, 0x12, 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, + 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x42, 0x41, 0x44, 0x5f, 0x50, 0x41, 0x52, + 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x10, 0x82, 0xc0, 0x01, 0x12, 0x2a, 0x0a, 0x24, 0x53, 0x4c, + 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x4c, 0x49, + 0x45, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, + 0x45, 0x44, 0x10, 0x83, 0xc0, 0x01, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, + 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, + 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x84, 0xc0, 0x01, 0x12, 0x27, 0x0a, 0x21, 0x53, + 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, + 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, + 0x10, 0x85, 0xc0, 0x01, 0x12, 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x42, + 0x46, 0x44, 0x5f, 0x56, 0x34, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, + 0x45, 0x52, 0x45, 0x44, 0x10, 0x86, 0xc0, 0x01, 0x12, 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x52, + 0x50, 0x43, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x56, 0x36, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, + 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x45, 0x44, 0x10, 0x87, 0xc0, 0x01, 0x12, 0x19, 0x0a, 0x13, + 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, + 0x53, 0x45, 0x54, 0x10, 0x80, 0xe0, 0x01, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x42, 0x46, + 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, + 0x4f, 0x4e, 0x47, 0x10, 0x81, 0xe0, 0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x4c, 0x5f, 0x42, 0x46, + 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, + 0x10, 0x82, 0xe0, 0x01, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x49, + 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, + 0x10, 0x83, 0xe0, 0x01, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x49, + 0x4e, 0x54, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, + 0x10, 0x84, 0xe0, 0x01, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x49, + 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4e, 0x42, 0x52, 0x5f, 0x4d, 0x43, 0x41, 0x53, 0x54, + 0x10, 0x85, 0xe0, 0x01, 0x12, 0x18, 0x0a, 0x12, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x49, + 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4e, 0x42, 0x52, 0x10, 0x86, 0xe0, 0x01, 0x12, 0x1d, + 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x41, 0x4d, + 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x87, 0xe0, 0x01, 0x12, 0x1a, 0x0a, + 0x14, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x42, 0x41, 0x44, 0x5f, 0x50, 0x41, 0x52, 0x41, + 0x4d, 0x45, 0x54, 0x45, 0x52, 0x10, 0x88, 0xe0, 0x01, 0x12, 0x1f, 0x0a, 0x19, 0x53, 0x4c, 0x5f, + 0x42, 0x46, 0x44, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, + 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x89, 0xe0, 0x01, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x4c, + 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, + 0x4e, 0x44, 0x10, 0x8a, 0xe0, 0x01, 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, + 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, + 0x53, 0x49, 0x5a, 0x45, 0x10, 0x8b, 0xe0, 0x01, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x42, + 0x46, 0x44, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, + 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x8c, 0xe0, 0x01, 0x12, 0x18, 0x0a, 0x12, 0x53, + 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x56, 0x52, + 0x46, 0x10, 0x8d, 0xe0, 0x01, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, + 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, + 0x44, 0x10, 0x8e, 0xe0, 0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, + 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0x8f, + 0xe0, 0x01, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x49, 0x4e, 0x54, + 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x44, 0x42, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x90, + 0xe0, 0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x52, 0x45, 0x43, + 0x4f, 0x56, 0x45, 0x52, 0x59, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x91, 0xe0, 0x01, 0x12, + 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x53, + 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0x80, 0x02, 0x12, + 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x49, + 0x4c, 0x4d, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x49, 0x4c, 0x4d, 0x53, + 0x10, 0x81, 0x80, 0x02, 0x12, 0x28, 0x0a, 0x22, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, + 0x50, 0x4c, 0x53, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, + 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x82, 0x80, 0x02, 0x12, 0x28, + 0x0a, 0x22, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x49, 0x4e, + 0x49, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x54, + 0x49, 0x42, 0x4c, 0x45, 0x10, 0x83, 0x80, 0x02, 0x12, 0x2f, 0x0a, 0x29, 0x53, 0x4c, 0x5f, 0x52, + 0x50, 0x43, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, + 0x4b, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, + 0x5f, 0x42, 0x4c, 0x4b, 0x53, 0x10, 0x84, 0x80, 0x02, 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, + 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x47, + 0x49, 0x53, 0x54, 0x45, 0x52, 0x45, 0x44, 0x10, 0x85, 0x80, 0x02, 0x12, 0x17, 0x0a, 0x11, 0x53, + 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x45, 0x52, 0x52, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, + 0x10, 0x80, 0xa0, 0x02, 0x12, 0x17, 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x41, + 0x44, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x81, 0xa0, 0x02, 0x12, 0x1b, 0x0a, + 0x15, 0x53, 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x4c, 0x53, 0x44, 0x5f, 0x41, 0x44, 0x44, 0x5f, + 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x82, 0xa0, 0x02, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, + 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4e, 0x55, 0x4d, + 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x10, 0x83, 0xa0, 0x02, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x4c, + 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4c, 0x41, 0x42, + 0x45, 0x4c, 0x10, 0x84, 0xa0, 0x02, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x49, 0x4c, 0x4d, + 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x85, + 0xa0, 0x02, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x4c, 0x53, 0x44, + 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x86, + 0xa0, 0x02, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x54, 0x4f, 0x4f, + 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x4e, 0x48, 0x4c, + 0x46, 0x45, 0x53, 0x10, 0x87, 0xa0, 0x02, 0x12, 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x49, 0x4c, + 0x4d, 0x5f, 0x54, 0x4f, 0x4f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, + 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x53, 0x10, 0x88, 0xa0, 0x02, 0x12, 0x27, 0x0a, 0x21, 0x53, + 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x4c, 0x53, 0x44, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x4c, 0x41, + 0x42, 0x45, 0x4c, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x43, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, + 0x10, 0x89, 0xa0, 0x02, 0x12, 0x25, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x4c, + 0x53, 0x44, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, + 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x10, 0x8a, 0xa0, 0x02, 0x12, 0x13, 0x0a, 0x0d, 0x53, + 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x45, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0x8b, 0xa0, 0x02, + 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x44, 0x42, 0x5f, 0x4e, 0x4f, + 0x4d, 0x45, 0x4d, 0x10, 0x8c, 0xa0, 0x02, 0x12, 0x19, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x4e, 0x48, + 0x4c, 0x46, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, + 0xc0, 0x02, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x4e, + 0x48, 0x5f, 0x4e, 0x4f, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x81, 0xc0, 0x02, 0x12, 0x21, + 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x4e, 0x48, 0x5f, 0x49, 0x4e, + 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x53, 0x5a, 0x10, 0x82, 0xc0, + 0x02, 0x12, 0x24, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x49, 0x4e, + 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, + 0x44, 0x44, 0x52, 0x10, 0x83, 0xc0, 0x02, 0x12, 0x1f, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x4e, 0x48, + 0x4c, 0x46, 0x45, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, + 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x84, 0xc0, 0x02, 0x12, 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x4e, + 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x4e, 0x48, 0x5f, 0x49, 0x4e, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, + 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x85, 0xc0, 0x02, 0x12, 0x23, 0x0a, 0x1d, + 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x4e, 0x48, 0x5f, 0x49, 0x4e, 0x54, 0x46, + 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x86, 0xc0, + 0x02, 0x12, 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x49, 0x4e, + 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, + 0x54, 0x10, 0x87, 0xc0, 0x02, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, + 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x49, + 0x44, 0x10, 0x88, 0xc0, 0x02, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, + 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x10, + 0x89, 0xc0, 0x02, 0x12, 0x27, 0x0a, 0x21, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, + 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x45, 0x43, 0x54, 0x45, + 0x44, 0x5f, 0x42, 0x49, 0x54, 0x4d, 0x41, 0x50, 0x10, 0x8a, 0xc0, 0x02, 0x12, 0x28, 0x0a, 0x22, + 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, + 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x43, 0x4f, 0x55, + 0x4e, 0x54, 0x10, 0x8b, 0xc0, 0x02, 0x12, 0x25, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, + 0x46, 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x49, + 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x53, 0x5a, 0x10, 0x8c, 0xc0, 0x02, 0x12, 0x25, 0x0a, + 0x1f, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, + 0x59, 0x5f, 0x54, 0x4f, 0x4f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53, + 0x10, 0x8d, 0xc0, 0x02, 0x12, 0x2a, 0x0a, 0x24, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, + 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x54, 0x4f, 0x4f, 0x4d, 0x41, 0x4e, 0x59, + 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x10, 0x8e, 0xc0, 0x02, + 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x42, 0x41, 0x43, + 0x4b, 0x55, 0x50, 0x5f, 0x49, 0x44, 0x5f, 0x52, 0x45, 0x50, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, + 0x8f, 0xc0, 0x02, 0x12, 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, + 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x49, 0x44, 0x5f, 0x52, 0x45, 0x50, 0x45, 0x41, + 0x54, 0x45, 0x44, 0x10, 0x90, 0xc0, 0x02, 0x12, 0x2c, 0x0a, 0x26, 0x53, 0x4c, 0x5f, 0x4e, 0x48, + 0x4c, 0x46, 0x45, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x45, + 0x43, 0x54, 0x45, 0x44, 0x5f, 0x42, 0x49, 0x54, 0x4d, 0x41, 0x50, 0x5f, 0x45, 0x4d, 0x50, 0x54, + 0x59, 0x10, 0x91, 0xc0, 0x02, 0x12, 0x2b, 0x0a, 0x25, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, + 0x45, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x54, 0x4f, 0x4f, 0x4d, 0x41, 0x4e, + 0x59, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x53, 0x10, 0x92, + 0xc0, 0x02, 0x12, 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x52, + 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, + 0x49, 0x44, 0x10, 0x93, 0xc0, 0x02, 0x12, 0x2a, 0x0a, 0x24, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, + 0x46, 0x45, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, + 0x47, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x10, 0x94, + 0xc0, 0x02, 0x12, 0x1f, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x4e, + 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, + 0x95, 0xc0, 0x02, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, + 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x56, + 0x41, 0x4c, 0x49, 0x44, 0x10, 0x96, 0xc0, 0x02, 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x4e, + 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x4e, 0x48, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x4e, 0x4f, 0x54, + 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x97, 0xc0, 0x02, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x4c, + 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, + 0x45, 0x44, 0x10, 0x98, 0xc0, 0x02, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, + 0x46, 0x45, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x99, 0xc0, 0x02, 0x12, 0x1d, 0x0a, 0x17, 0x53, + 0x4c, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4b, 0x5f, 0x45, 0x52, 0x52, 0x5f, + 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0xe0, 0x02, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, + 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4b, 0x5f, 0x4c, 0x53, 0x44, 0x5f, 0x41, + 0x44, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x81, 0xe0, 0x02, 0x12, 0x24, 0x0a, + 0x1e, 0x53, 0x4c, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4b, 0x5f, 0x4c, 0x53, + 0x44, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, + 0x82, 0xe0, 0x02, 0x12, 0x2a, 0x0a, 0x24, 0x53, 0x4c, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, + 0x42, 0x4c, 0x4b, 0x5f, 0x4c, 0x53, 0x44, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, + 0x4b, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x83, 0xe0, 0x02, 0x12, + 0x27, 0x0a, 0x21, 0x53, 0x4c, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4b, 0x5f, + 0x4c, 0x53, 0x44, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4b, 0x5f, 0x49, 0x4e, + 0x5f, 0x55, 0x53, 0x45, 0x10, 0x84, 0xe0, 0x02, 0x12, 0x25, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x4c, + 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4b, 0x5f, 0x4c, 0x53, 0x44, 0x5f, 0x49, 0x4e, 0x56, + 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x10, 0x85, 0xe0, 0x02, 0x12, + 0x25, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4b, 0x5f, + 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x49, + 0x5a, 0x45, 0x10, 0x86, 0xe0, 0x02, 0x12, 0x26, 0x0a, 0x20, 0x53, 0x4c, 0x5f, 0x4c, 0x41, 0x42, + 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4b, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x53, + 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x10, 0x87, 0xe0, 0x02, 0x12, 0x19, + 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4b, 0x5f, 0x45, + 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0x88, 0xe0, 0x02, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x4c, 0x5f, + 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4b, 0x5f, 0x44, 0x42, 0x5f, 0x4e, 0x4f, 0x4d, + 0x45, 0x4d, 0x10, 0x89, 0xe0, 0x02, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x4d, 0x50, 0x4c, + 0x53, 0x5f, 0x52, 0x45, 0x47, 0x5f, 0x45, 0x52, 0x52, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, + 0x10, 0x80, 0x80, 0x03, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x4c, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, + 0x52, 0x45, 0x47, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x81, 0x80, 0x03, 0x12, 0x17, 0x0a, 0x11, 0x53, + 0x4c, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x55, 0x4e, 0x52, 0x45, 0x47, 0x5f, 0x45, 0x52, 0x52, + 0x10, 0x82, 0x80, 0x03, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x4c, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, + 0x45, 0x4f, 0x46, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x83, 0x80, 0x03, 0x12, 0x1e, 0x0a, 0x18, 0x53, + 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, + 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0xa0, 0x03, 0x12, 0x25, 0x0a, 0x1f, 0x53, + 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, + 0x41, 0x4e, 0x59, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x53, 0x10, 0x81, + 0xa0, 0x03, 0x12, 0x28, 0x0a, 0x22, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x49, 0x4e, 0x54, + 0x46, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x49, + 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x82, 0xa0, 0x03, 0x12, 0x2b, 0x0a, 0x25, + 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x41, 0x50, 0x49, 0x5f, + 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, + 0x54, 0x45, 0x52, 0x45, 0x44, 0x10, 0x83, 0xa0, 0x03, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x4c, 0x5f, + 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, + 0x54, 0x10, 0x80, 0xc0, 0x03, 0x12, 0x24, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x46, + 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, + 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x81, 0xc0, 0x03, 0x12, 0x24, 0x0a, 0x1e, 0x53, + 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, + 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x82, 0xc0, + 0x03, 0x12, 0x1f, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x49, 0x4e, 0x54, + 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x83, + 0xc0, 0x03, 0x12, 0x1f, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x49, 0x4e, + 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x44, 0x42, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, + 0x84, 0xc0, 0x03, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x52, + 0x45, 0x43, 0x4f, 0x56, 0x45, 0x52, 0x59, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x85, 0xc0, + 0x03, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x49, 0x4e, 0x54, + 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0x86, 0xc0, + 0x03, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x49, 0x4e, 0x54, + 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, + 0x10, 0x87, 0xc0, 0x03, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, + 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, + 0x10, 0x80, 0x80, 0x40, 0x22, 0x4a, 0x0a, 0x0b, 0x53, 0x4c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, + 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x06, 0x48, 0x61, 0x6e, + 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x06, 0x48, 0x61, 0x6e, + 0x64, 0x6c, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, + 0x22, 0x58, 0x0a, 0x0b, 0x53, 0x4c, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x1e, 0x0a, 0x09, 0x56, 0x34, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x48, 0x00, 0x52, 0x09, 0x56, 0x34, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x1e, 0x0a, 0x09, 0x56, 0x36, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0c, 0x48, 0x00, 0x52, 0x09, 0x56, 0x36, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, + 0x09, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2a, 0x62, 0x0a, 0x07, 0x53, 0x4c, + 0x52, 0x65, 0x67, 0x4f, 0x70, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x52, 0x45, 0x47, 0x4f, + 0x50, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, + 0x53, 0x4c, 0x5f, 0x52, 0x45, 0x47, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, + 0x52, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x52, 0x45, 0x47, 0x4f, 0x50, 0x5f, + 0x55, 0x4e, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, + 0x53, 0x4c, 0x5f, 0x52, 0x45, 0x47, 0x4f, 0x50, 0x5f, 0x45, 0x4f, 0x46, 0x10, 0x03, 0x2a, 0x5f, + 0x0a, 0x0a, 0x53, 0x4c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x12, 0x15, 0x0a, 0x11, + 0x53, 0x4c, 0x5f, 0x4f, 0x42, 0x4a, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x4c, 0x5f, 0x4f, 0x42, 0x4a, 0x4f, 0x50, 0x5f, + 0x41, 0x44, 0x44, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x4c, 0x5f, 0x4f, 0x42, 0x4a, 0x4f, + 0x50, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x4c, + 0x5f, 0x4f, 0x42, 0x4a, 0x4f, 0x50, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x03, 0x2a, + 0x53, 0x0a, 0x09, 0x53, 0x4c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x4f, 0x70, 0x12, 0x17, 0x0a, 0x13, + 0x53, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, + 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x49, + 0x46, 0x4f, 0x50, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, + 0x53, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x4f, 0x50, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, + 0x4c, 0x45, 0x10, 0x02, 0x42, 0x11, 0x5a, 0x0f, 0x2e, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } -func init() { - proto.RegisterType((*SLErrorStatus)(nil), "service_layer.SLErrorStatus") - proto.RegisterType((*SLInterface)(nil), "service_layer.SLInterface") - proto.RegisterType((*SLIpAddress)(nil), "service_layer.SLIpAddress") - proto.RegisterEnum("service_layer.SLRegOp", SLRegOp_name, SLRegOp_value) - proto.RegisterEnum("service_layer.SLObjectOp", SLObjectOp_name, SLObjectOp_value) - proto.RegisterEnum("service_layer.SLNotifOp", SLNotifOp_name, SLNotifOp_value) - proto.RegisterEnum("service_layer.SLErrorStatus_SLErrno", SLErrorStatus_SLErrno_name, SLErrorStatus_SLErrno_value) +var ( + file_sl_common_types_proto_rawDescOnce sync.Once + file_sl_common_types_proto_rawDescData = file_sl_common_types_proto_rawDesc +) + +func file_sl_common_types_proto_rawDescGZIP() []byte { + file_sl_common_types_proto_rawDescOnce.Do(func() { + file_sl_common_types_proto_rawDescData = protoimpl.X.CompressGZIP(file_sl_common_types_proto_rawDescData) + }) + return file_sl_common_types_proto_rawDescData } -func init() { proto.RegisterFile("sl_common_types.proto", fileDescriptor0) } - -var fileDescriptor0 = []byte{ - // 2282 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x7c, 0x59, 0xc9, 0x72, 0x1c, 0xb7, - 0x19, 0x56, 0xf7, 0x38, 0x92, 0x09, 0x49, 0x36, 0x0c, 0x4b, 0x16, 0x65, 0xc9, 0x12, 0x45, 0x2d, - 0x91, 0x95, 0x94, 0x5c, 0x95, 0xb8, 0x7c, 0xca, 0x81, 0x3d, 0xdd, 0x18, 0x0e, 0xac, 0x5e, 0xa6, - 0x00, 0x0c, 0x4b, 0xd4, 0x05, 0xd4, 0x32, 0x4e, 0x39, 0x25, 0x89, 0x2a, 0x92, 0x49, 0x95, 0x6f, - 0x3d, 0x9c, 0xe1, 0xa6, 0x7d, 0xb1, 0xb3, 0xdc, 0xfa, 0x31, 0x72, 0xec, 0x47, 0x99, 0x63, 0x1e, - 0x23, 0xd5, 0x68, 0xa0, 0xa7, 0x81, 0x9e, 0xd1, 0x8d, 0x8d, 0xef, 0x03, 0xfe, 0x1f, 0xff, 0x3e, - 0x20, 0x38, 0xbb, 0xfd, 0x58, 0x3c, 0xdc, 0x7c, 0xf2, 0x64, 0xf3, 0xa9, 0xd8, 0xf9, 0xe5, 0xd9, - 0x60, 0xfb, 0xf6, 0xb3, 0xad, 0xcd, 0x9d, 0x4d, 0x74, 0x7a, 0x7b, 0xb0, 0xf5, 0x8f, 0x9f, 0x1f, - 0x0e, 0xc4, 0xe3, 0xfb, 0xbf, 0x0c, 0xb6, 0x96, 0xff, 0xfb, 0x1d, 0x38, 0xcd, 0x42, 0xbc, 0xb5, - 0xb5, 0xb9, 0xc5, 0x76, 0xee, 0xef, 0xfc, 0x7d, 0x1b, 0xfd, 0x05, 0x1c, 0x2f, 0xff, 0x5a, 0x74, - 0x96, 0x9c, 0x9b, 0x9f, 0xfd, 0xe9, 0xda, 0x6d, 0x63, 0xc7, 0x6d, 0x83, 0x5d, 0x7e, 0x3d, 0xdd, - 0xa4, 0x6a, 0xcf, 0xf2, 0xff, 0x6e, 0x83, 0x13, 0x6a, 0x0d, 0x7d, 0x06, 0x00, 0x0b, 0x05, 0xeb, - 0xfb, 0x3e, 0x66, 0x0c, 0x1e, 0x43, 0x67, 0x00, 0x64, 0xa1, 0x88, 0x13, 0x2e, 0xfc, 0x24, 0x8e, - 0xb1, 0xcf, 0x71, 0x00, 0x1d, 0x74, 0x1a, 0x2c, 0xb0, 0x50, 0x60, 0x6f, 0xd5, 0x23, 0x31, 0x74, - 0xf5, 0x67, 0x9c, 0x44, 0x38, 0x82, 0x2d, 0x74, 0x0a, 0x7c, 0x5a, 0x7c, 0xb6, 0xfb, 0x6c, 0x1d, - 0x7e, 0xa2, 0x41, 0x12, 0xaf, 0x79, 0x21, 0xfc, 0x1d, 0xfa, 0x0a, 0x20, 0x16, 0x8a, 0x7e, 0xcc, - 0xfa, 0xbd, 0x5e, 0x42, 0x39, 0x0e, 0xc4, 0x1a, 0xa6, 0xf0, 0x78, 0x4d, 0x90, 0xb7, 0xe6, 0x91, - 0xd0, 0x6b, 0x87, 0x18, 0x9e, 0x40, 0x17, 0xc0, 0xb9, 0x42, 0x1d, 0x4e, 0xb1, 0x17, 0x49, 0xb0, - 0xda, 0x06, 0x3f, 0x55, 0xba, 0xe2, 0x38, 0xe1, 0xac, 0xdf, 0x83, 0x0b, 0xe8, 0x73, 0x70, 0xb2, - 0x20, 0x27, 0x11, 0x16, 0x98, 0x52, 0x08, 0x14, 0x81, 0x93, 0x08, 0x27, 0x7d, 0x0e, 0x4f, 0xa2, - 0x2f, 0x0a, 0xbb, 0x15, 0xc7, 0x90, 0x8e, 0xe0, 0x98, 0x46, 0xf0, 0x14, 0x3a, 0x0f, 0xce, 0xb0, - 0x50, 0x90, 0x98, 0x70, 0xc1, 0xb8, 0x47, 0xb9, 0x48, 0x3a, 0x1d, 0x86, 0x39, 0x4c, 0x01, 0x5a, - 0x04, 0x5f, 0xd6, 0x20, 0x8e, 0x85, 0x1f, 0x62, 0x8f, 0xc2, 0xe1, 0x0c, 0x84, 0x62, 0x2f, 0x58, - 0x87, 0xbb, 0x00, 0x5d, 0x94, 0xfa, 0x4a, 0xc4, 0xbe, 0xe2, 0x08, 0xa0, 0xab, 0xe0, 0x52, 0xb5, - 0x0f, 0xd3, 0x35, 0x4c, 0xe5, 0x95, 0x8a, 0x6f, 0xe2, 0x85, 0xe4, 0x1e, 0x0e, 0xe0, 0x18, 0xa0, - 0x1b, 0xe0, 0x8a, 0x45, 0x8a, 0x92, 0x00, 0x0b, 0xbf, 0xeb, 0xc5, 0xab, 0x58, 0x74, 0x3c, 0x12, - 0xe2, 0x00, 0xee, 0x69, 0x51, 0xb4, 0xe7, 0x8b, 0x35, 0xda, 0xb1, 0x94, 0x5f, 0x42, 0xd7, 0xc1, - 0x52, 0x0d, 0xe5, 0x49, 0x22, 0x22, 0x2f, 0x5e, 0x97, 0x1f, 0x14, 0xaf, 0x8a, 0x88, 0xad, 0x32, - 0x38, 0x5c, 0x52, 0xc2, 0xaa, 0x43, 0x66, 0x2b, 0xb5, 0xbb, 0xa4, 0x6e, 0xdc, 0x14, 0xb4, 0x52, - 0x43, 0x62, 0x2f, 0xc2, 0x85, 0xa4, 0x30, 0x89, 0x57, 0xe1, 0x70, 0x05, 0x9d, 0x95, 0x1e, 0x95, - 0x48, 0xc2, 0x45, 0x27, 0xe9, 0xc7, 0x01, 0xdc, 0x5d, 0x41, 0xe7, 0x64, 0x00, 0x94, 0xcb, 0x82, - 0x17, 0x7e, 0x16, 0x24, 0x80, 0xa3, 0x15, 0xa5, 0x8b, 0xd6, 0x50, 0xc6, 0x0b, 0x09, 0x84, 0x17, - 0x44, 0x24, 0x16, 0x01, 0x61, 0xdc, 0x8b, 0x7d, 0x0c, 0xc7, 0x2b, 0xca, 0x65, 0xf2, 0x5a, 0x72, - 0xb7, 0x17, 0x04, 0xd2, 0xdf, 0x7b, 0x2b, 0x68, 0x19, 0x7c, 0x63, 0x40, 0x14, 0xaf, 0x12, 0xc6, - 0xa9, 0xc7, 0x49, 0x12, 0x4b, 0xce, 0xfe, 0x0a, 0xba, 0x06, 0x2e, 0x1b, 0x9c, 0x7e, 0xdc, 0x60, - 0x1d, 0x34, 0x85, 0xe0, 0xa4, 0x23, 0xa1, 0xc3, 0x15, 0xb4, 0x04, 0x2e, 0xd4, 0xf4, 0xac, 0x6e, - 0x1e, 0x11, 0xc6, 0x48, 0xbc, 0x0a, 0x8f, 0x56, 0xd0, 0x25, 0x70, 0x5e, 0x59, 0x95, 0x26, 0x7d, - 0x8e, 0x2d, 0x9b, 0x6d, 0xa0, 0x2b, 0xe0, 0xa2, 0x81, 0x57, 0xee, 0x91, 0x9f, 0x0c, 0x0e, 0x37, - 0xd4, 0x4d, 0xa6, 0x94, 0x86, 0x81, 0x77, 0x37, 0xd0, 0x65, 0xf0, 0x75, 0x93, 0x53, 0x99, 0x7a, - 0xb4, 0xd1, 0xd0, 0xa3, 0x6e, 0x74, 0x38, 0xde, 0x40, 0xb7, 0xc0, 0xf5, 0x06, 0x5e, 0x5e, 0xb7, - 0x38, 0xa6, 0x34, 0x0b, 0xa6, 0x45, 0xb8, 0x7d, 0x44, 0x21, 0x7d, 0xef, 0xfd, 0x0d, 0x74, 0x13, - 0x5c, 0x35, 0x38, 0x32, 0x88, 0x65, 0xf4, 0x92, 0xd8, 0x4f, 0xa2, 0x9e, 0xc7, 0x49, 0x21, 0xf9, - 0xa0, 0xc9, 0x9c, 0x13, 0x79, 0x87, 0x1b, 0xe8, 0x02, 0x38, 0x5b, 0x30, 0x67, 0xd8, 0x31, 0x75, - 0x0c, 0xb0, 0x08, 0x83, 0x38, 0x11, 0x3d, 0x8f, 0x77, 0x19, 0x1c, 0xa6, 0x0e, 0xba, 0x04, 0x16, - 0x2b, 0xb0, 0xdf, 0x0b, 0x8a, 0x3c, 0xad, 0xf0, 0xdd, 0xd4, 0x41, 0x57, 0xa4, 0x1f, 0xb5, 0xa6, - 0x65, 0xb4, 0xf5, 0x28, 0xee, 0x90, 0xbb, 0x22, 0xc4, 0x31, 0x1c, 0xa5, 0x0e, 0xba, 0x2e, 0x63, - 0xc5, 0xa4, 0xd8, 0x01, 0x99, 0x3a, 0x68, 0xa9, 0x74, 0x84, 0x41, 0x8b, 0xfb, 0x91, 0x92, 0xb5, - 0x37, 0x87, 0xa1, 0x64, 0xb1, 0x7b, 0x70, 0x3f, 0x75, 0xd0, 0x37, 0x65, 0x3a, 0xcf, 0x60, 0xc0, - 0x83, 0xd4, 0x41, 0xb7, 0xc0, 0xb5, 0x0a, 0xc6, 0x94, 0x0a, 0x4a, 0xda, 0xca, 0x55, 0x21, 0x89, - 0x48, 0xe1, 0x2c, 0xcf, 0xef, 0x16, 0x16, 0x4b, 0x1d, 0x74, 0xb5, 0x74, 0x95, 0xc1, 0xad, 0xb4, - 0xa7, 0xab, 0x0c, 0x1e, 0xa5, 0x0e, 0xfa, 0x7d, 0x99, 0xf9, 0x06, 0xa9, 0xd0, 0xb7, 0x7e, 0x2a, - 0x7c, 0x3e, 0xe7, 0x34, 0x9e, 0x24, 0x45, 0xbc, 0x96, 0xf7, 0x7b, 0x91, 0x3a, 0xe8, 0x2c, 0xf8, - 0x7c, 0x4a, 0xc2, 0x77, 0x09, 0xe3, 0xf0, 0x65, 0xea, 0xa0, 0x8b, 0xe0, 0xab, 0x6a, 0xb9, 0x9b, - 0x30, 0x2e, 0xda, 0x84, 0x33, 0x51, 0x78, 0xef, 0x95, 0x75, 0xb2, 0x65, 0x94, 0xc8, 0xf7, 0x18, - 0x87, 0xaf, 0x2d, 0xcb, 0x49, 0xfd, 0xbc, 0x0e, 0x29, 0x62, 0x2e, 0xf2, 0xb8, 0xdf, 0x85, 0x6f, - 0x52, 0x07, 0x5d, 0x93, 0x55, 0xb5, 0xca, 0x24, 0x99, 0x48, 0x3d, 0x4a, 0x22, 0x8f, 0xae, 0x2b, - 0x0f, 0xbc, 0xb5, 0x84, 0x69, 0x56, 0xdb, 0xf3, 0xef, 0xf4, 0x7b, 0x8a, 0xf4, 0x2e, 0x75, 0xd0, - 0x39, 0xf0, 0x45, 0x45, 0x0a, 0xda, 0xa2, 0x6c, 0x68, 0xef, 0x53, 0x07, 0x2d, 0x97, 0x19, 0x6b, - 0xa8, 0x1a, 0x26, 0xbe, 0x17, 0x8a, 0xd0, 0x6b, 0xe3, 0x10, 0x7e, 0x48, 0x1d, 0xf4, 0xb5, 0x2c, - 0x19, 0x52, 0x47, 0x33, 0x50, 0x33, 0x07, 0x9d, 0x97, 0x55, 0x52, 0x62, 0x71, 0x77, 0x9a, 0x83, - 0xc3, 0xcc, 0x41, 0x97, 0x65, 0x92, 0x6a, 0x88, 0xc4, 0xdc, 0xa8, 0x97, 0x99, 0x8e, 0x53, 0x49, - 0xa8, 0x44, 0x17, 0x42, 0x85, 0x9f, 0xf4, 0x63, 0x0e, 0x47, 0x99, 0x83, 0x16, 0x65, 0x4d, 0x35, - 0x28, 0x24, 0x80, 0xe3, 0x4c, 0x27, 0x81, 0x44, 0x1a, 0x25, 0x64, 0x2f, 0xd3, 0x17, 0x33, 0xa5, - 0xd7, 0x39, 0xfb, 0x99, 0x76, 0xc1, 0x94, 0xa3, 0xf3, 0x20, 0xa0, 0x45, 0xf0, 0x1e, 0x98, 0x2a, - 0x4a, 0x86, 0x55, 0x1a, 0x0e, 0x33, 0x6d, 0x7f, 0x43, 0xc5, 0x18, 0xdf, 0xe5, 0xa2, 0x9b, 0xf4, - 0xe4, 0x51, 0xf0, 0x28, 0xd3, 0x41, 0x69, 0x90, 0x28, 0x8e, 0x92, 0x32, 0xbb, 0xa9, 0xba, 0xf0, - 0xf3, 0x4c, 0xfb, 0x5c, 0x12, 0xeb, 0x04, 0xbd, 0x89, 0xdd, 0x83, 0x2f, 0x32, 0x07, 0xdd, 0x90, - 0x4d, 0xb0, 0xc1, 0x32, 0x22, 0xe8, 0xa5, 0xc9, 0x9b, 0xc6, 0x61, 0xc2, 0xe5, 0xb4, 0x53, 0x84, - 0x6c, 0xe4, 0xf5, 0xe0, 0xab, 0xcc, 0x41, 0xdf, 0xca, 0xaa, 0x25, 0x79, 0x2a, 0x74, 0xd4, 0x0d, - 0x8d, 0x78, 0x83, 0xaf, 0x4d, 0x8b, 0x68, 0x4c, 0x5e, 0xa6, 0x87, 0xbd, 0x62, 0x78, 0x79, 0x63, - 0x9a, 0x55, 0x9d, 0x56, 0x67, 0xbc, 0xcd, 0x74, 0xd2, 0x1b, 0x87, 0xcc, 0x0e, 0x5d, 0xd3, 0x22, - 0x36, 0x57, 0x46, 0x0b, 0x83, 0xef, 0xcd, 0x1b, 0xd8, 0xac, 0x9a, 0x85, 0xe0, 0x07, 0xf3, 0x06, - 0x33, 0x4c, 0x0c, 0x7f, 0xcd, 0x74, 0xf9, 0x6d, 0x46, 0x26, 0xfc, 0x2d, 0xab, 0x0a, 0x5a, 0xcf, - 0x17, 0xed, 0x4e, 0x60, 0x65, 0x44, 0xae, 0x6d, 0xae, 0xe1, 0xaa, 0x03, 0x4a, 0x2e, 0x66, 0x8c, - 0x24, 0x31, 0x83, 0xc3, 0xbc, 0xca, 0x3c, 0xc5, 0xf3, 0x7a, 0x44, 0xb4, 0xbd, 0x40, 0xf4, 0x3c, - 0xea, 0x45, 0x98, 0x63, 0x0a, 0x77, 0xf3, 0xaa, 0x38, 0xd6, 0x38, 0x7e, 0x48, 0x70, 0xcc, 0xed, - 0x36, 0x36, 0xca, 0xab, 0x3a, 0x50, 0xe3, 0x92, 0x98, 0x63, 0x1a, 0x7b, 0x61, 0x51, 0xdd, 0x12, - 0x0a, 0xc7, 0x79, 0x55, 0x1c, 0xb5, 0xee, 0xb3, 0x9b, 0xd3, 0x5e, 0x43, 0xbb, 0xb5, 0xef, 0x6d, - 0x89, 0xfb, 0x4d, 0xce, 0x0f, 0x36, 0xe7, 0x20, 0xd7, 0xf5, 0xa1, 0x69, 0xa8, 0x89, 0xce, 0xe0, - 0x02, 0x6a, 0x66, 0xe7, 0x70, 0xa2, 0x9d, 0x30, 0xc5, 0xa7, 0xb5, 0xc3, 0xda, 0xac, 0xd2, 0x96, - 0x73, 0x4a, 0xda, 0x7d, 0x8e, 0xe1, 0x68, 0xce, 0xe1, 0x3a, 0x6b, 0xc7, 0x33, 0xf7, 0xc7, 0x6d, - 0xaa, 0xaa, 0xf3, 0xde, 0x44, 0x17, 0x1e, 0x0b, 0x87, 0xfb, 0x13, 0xed, 0x7e, 0x79, 0x63, 0xbb, - 0xee, 0x1c, 0x4c, 0x74, 0xb1, 0x2c, 0x60, 0xd3, 0x9d, 0x87, 0x13, 0x5d, 0x11, 0xe7, 0xb8, 0xe7, - 0xc8, 0xd8, 0x6c, 0x8e, 0x3c, 0xcf, 0x27, 0x3a, 0xab, 0xea, 0x1a, 0xe9, 0x3e, 0x4b, 0xee, 0x61, - 0xf8, 0x62, 0xa2, 0x03, 0xbb, 0xce, 0x50, 0x01, 0x27, 0xf8, 0x7a, 0x0f, 0xc3, 0x97, 0x33, 0xaf, - 0xb5, 0x46, 0x3b, 0xf0, 0x95, 0x61, 0x10, 0xbd, 0x69, 0x2a, 0xfe, 0xb5, 0xe1, 0x0d, 0x8d, 0xcb, - 0x6e, 0xc8, 0xe0, 0x1b, 0xdb, 0xda, 0xe5, 0xa5, 0x82, 0xb6, 0xba, 0xd7, 0x5b, 0x63, 0x33, 0xc5, - 0x7e, 0xb2, 0x86, 0xe9, 0xba, 0x02, 0xdf, 0x55, 0x9b, 0x8b, 0x30, 0x8a, 0x7a, 0x21, 0xb3, 0x67, - 0x21, 0xb7, 0x16, 0xd8, 0x12, 0x27, 0x61, 0x34, 0xcd, 0x2a, 0x12, 0x46, 0xc5, 0x4c, 0xe4, 0xa2, - 0x9b, 0x60, 0xd9, 0x38, 0x64, 0xce, 0xc0, 0xdf, 0x64, 0xce, 0x19, 0xe5, 0x46, 0xa9, 0x8b, 0xbe, - 0x03, 0xdf, 0xd6, 0x99, 0x65, 0x6f, 0x6a, 0x87, 0x77, 0xa6, 0xe2, 0xab, 0x25, 0x06, 0xc7, 0xa9, - 0xab, 0x5b, 0xba, 0xde, 0x60, 0xcf, 0x9a, 0xa9, 0xab, 0xfa, 0x70, 0x71, 0x85, 0x62, 0xe2, 0xa8, - 0xfa, 0x68, 0x1d, 0x28, 0xc6, 0x3d, 0xf5, 0x63, 0x68, 0x98, 0xb9, 0xca, 0x74, 0x05, 0x10, 0xb2, - 0xa0, 0x0e, 0xee, 0x66, 0xae, 0x32, 0x5d, 0x01, 0xd6, 0xa7, 0xb3, 0xb8, 0x1b, 0x76, 0x30, 0x1c, - 0x65, 0xae, 0x8a, 0xa7, 0x3a, 0x5e, 0x96, 0xb1, 0xb1, 0x81, 0x05, 0x38, 0xc4, 0x7c, 0xfa, 0x0b, - 0xcc, 0x38, 0xb7, 0x10, 0x6a, 0xe2, 0xfb, 0x99, 0x76, 0x89, 0xf2, 0x84, 0x31, 0x97, 0x48, 0xd9, - 0x0c, 0x1e, 0x64, 0xae, 0x2a, 0x0f, 0x75, 0x92, 0xaa, 0xed, 0x8a, 0x73, 0x98, 0xb9, 0xaa, 0x1e, - 0xd5, 0x6f, 0x57, 0x9a, 0xd4, 0x0b, 0xc3, 0xc4, 0xd7, 0x12, 0x8f, 0x32, 0x57, 0x0d, 0xac, 0x9a, - 0x28, 0x4f, 0xb0, 0x32, 0x1f, 0x3e, 0xcf, 0x5c, 0xf4, 0xa5, 0xfc, 0x21, 0x2c, 0xed, 0x5b, 0x0e, - 0x6b, 0x2f, 0x32, 0x57, 0xcd, 0x70, 0xf2, 0xa6, 0x7a, 0xf4, 0x79, 0x99, 0xb9, 0xaa, 0x34, 0x95, - 0x47, 0xd5, 0xbd, 0x91, 0x6b, 0xdb, 0x94, 0x90, 0x31, 0xd6, 0xe4, 0xae, 0xca, 0xb2, 0x0a, 0xb3, - 0xa7, 0x86, 0xdd, 0xdc, 0x55, 0x2d, 0xcb, 0x54, 0xd2, 0x9c, 0x09, 0x46, 0xb9, 0xab, 0xaa, 0x41, - 0xc9, 0x6a, 0x94, 0x92, 0x71, 0xae, 0x0d, 0x58, 0x93, 0x64, 0xd5, 0xb1, 0xbd, 0x5c, 0x7b, 0xa2, - 0xc6, 0x69, 0xcc, 0x39, 0xd6, 0x41, 0xb3, 0x26, 0xad, 0x83, 0x5c, 0xbb, 0xdc, 0xe4, 0x94, 0x0d, - 0x30, 0x80, 0x87, 0xb9, 0xab, 0x26, 0xde, 0x19, 0x67, 0xc0, 0xa3, 0x5c, 0xfb, 0xd1, 0xda, 0x6d, - 0x4f, 0x1a, 0xcf, 0x73, 0x9d, 0x7d, 0x26, 0xb1, 0x39, 0x09, 0xbd, 0xc8, 0xb5, 0xc7, 0x4b, 0xe6, - 0x9c, 0x51, 0xe8, 0xa5, 0x45, 0x9b, 0x33, 0x1f, 0xbc, 0xca, 0x5d, 0xd5, 0x49, 0x67, 0xd3, 0xea, - 0x03, 0xc2, 0x6b, 0xcb, 0xc3, 0x33, 0x06, 0x98, 0x37, 0x96, 0x45, 0x67, 0x8d, 0x41, 0x6f, 0x73, - 0x17, 0xfd, 0x11, 0xdc, 0xb0, 0x8f, 0xb1, 0x4d, 0x22, 0x70, 0xd4, 0xe3, 0xeb, 0xf0, 0x5d, 0xee, - 0xa2, 0x3f, 0xc8, 0x9f, 0xac, 0xb3, 0x15, 0x34, 0x66, 0xa2, 0xf7, 0x96, 0xf8, 0x59, 0x33, 0xcc, - 0x07, 0xeb, 0xc6, 0x1f, 0x1b, 0xea, 0x7e, 0xb5, 0x42, 0xb1, 0x0a, 0x54, 0x1d, 0x66, 0xbf, 0x59, - 0x61, 0xa6, 0x32, 0xd4, 0x97, 0xaf, 0x0a, 0x5a, 0xe2, 0x3f, 0x73, 0x5d, 0xfe, 0xac, 0x58, 0xac, - 0x9a, 0xc8, 0xbf, 0xac, 0xbc, 0x4a, 0x7a, 0x98, 0xea, 0x0c, 0xff, 0xf7, 0xc7, 0x44, 0x68, 0x3d, - 0xfe, 0x93, 0xbb, 0xaa, 0xf9, 0x4e, 0x2b, 0x71, 0x3d, 0x6f, 0x27, 0xda, 0x73, 0x53, 0xd8, 0x2a, - 0x99, 0xc3, 0x89, 0xce, 0x4d, 0x93, 0x62, 0x16, 0xb8, 0xdd, 0x89, 0x36, 0x9e, 0xc9, 0x9a, 0x7e, - 0xd5, 0xde, 0x22, 0x26, 0x3a, 0xf6, 0xe7, 0x71, 0x49, 0x2c, 0xfa, 0x0c, 0xc3, 0xf1, 0x44, 0x87, - 0xaa, 0x49, 0xb4, 0x6a, 0xd8, 0xde, 0x0c, 0x9a, 0xa6, 0xb4, 0xc3, 0xc4, 0xbf, 0x53, 0x76, 0xfb, - 0xfd, 0x89, 0xab, 0xe6, 0xcc, 0x26, 0xad, 0xec, 0x9f, 0x65, 0x6a, 0x1e, 0x4c, 0x74, 0x99, 0xab, - 0x99, 0xac, 0x2c, 0x8c, 0x87, 0x13, 0xdd, 0x5b, 0xa6, 0x50, 0x55, 0x1e, 0x8f, 0x26, 0x3a, 0xe1, - 0x65, 0x23, 0xa3, 0x78, 0xd5, 0xb0, 0x74, 0xda, 0x52, 0x35, 0xb5, 0x8e, 0xc2, 0x61, 0xda, 0x52, - 0x6d, 0x4c, 0x2e, 0xcb, 0xe7, 0x27, 0x09, 0xec, 0x9a, 0x7c, 0xfd, 0xe2, 0x34, 0x4a, 0x5b, 0xb5, - 0xde, 0x2f, 0xa3, 0xc5, 0xfa, 0x79, 0xd9, 0xd2, 0xef, 0x14, 0x1a, 0x9f, 0xf6, 0xfd, 0x62, 0xcc, - 0xe8, 0x78, 0x3e, 0x66, 0x70, 0x98, 0xb5, 0x6a, 0x3d, 0xbd, 0x3c, 0x66, 0x4e, 0xf7, 0xcf, 0x5a, - 0x2a, 0xcd, 0x2a, 0xe6, 0x47, 0x46, 0xea, 0xac, 0xa5, 0x5b, 0x64, 0x53, 0xb3, 0xbc, 0xa5, 0xe2, - 0x48, 0x62, 0x95, 0x32, 0x66, 0x79, 0x1e, 0x7e, 0x94, 0x55, 0x3d, 0x77, 0xe5, 0x2d, 0x95, 0x7e, - 0x16, 0x4b, 0x5b, 0x6f, 0x34, 0x83, 0x60, 0x0c, 0x58, 0xe3, 0xbc, 0xa5, 0x9c, 0x25, 0x09, 0xd6, - 0x84, 0xb5, 0x97, 0x6b, 0x2b, 0x5b, 0xe7, 0xab, 0xf1, 0x6d, 0x3f, 0x6f, 0xa9, 0xb4, 0xb1, 0xb5, - 0xac, 0x82, 0xfc, 0xa0, 0x7e, 0x44, 0x29, 0xdc, 0x1a, 0xd2, 0x56, 0x96, 0x7f, 0x04, 0x27, 0x59, - 0x48, 0x9e, 0xee, 0x0c, 0xb6, 0x7e, 0xba, 0xff, 0x70, 0x80, 0xce, 0x80, 0x4f, 0xe2, 0xfb, 0x4f, - 0x06, 0xf2, 0xd5, 0x7e, 0xa1, 0x7b, 0x8c, 0xca, 0x2f, 0xb4, 0x08, 0x8e, 0x77, 0xef, 0x3f, 0x7d, - 0xf4, 0x78, 0xb0, 0xe8, 0x2e, 0x39, 0x37, 0x4f, 0x77, 0x8f, 0x51, 0xf5, 0xdd, 0x3e, 0x09, 0x16, - 0xaa, 0xcd, 0xcb, 0x77, 0xe5, 0x59, 0xcf, 0xbc, 0x47, 0x8f, 0xb6, 0x06, 0xdb, 0xdb, 0xe8, 0x12, - 0x58, 0x58, 0xfb, 0x5e, 0x7d, 0xc8, 0x03, 0x8b, 0x8d, 0xd3, 0x25, 0x89, 0xff, 0xa0, 0xf1, 0xe2, - 0xe0, 0x53, 0x12, 0xd7, 0x4b, 0xed, 0x05, 0x70, 0x42, 0xfd, 0x79, 0xeb, 0x01, 0x38, 0xc1, 0x42, - 0x3a, 0xf8, 0x6b, 0xf2, 0x0c, 0x9d, 0x2d, 0x5f, 0x44, 0xf0, 0x6a, 0xd2, 0x13, 0x14, 0xcb, 0x88, - 0x09, 0xe0, 0x31, 0x6b, 0xb9, 0x8c, 0x06, 0xe8, 0xa0, 0x73, 0x32, 0x89, 0xca, 0x65, 0xfd, 0xae, - 0x8a, 0x29, 0x74, 0x11, 0x04, 0xa7, 0x2a, 0x00, 0x27, 0x1d, 0xd8, 0xba, 0x25, 0x00, 0x60, 0x61, - 0xf2, 0xe0, 0x6f, 0x83, 0x87, 0x3b, 0x95, 0x98, 0xa4, 0xfd, 0xa3, 0x29, 0xa6, 0xdc, 0x56, 0x2e, - 0x7b, 0x41, 0x00, 0x1d, 0xf4, 0xa5, 0x4c, 0x90, 0x72, 0xa5, 0x7c, 0xd4, 0x83, 0xae, 0xb1, 0x58, - 0x16, 0x29, 0xd8, 0xba, 0xc5, 0xc0, 0x02, 0x0b, 0xe3, 0xcd, 0x9d, 0x9f, 0x7f, 0x4a, 0x9e, 0x29, - 0xc5, 0xe4, 0xcb, 0xff, 0xac, 0x8b, 0x68, 0x00, 0xc7, 0x72, 0x7e, 0x71, 0xd4, 0x7f, 0x29, 0xf4, - 0x72, 0x40, 0x98, 0x5c, 0x77, 0x1f, 0x1c, 0x97, 0xff, 0x90, 0xf9, 0xf3, 0xff, 0x03, 0x00, 0x00, - 0xff, 0xff, 0x81, 0xb5, 0x27, 0xf1, 0xa9, 0x19, 0x00, 0x00, +var file_sl_common_types_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_sl_common_types_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_sl_common_types_proto_goTypes = []interface{}{ + (SLRegOp)(0), // 0: SLRegOp + (SLObjectOp)(0), // 1: SLObjectOp + (SLNotifOp)(0), // 2: SLNotifOp + (SLErrorStatus_SLErrno)(0), // 3: SLErrorStatus.SLErrno + (*SLErrorStatus)(nil), // 4: SLErrorStatus + (*SLInterface)(nil), // 5: SLInterface + (*SLIpAddress)(nil), // 6: SLIpAddress +} +var file_sl_common_types_proto_depIdxs = []int32{ + 3, // 0: SLErrorStatus.Status:type_name -> SLErrorStatus.SLErrno + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_sl_common_types_proto_init() } +func file_sl_common_types_proto_init() { + if File_sl_common_types_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_sl_common_types_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLErrorStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sl_common_types_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLInterface); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sl_common_types_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLIpAddress); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_sl_common_types_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*SLInterface_Name)(nil), + (*SLInterface_Handle)(nil), + } + file_sl_common_types_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*SLIpAddress_V4Address)(nil), + (*SLIpAddress_V6Address)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_sl_common_types_proto_rawDesc, + NumEnums: 4, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_sl_common_types_proto_goTypes, + DependencyIndexes: file_sl_common_types_proto_depIdxs, + EnumInfos: file_sl_common_types_proto_enumTypes, + MessageInfos: file_sl_common_types_proto_msgTypes, + }.Build() + File_sl_common_types_proto = out.File + file_sl_common_types_proto_rawDesc = nil + file_sl_common_types_proto_goTypes = nil + file_sl_common_types_proto_depIdxs = nil } diff --git a/proto/sla/sl_common_types.proto b/proto/sla/sl_common_types.proto index ffaf449..fd8985e 100755 --- a/proto/sla/sl_common_types.proto +++ b/proto/sla/sl_common_types.proto @@ -12,7 +12,7 @@ //@brief Common service definitions and Global initializations. syntax = "proto3"; -package service_layer; +option go_package = "./service_layer"; // @defgroup SLCommonTypes // @ingroup Common diff --git a/proto/sla/sl_global.pb.go b/proto/sla/sl_global.pb.go index 872fccb..9eab805 100644 --- a/proto/sla/sl_global.pb.go +++ b/proto/sla/sl_global.pb.go @@ -1,22 +1,35 @@ -// Code generated by protoc-gen-go. +// @file +// @brief Server RPC proto file. Client invokes to init the session +// on server. +// +// ---------------------------------------------------------------- +// Copyright (c) 2016 by Cisco Systems, Inc. +// All rights reserved. +// ----------------------------------------------------------------- +// +// + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.0 +// protoc v3.5.0 // source: sl_global.proto -// DO NOT EDIT! package service_layer -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" - import ( - context "golang.org/x/net/context" - grpc "google.golang.org/grpc" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" ) -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) // Global Event Notification types. type SLGlobalNotifType int32 @@ -32,59 +45,115 @@ const ( SLGlobalNotifType_SL_GLOBAL_EVENT_TYPE_VERSION SLGlobalNotifType = 3 ) -var SLGlobalNotifType_name = map[int32]string{ - 0: "SL_GLOBAL_EVENT_TYPE_RESERVED", - 1: "SL_GLOBAL_EVENT_TYPE_ERROR", - 2: "SL_GLOBAL_EVENT_TYPE_HEARTBEAT", - 3: "SL_GLOBAL_EVENT_TYPE_VERSION", -} -var SLGlobalNotifType_value = map[string]int32{ - "SL_GLOBAL_EVENT_TYPE_RESERVED": 0, - "SL_GLOBAL_EVENT_TYPE_ERROR": 1, - "SL_GLOBAL_EVENT_TYPE_HEARTBEAT": 2, - "SL_GLOBAL_EVENT_TYPE_VERSION": 3, +// Enum value maps for SLGlobalNotifType. +var ( + SLGlobalNotifType_name = map[int32]string{ + 0: "SL_GLOBAL_EVENT_TYPE_RESERVED", + 1: "SL_GLOBAL_EVENT_TYPE_ERROR", + 2: "SL_GLOBAL_EVENT_TYPE_HEARTBEAT", + 3: "SL_GLOBAL_EVENT_TYPE_VERSION", + } + SLGlobalNotifType_value = map[string]int32{ + "SL_GLOBAL_EVENT_TYPE_RESERVED": 0, + "SL_GLOBAL_EVENT_TYPE_ERROR": 1, + "SL_GLOBAL_EVENT_TYPE_HEARTBEAT": 2, + "SL_GLOBAL_EVENT_TYPE_VERSION": 3, + } +) + +func (x SLGlobalNotifType) Enum() *SLGlobalNotifType { + p := new(SLGlobalNotifType) + *p = x + return p } func (x SLGlobalNotifType) String() string { - return proto.EnumName(SLGlobalNotifType_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SLGlobalNotifType) Descriptor() protoreflect.EnumDescriptor { + return file_sl_global_proto_enumTypes[0].Descriptor() +} + +func (SLGlobalNotifType) Type() protoreflect.EnumType { + return &file_sl_global_proto_enumTypes[0] +} + +func (x SLGlobalNotifType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SLGlobalNotifType.Descriptor instead. +func (SLGlobalNotifType) EnumDescriptor() ([]byte, []int) { + return file_sl_global_proto_rawDescGZIP(), []int{0} } -func (SLGlobalNotifType) EnumDescriptor() ([]byte, []int) { return fileDescriptor1, []int{0} } // Initialization message sent to the server. // If the client and server are running compatible version numbers, a // connection will be made and the server response will be received // with a successful status code. type SLInitMsg struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // Client's Major version of service-layer API (refer to sl_version.proto) - MajorVer uint32 `protobuf:"varint,1,opt,name=MajorVer" json:"MajorVer,omitempty"` + MajorVer uint32 `protobuf:"varint,1,opt,name=MajorVer,proto3" json:"MajorVer,omitempty"` // Minor Version - MinorVer uint32 `protobuf:"varint,2,opt,name=MinorVer" json:"MinorVer,omitempty"` + MinorVer uint32 `protobuf:"varint,2,opt,name=MinorVer,proto3" json:"MinorVer,omitempty"` // Sub-Version - SubVer uint32 `protobuf:"varint,3,opt,name=SubVer" json:"SubVer,omitempty"` + SubVer uint32 `protobuf:"varint,3,opt,name=SubVer,proto3" json:"SubVer,omitempty"` } -func (m *SLInitMsg) Reset() { *m = SLInitMsg{} } -func (m *SLInitMsg) String() string { return proto.CompactTextString(m) } -func (*SLInitMsg) ProtoMessage() {} -func (*SLInitMsg) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} } +func (x *SLInitMsg) Reset() { + *x = SLInitMsg{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_global_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} -func (m *SLInitMsg) GetMajorVer() uint32 { - if m != nil { - return m.MajorVer +func (x *SLInitMsg) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLInitMsg) ProtoMessage() {} + +func (x *SLInitMsg) ProtoReflect() protoreflect.Message { + mi := &file_sl_global_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLInitMsg.ProtoReflect.Descriptor instead. +func (*SLInitMsg) Descriptor() ([]byte, []int) { + return file_sl_global_proto_rawDescGZIP(), []int{0} +} + +func (x *SLInitMsg) GetMajorVer() uint32 { + if x != nil { + return x.MajorVer } return 0 } -func (m *SLInitMsg) GetMinorVer() uint32 { - if m != nil { - return m.MinorVer +func (x *SLInitMsg) GetMinorVer() uint32 { + if x != nil { + return x.MinorVer } return 0 } -func (m *SLInitMsg) GetSubVer() uint32 { - if m != nil { - return m.SubVer +func (x *SLInitMsg) GetSubVer() uint32 { + if x != nil { + return x.SubVer } return 0 } @@ -93,47 +162,82 @@ func (m *SLInitMsg) GetSubVer() uint32 { // On Success (ErrStatus), the session with the server is established // and the client is allowed to proceed. type SLInitMsgRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // Server's version of service-layer API (refer to sl_version.proto) // Major-number revisions are NOT backwards compatible, // unless otherwise specified. The Server may reject a session if there // is a version number mismatch or non-backwards compatibility. - MajorVer uint32 `protobuf:"varint,1,opt,name=MajorVer" json:"MajorVer,omitempty"` + MajorVer uint32 `protobuf:"varint,1,opt,name=MajorVer,proto3" json:"MajorVer,omitempty"` // Minor Version - MinorVer uint32 `protobuf:"varint,2,opt,name=MinorVer" json:"MinorVer,omitempty"` + MinorVer uint32 `protobuf:"varint,2,opt,name=MinorVer,proto3" json:"MinorVer,omitempty"` // Sub-Version - SubVer uint32 `protobuf:"varint,3,opt,name=SubVer" json:"SubVer,omitempty"` + SubVer uint32 `protobuf:"varint,3,opt,name=SubVer,proto3" json:"SubVer,omitempty"` } -func (m *SLInitMsgRsp) Reset() { *m = SLInitMsgRsp{} } -func (m *SLInitMsgRsp) String() string { return proto.CompactTextString(m) } -func (*SLInitMsgRsp) ProtoMessage() {} -func (*SLInitMsgRsp) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} } +func (x *SLInitMsgRsp) Reset() { + *x = SLInitMsgRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_global_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} -func (m *SLInitMsgRsp) GetMajorVer() uint32 { - if m != nil { - return m.MajorVer +func (x *SLInitMsgRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLInitMsgRsp) ProtoMessage() {} + +func (x *SLInitMsgRsp) ProtoReflect() protoreflect.Message { + mi := &file_sl_global_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLInitMsgRsp.ProtoReflect.Descriptor instead. +func (*SLInitMsgRsp) Descriptor() ([]byte, []int) { + return file_sl_global_proto_rawDescGZIP(), []int{1} +} + +func (x *SLInitMsgRsp) GetMajorVer() uint32 { + if x != nil { + return x.MajorVer } return 0 } -func (m *SLInitMsgRsp) GetMinorVer() uint32 { - if m != nil { - return m.MinorVer +func (x *SLInitMsgRsp) GetMinorVer() uint32 { + if x != nil { + return x.MinorVer } return 0 } -func (m *SLInitMsgRsp) GetSubVer() uint32 { - if m != nil { - return m.SubVer +func (x *SLInitMsgRsp) GetSubVer() uint32 { + if x != nil { + return x.SubVer } return 0 } // Globals query message. type SLGlobalNotif struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // Event Type. - EventType SLGlobalNotifType `protobuf:"varint,1,opt,name=EventType,enum=service_layer.SLGlobalNotifType" json:"EventType,omitempty"` + EventType SLGlobalNotifType `protobuf:"varint,1,opt,name=EventType,proto3,enum=SLGlobalNotifType" json:"EventType,omitempty"` // Status code, interpreted based on the Event Type. // // case EventType == SL_GLOBAL_EVENT_TYPE_ERROR: @@ -162,459 +266,490 @@ type SLGlobalNotif struct { // case ErrStatus == (some error from SLErrorStatus) // => Client must either try again, or look into the specific // error message returned. - ErrStatus *SLErrorStatus `protobuf:"bytes,2,opt,name=ErrStatus" json:"ErrStatus,omitempty"` + ErrStatus *SLErrorStatus `protobuf:"bytes,2,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // Further info based on EventType. // - // Types that are valid to be assigned to Event: + // Types that are assignable to Event: // *SLGlobalNotif_InitRspMsg Event isSLGlobalNotif_Event `protobuf_oneof:"Event"` } -func (m *SLGlobalNotif) Reset() { *m = SLGlobalNotif{} } -func (m *SLGlobalNotif) String() string { return proto.CompactTextString(m) } -func (*SLGlobalNotif) ProtoMessage() {} -func (*SLGlobalNotif) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} } - -type isSLGlobalNotif_Event interface { - isSLGlobalNotif_Event() +func (x *SLGlobalNotif) Reset() { + *x = SLGlobalNotif{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_global_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -type SLGlobalNotif_InitRspMsg struct { - InitRspMsg *SLInitMsgRsp `protobuf:"bytes,3,opt,name=InitRspMsg,oneof"` +func (x *SLGlobalNotif) String() string { + return protoimpl.X.MessageStringOf(x) } -func (*SLGlobalNotif_InitRspMsg) isSLGlobalNotif_Event() {} +func (*SLGlobalNotif) ProtoMessage() {} -func (m *SLGlobalNotif) GetEvent() isSLGlobalNotif_Event { - if m != nil { - return m.Event +func (x *SLGlobalNotif) ProtoReflect() protoreflect.Message { + mi := &file_sl_global_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (m *SLGlobalNotif) GetEventType() SLGlobalNotifType { - if m != nil { - return m.EventType +// Deprecated: Use SLGlobalNotif.ProtoReflect.Descriptor instead. +func (*SLGlobalNotif) Descriptor() ([]byte, []int) { + return file_sl_global_proto_rawDescGZIP(), []int{2} +} + +func (x *SLGlobalNotif) GetEventType() SLGlobalNotifType { + if x != nil { + return x.EventType } return SLGlobalNotifType_SL_GLOBAL_EVENT_TYPE_RESERVED } -func (m *SLGlobalNotif) GetErrStatus() *SLErrorStatus { +func (x *SLGlobalNotif) GetErrStatus() *SLErrorStatus { + if x != nil { + return x.ErrStatus + } + return nil +} + +func (m *SLGlobalNotif) GetEvent() isSLGlobalNotif_Event { if m != nil { - return m.ErrStatus + return m.Event } return nil } -func (m *SLGlobalNotif) GetInitRspMsg() *SLInitMsgRsp { - if x, ok := m.GetEvent().(*SLGlobalNotif_InitRspMsg); ok { +func (x *SLGlobalNotif) GetInitRspMsg() *SLInitMsgRsp { + if x, ok := x.GetEvent().(*SLGlobalNotif_InitRspMsg); ok { return x.InitRspMsg } return nil } -// XXX_OneofFuncs is for the internal use of the proto package. -func (*SLGlobalNotif) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { - return _SLGlobalNotif_OneofMarshaler, _SLGlobalNotif_OneofUnmarshaler, _SLGlobalNotif_OneofSizer, []interface{}{ - (*SLGlobalNotif_InitRspMsg)(nil), - } +type isSLGlobalNotif_Event interface { + isSLGlobalNotif_Event() } -func _SLGlobalNotif_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { - m := msg.(*SLGlobalNotif) - // Event - switch x := m.Event.(type) { - case *SLGlobalNotif_InitRspMsg: - b.EncodeVarint(3<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.InitRspMsg); err != nil { - return err - } - case nil: - default: - return fmt.Errorf("SLGlobalNotif.Event has unexpected type %T", x) - } - return nil +type SLGlobalNotif_InitRspMsg struct { + // case EventType == SL_GLOBAL_EVENT_TYPE_VERSION: + // => this field carries the Server version number. + InitRspMsg *SLInitMsgRsp `protobuf:"bytes,3,opt,name=InitRspMsg,proto3,oneof"` } -func _SLGlobalNotif_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { - m := msg.(*SLGlobalNotif) - switch tag { - case 3: // Event.InitRspMsg - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(SLInitMsgRsp) - err := b.DecodeMessage(msg) - m.Event = &SLGlobalNotif_InitRspMsg{msg} - return true, err - default: - return false, nil - } +func (*SLGlobalNotif_InitRspMsg) isSLGlobalNotif_Event() {} + +// Globals query message. +type SLGlobalsGetMsg struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields } -func _SLGlobalNotif_OneofSizer(msg proto.Message) (n int) { - m := msg.(*SLGlobalNotif) - // Event - switch x := m.Event.(type) { - case *SLGlobalNotif_InitRspMsg: - s := proto.Size(x.InitRspMsg) - n += proto.SizeVarint(3<<3 | proto.WireBytes) - n += proto.SizeVarint(uint64(s)) - n += s - case nil: - default: - panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) +func (x *SLGlobalsGetMsg) Reset() { + *x = SLGlobalsGetMsg{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_global_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return n } -// Globals query message. -type SLGlobalsGetMsg struct { +func (x *SLGlobalsGetMsg) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *SLGlobalsGetMsg) Reset() { *m = SLGlobalsGetMsg{} } -func (m *SLGlobalsGetMsg) String() string { return proto.CompactTextString(m) } -func (*SLGlobalsGetMsg) ProtoMessage() {} -func (*SLGlobalsGetMsg) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} } +func (*SLGlobalsGetMsg) ProtoMessage() {} + +func (x *SLGlobalsGetMsg) ProtoReflect() protoreflect.Message { + mi := &file_sl_global_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLGlobalsGetMsg.ProtoReflect.Descriptor instead. +func (*SLGlobalsGetMsg) Descriptor() ([]byte, []int) { + return file_sl_global_proto_rawDescGZIP(), []int{3} +} // Platform specific globals Response. type SLGlobalsGetMsgRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // Corresponding error code - ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus" json:"ErrStatus,omitempty"` + ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // Maximum vrf name length. - MaxVrfNameLength uint32 `protobuf:"varint,2,opt,name=MaxVrfNameLength" json:"MaxVrfNameLength,omitempty"` + MaxVrfNameLength uint32 `protobuf:"varint,2,opt,name=MaxVrfNameLength,proto3" json:"MaxVrfNameLength,omitempty"` // Maximum interface name length. - MaxInterfaceNameLength uint32 `protobuf:"varint,3,opt,name=MaxInterfaceNameLength" json:"MaxInterfaceNameLength,omitempty"` + MaxInterfaceNameLength uint32 `protobuf:"varint,3,opt,name=MaxInterfaceNameLength,proto3" json:"MaxInterfaceNameLength,omitempty"` // Maximum paths per Route/ILM Entry. - MaxPathsPerEntry uint32 `protobuf:"varint,4,opt,name=MaxPathsPerEntry" json:"MaxPathsPerEntry,omitempty"` + MaxPathsPerEntry uint32 `protobuf:"varint,4,opt,name=MaxPathsPerEntry,proto3" json:"MaxPathsPerEntry,omitempty"` // Maximum primary paths per Route/ILM Entry. - MaxPrimaryPathPerEntry uint32 `protobuf:"varint,5,opt,name=MaxPrimaryPathPerEntry" json:"MaxPrimaryPathPerEntry,omitempty"` + MaxPrimaryPathPerEntry uint32 `protobuf:"varint,5,opt,name=MaxPrimaryPathPerEntry,proto3" json:"MaxPrimaryPathPerEntry,omitempty"` // Maximum backup paths per Route/ILM Entry. - MaxBackupPathPerEntry uint32 `protobuf:"varint,6,opt,name=MaxBackupPathPerEntry" json:"MaxBackupPathPerEntry,omitempty"` + MaxBackupPathPerEntry uint32 `protobuf:"varint,6,opt,name=MaxBackupPathPerEntry,proto3" json:"MaxBackupPathPerEntry,omitempty"` // Maximum MPLS labels per Route/ILM Entry. - MaxMplsLabelsPerPath uint32 `protobuf:"varint,7,opt,name=MaxMplsLabelsPerPath" json:"MaxMplsLabelsPerPath,omitempty"` + MaxMplsLabelsPerPath uint32 `protobuf:"varint,7,opt,name=MaxMplsLabelsPerPath,proto3" json:"MaxMplsLabelsPerPath,omitempty"` // Minimum Primary path id number. - MinPrimaryPathIdNum uint32 `protobuf:"varint,8,opt,name=MinPrimaryPathIdNum" json:"MinPrimaryPathIdNum,omitempty"` + MinPrimaryPathIdNum uint32 `protobuf:"varint,8,opt,name=MinPrimaryPathIdNum,proto3" json:"MinPrimaryPathIdNum,omitempty"` // Maximum Primary path id number. - MaxPrimaryPathIdNum uint32 `protobuf:"varint,9,opt,name=MaxPrimaryPathIdNum" json:"MaxPrimaryPathIdNum,omitempty"` + MaxPrimaryPathIdNum uint32 `protobuf:"varint,9,opt,name=MaxPrimaryPathIdNum,proto3" json:"MaxPrimaryPathIdNum,omitempty"` // Minimum Pure Backup path id number. - MinBackupPathIdNum uint32 `protobuf:"varint,10,opt,name=MinBackupPathIdNum" json:"MinBackupPathIdNum,omitempty"` + MinBackupPathIdNum uint32 `protobuf:"varint,10,opt,name=MinBackupPathIdNum,proto3" json:"MinBackupPathIdNum,omitempty"` // Maximum Pure Backup path id number. - MaxBackupPathIdNum uint32 `protobuf:"varint,11,opt,name=MaxBackupPathIdNum" json:"MaxBackupPathIdNum,omitempty"` + MaxBackupPathIdNum uint32 `protobuf:"varint,11,opt,name=MaxBackupPathIdNum,proto3" json:"MaxBackupPathIdNum,omitempty"` // Maximum number of remote addresses - MaxRemoteAddressNum uint32 `protobuf:"varint,12,opt,name=MaxRemoteAddressNum" json:"MaxRemoteAddressNum,omitempty"` + MaxRemoteAddressNum uint32 `protobuf:"varint,12,opt,name=MaxRemoteAddressNum,proto3" json:"MaxRemoteAddressNum,omitempty"` } -func (m *SLGlobalsGetMsgRsp) Reset() { *m = SLGlobalsGetMsgRsp{} } -func (m *SLGlobalsGetMsgRsp) String() string { return proto.CompactTextString(m) } -func (*SLGlobalsGetMsgRsp) ProtoMessage() {} -func (*SLGlobalsGetMsgRsp) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} } - -func (m *SLGlobalsGetMsgRsp) GetErrStatus() *SLErrorStatus { - if m != nil { - return m.ErrStatus +func (x *SLGlobalsGetMsgRsp) Reset() { + *x = SLGlobalsGetMsgRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_global_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (m *SLGlobalsGetMsgRsp) GetMaxVrfNameLength() uint32 { - if m != nil { - return m.MaxVrfNameLength - } - return 0 +func (x *SLGlobalsGetMsgRsp) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *SLGlobalsGetMsgRsp) GetMaxInterfaceNameLength() uint32 { - if m != nil { - return m.MaxInterfaceNameLength +func (*SLGlobalsGetMsgRsp) ProtoMessage() {} + +func (x *SLGlobalsGetMsgRsp) ProtoReflect() protoreflect.Message { + mi := &file_sl_global_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (m *SLGlobalsGetMsgRsp) GetMaxPathsPerEntry() uint32 { - if m != nil { - return m.MaxPathsPerEntry - } - return 0 +// Deprecated: Use SLGlobalsGetMsgRsp.ProtoReflect.Descriptor instead. +func (*SLGlobalsGetMsgRsp) Descriptor() ([]byte, []int) { + return file_sl_global_proto_rawDescGZIP(), []int{4} } -func (m *SLGlobalsGetMsgRsp) GetMaxPrimaryPathPerEntry() uint32 { - if m != nil { - return m.MaxPrimaryPathPerEntry +func (x *SLGlobalsGetMsgRsp) GetErrStatus() *SLErrorStatus { + if x != nil { + return x.ErrStatus } - return 0 + return nil } -func (m *SLGlobalsGetMsgRsp) GetMaxBackupPathPerEntry() uint32 { - if m != nil { - return m.MaxBackupPathPerEntry +func (x *SLGlobalsGetMsgRsp) GetMaxVrfNameLength() uint32 { + if x != nil { + return x.MaxVrfNameLength } return 0 } -func (m *SLGlobalsGetMsgRsp) GetMaxMplsLabelsPerPath() uint32 { - if m != nil { - return m.MaxMplsLabelsPerPath +func (x *SLGlobalsGetMsgRsp) GetMaxInterfaceNameLength() uint32 { + if x != nil { + return x.MaxInterfaceNameLength } return 0 } -func (m *SLGlobalsGetMsgRsp) GetMinPrimaryPathIdNum() uint32 { - if m != nil { - return m.MinPrimaryPathIdNum +func (x *SLGlobalsGetMsgRsp) GetMaxPathsPerEntry() uint32 { + if x != nil { + return x.MaxPathsPerEntry } return 0 } -func (m *SLGlobalsGetMsgRsp) GetMaxPrimaryPathIdNum() uint32 { - if m != nil { - return m.MaxPrimaryPathIdNum +func (x *SLGlobalsGetMsgRsp) GetMaxPrimaryPathPerEntry() uint32 { + if x != nil { + return x.MaxPrimaryPathPerEntry } return 0 } -func (m *SLGlobalsGetMsgRsp) GetMinBackupPathIdNum() uint32 { - if m != nil { - return m.MinBackupPathIdNum +func (x *SLGlobalsGetMsgRsp) GetMaxBackupPathPerEntry() uint32 { + if x != nil { + return x.MaxBackupPathPerEntry } return 0 } -func (m *SLGlobalsGetMsgRsp) GetMaxBackupPathIdNum() uint32 { - if m != nil { - return m.MaxBackupPathIdNum +func (x *SLGlobalsGetMsgRsp) GetMaxMplsLabelsPerPath() uint32 { + if x != nil { + return x.MaxMplsLabelsPerPath } return 0 } -func (m *SLGlobalsGetMsgRsp) GetMaxRemoteAddressNum() uint32 { - if m != nil { - return m.MaxRemoteAddressNum +func (x *SLGlobalsGetMsgRsp) GetMinPrimaryPathIdNum() uint32 { + if x != nil { + return x.MinPrimaryPathIdNum } return 0 } -func init() { - proto.RegisterType((*SLInitMsg)(nil), "service_layer.SLInitMsg") - proto.RegisterType((*SLInitMsgRsp)(nil), "service_layer.SLInitMsgRsp") - proto.RegisterType((*SLGlobalNotif)(nil), "service_layer.SLGlobalNotif") - proto.RegisterType((*SLGlobalsGetMsg)(nil), "service_layer.SLGlobalsGetMsg") - proto.RegisterType((*SLGlobalsGetMsgRsp)(nil), "service_layer.SLGlobalsGetMsgRsp") - proto.RegisterEnum("service_layer.SLGlobalNotifType", SLGlobalNotifType_name, SLGlobalNotifType_value) -} - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConn - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion4 - -// Client API for SLGlobal service - -type SLGlobalClient interface { - // Initialize the connection, and setup a notification channel. - // This MUST be the first call to setup the Service Layer connection. - // - // The caller MUST maintain the notification channel to be able to - // communicate with the server. - // If this channel is not properly established and maintained, all other - // RPC requests are rejected. - // - // The caller must send its version information as part of the SLInitMsg - // message. The server will reply with SL_GLOBAL_EVENT_TYPE_VERSION - // that tells the caller whether he can proceed or not. - // Refer to message SLGlobalNotif below for further details. - // - // After the version handshake, the notification channel is used for - // "push" event notifications, such as: - // - SLGlobalNotif.EventType = SL_GLOBAL_EVENT_TYPE_HEARTBEAT - // heartbeat notification messages are sent to the client on - // a periodic basis. - // Refer to SLGlobalNotif definition for further info. - SLGlobalInitNotif(ctx context.Context, in *SLInitMsg, opts ...grpc.CallOption) (SLGlobal_SLGlobalInitNotifClient, error) - // Get platform specific globals - SLGlobalsGet(ctx context.Context, in *SLGlobalsGetMsg, opts ...grpc.CallOption) (*SLGlobalsGetMsgRsp, error) -} - -type sLGlobalClient struct { - cc *grpc.ClientConn -} - -func NewSLGlobalClient(cc *grpc.ClientConn) SLGlobalClient { - return &sLGlobalClient{cc} -} - -func (c *sLGlobalClient) SLGlobalInitNotif(ctx context.Context, in *SLInitMsg, opts ...grpc.CallOption) (SLGlobal_SLGlobalInitNotifClient, error) { - stream, err := grpc.NewClientStream(ctx, &_SLGlobal_serviceDesc.Streams[0], c.cc, "/service_layer.SLGlobal/SLGlobalInitNotif", opts...) - if err != nil { - return nil, err +func (x *SLGlobalsGetMsgRsp) GetMaxPrimaryPathIdNum() uint32 { + if x != nil { + return x.MaxPrimaryPathIdNum } - x := &sLGlobalSLGlobalInitNotifClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type SLGlobal_SLGlobalInitNotifClient interface { - Recv() (*SLGlobalNotif, error) - grpc.ClientStream -} - -type sLGlobalSLGlobalInitNotifClient struct { - grpc.ClientStream + return 0 } -func (x *sLGlobalSLGlobalInitNotifClient) Recv() (*SLGlobalNotif, error) { - m := new(SLGlobalNotif) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err +func (x *SLGlobalsGetMsgRsp) GetMinBackupPathIdNum() uint32 { + if x != nil { + return x.MinBackupPathIdNum } - return m, nil + return 0 } -func (c *sLGlobalClient) SLGlobalsGet(ctx context.Context, in *SLGlobalsGetMsg, opts ...grpc.CallOption) (*SLGlobalsGetMsgRsp, error) { - out := new(SLGlobalsGetMsgRsp) - err := grpc.Invoke(ctx, "/service_layer.SLGlobal/SLGlobalsGet", in, out, c.cc, opts...) - if err != nil { - return nil, err +func (x *SLGlobalsGetMsgRsp) GetMaxBackupPathIdNum() uint32 { + if x != nil { + return x.MaxBackupPathIdNum } - return out, nil -} - -// Server API for SLGlobal service - -type SLGlobalServer interface { - // Initialize the connection, and setup a notification channel. - // This MUST be the first call to setup the Service Layer connection. - // - // The caller MUST maintain the notification channel to be able to - // communicate with the server. - // If this channel is not properly established and maintained, all other - // RPC requests are rejected. - // - // The caller must send its version information as part of the SLInitMsg - // message. The server will reply with SL_GLOBAL_EVENT_TYPE_VERSION - // that tells the caller whether he can proceed or not. - // Refer to message SLGlobalNotif below for further details. - // - // After the version handshake, the notification channel is used for - // "push" event notifications, such as: - // - SLGlobalNotif.EventType = SL_GLOBAL_EVENT_TYPE_HEARTBEAT - // heartbeat notification messages are sent to the client on - // a periodic basis. - // Refer to SLGlobalNotif definition for further info. - SLGlobalInitNotif(*SLInitMsg, SLGlobal_SLGlobalInitNotifServer) error - // Get platform specific globals - SLGlobalsGet(context.Context, *SLGlobalsGetMsg) (*SLGlobalsGetMsgRsp, error) -} - -func RegisterSLGlobalServer(s *grpc.Server, srv SLGlobalServer) { - s.RegisterService(&_SLGlobal_serviceDesc, srv) + return 0 } -func _SLGlobal_SLGlobalInitNotif_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(SLInitMsg) - if err := stream.RecvMsg(m); err != nil { - return err +func (x *SLGlobalsGetMsgRsp) GetMaxRemoteAddressNum() uint32 { + if x != nil { + return x.MaxRemoteAddressNum } - return srv.(SLGlobalServer).SLGlobalInitNotif(m, &sLGlobalSLGlobalInitNotifServer{stream}) -} - -type SLGlobal_SLGlobalInitNotifServer interface { - Send(*SLGlobalNotif) error - grpc.ServerStream -} - -type sLGlobalSLGlobalInitNotifServer struct { - grpc.ServerStream + return 0 } -func (x *sLGlobalSLGlobalInitNotifServer) Send(m *SLGlobalNotif) error { - return x.ServerStream.SendMsg(m) -} +var File_sl_global_proto protoreflect.FileDescriptor + +var file_sl_global_proto_rawDesc = []byte{ + 0x0a, 0x0f, 0x73, 0x6c, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x15, 0x73, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5b, 0x0a, 0x09, 0x53, 0x4c, 0x49, 0x6e, + 0x69, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x6a, 0x6f, 0x72, 0x56, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x61, 0x6a, 0x6f, 0x72, 0x56, 0x65, + 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x69, 0x6e, 0x6f, 0x72, 0x56, 0x65, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x69, 0x6e, 0x6f, 0x72, 0x56, 0x65, 0x72, 0x12, 0x16, 0x0a, + 0x06, 0x53, 0x75, 0x62, 0x56, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x53, + 0x75, 0x62, 0x56, 0x65, 0x72, 0x22, 0x5e, 0x0a, 0x0c, 0x53, 0x4c, 0x49, 0x6e, 0x69, 0x74, 0x4d, + 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x6a, 0x6f, 0x72, 0x56, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x61, 0x6a, 0x6f, 0x72, 0x56, 0x65, + 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x69, 0x6e, 0x6f, 0x72, 0x56, 0x65, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x69, 0x6e, 0x6f, 0x72, 0x56, 0x65, 0x72, 0x12, 0x16, 0x0a, + 0x06, 0x53, 0x75, 0x62, 0x56, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x53, + 0x75, 0x62, 0x56, 0x65, 0x72, 0x22, 0xa9, 0x01, 0x0a, 0x0d, 0x53, 0x4c, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x12, 0x30, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x53, 0x4c, 0x47, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x45, 0x72, 0x72, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x53, + 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x45, 0x72, + 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2f, 0x0a, 0x0a, 0x49, 0x6e, 0x69, 0x74, 0x52, + 0x73, 0x70, 0x4d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x53, 0x4c, + 0x49, 0x6e, 0x69, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x48, 0x00, 0x52, 0x0a, 0x49, 0x6e, + 0x69, 0x74, 0x52, 0x73, 0x70, 0x4d, 0x73, 0x67, 0x42, 0x07, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x22, 0x11, 0x0a, 0x0f, 0x53, 0x4c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x47, 0x65, + 0x74, 0x4d, 0x73, 0x67, 0x22, 0xea, 0x04, 0x0a, 0x12, 0x53, 0x4c, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x73, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x09, 0x45, + 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, + 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x4d, 0x61, 0x78, + 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x10, 0x4d, 0x61, 0x78, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x4c, + 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x36, 0x0a, 0x16, 0x4d, 0x61, 0x78, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x66, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x4d, 0x61, 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, + 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x2a, 0x0a, + 0x10, 0x4d, 0x61, 0x78, 0x50, 0x61, 0x74, 0x68, 0x73, 0x50, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x4d, 0x61, 0x78, 0x50, 0x61, 0x74, 0x68, + 0x73, 0x50, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x36, 0x0a, 0x16, 0x4d, 0x61, 0x78, + 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x50, 0x65, 0x72, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x4d, 0x61, 0x78, 0x50, 0x72, + 0x69, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x50, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x34, 0x0a, 0x15, 0x4d, 0x61, 0x78, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x61, + 0x74, 0x68, 0x50, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x15, 0x4d, 0x61, 0x78, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x61, 0x74, 0x68, 0x50, + 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x32, 0x0a, 0x14, 0x4d, 0x61, 0x78, 0x4d, 0x70, + 0x6c, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x50, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x4d, 0x61, 0x78, 0x4d, 0x70, 0x6c, 0x73, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x50, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x12, 0x30, 0x0a, 0x13, 0x4d, + 0x69, 0x6e, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x49, 0x64, 0x4e, + 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x4d, 0x69, 0x6e, 0x50, 0x72, 0x69, + 0x6d, 0x61, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x49, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x30, 0x0a, + 0x13, 0x4d, 0x61, 0x78, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x49, + 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x4d, 0x61, 0x78, 0x50, + 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x49, 0x64, 0x4e, 0x75, 0x6d, 0x12, + 0x2e, 0x0a, 0x12, 0x4d, 0x69, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x61, 0x74, 0x68, + 0x49, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x4d, 0x69, 0x6e, + 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x61, 0x74, 0x68, 0x49, 0x64, 0x4e, 0x75, 0x6d, 0x12, + 0x2e, 0x0a, 0x12, 0x4d, 0x61, 0x78, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x61, 0x74, 0x68, + 0x49, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x4d, 0x61, 0x78, + 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x61, 0x74, 0x68, 0x49, 0x64, 0x4e, 0x75, 0x6d, 0x12, + 0x30, 0x0a, 0x13, 0x4d, 0x61, 0x78, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x4e, 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x4d, 0x61, + 0x78, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4e, 0x75, + 0x6d, 0x2a, 0x9c, 0x01, 0x0a, 0x11, 0x53, 0x4c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x6f, + 0x74, 0x69, 0x66, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x47, 0x4c, + 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x4c, + 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x4c, + 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x48, 0x45, 0x41, 0x52, 0x54, 0x42, 0x45, 0x41, 0x54, 0x10, 0x02, 0x12, 0x20, + 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x45, 0x56, 0x45, 0x4e, + 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x03, + 0x32, 0x74, 0x0a, 0x08, 0x53, 0x4c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x31, 0x0a, 0x11, + 0x53, 0x4c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x49, 0x6e, 0x69, 0x74, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x12, 0x0a, 0x2e, 0x53, 0x4c, 0x49, 0x6e, 0x69, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x0e, 0x2e, + 0x53, 0x4c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x30, 0x01, 0x12, + 0x35, 0x0a, 0x0c, 0x53, 0x4c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x47, 0x65, 0x74, 0x12, + 0x10, 0x2e, 0x53, 0x4c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x47, 0x65, 0x74, 0x4d, 0x73, + 0x67, 0x1a, 0x13, 0x2e, 0x53, 0x4c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x47, 0x65, 0x74, + 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x42, 0x11, 0x5a, 0x0f, 0x2e, 0x2f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, +} + +var ( + file_sl_global_proto_rawDescOnce sync.Once + file_sl_global_proto_rawDescData = file_sl_global_proto_rawDesc +) -func _SLGlobal_SLGlobalsGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SLGlobalsGetMsg) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SLGlobalServer).SLGlobalsGet(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/service_layer.SLGlobal/SLGlobalsGet", +func file_sl_global_proto_rawDescGZIP() []byte { + file_sl_global_proto_rawDescOnce.Do(func() { + file_sl_global_proto_rawDescData = protoimpl.X.CompressGZIP(file_sl_global_proto_rawDescData) + }) + return file_sl_global_proto_rawDescData +} + +var file_sl_global_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_sl_global_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_sl_global_proto_goTypes = []interface{}{ + (SLGlobalNotifType)(0), // 0: SLGlobalNotifType + (*SLInitMsg)(nil), // 1: SLInitMsg + (*SLInitMsgRsp)(nil), // 2: SLInitMsgRsp + (*SLGlobalNotif)(nil), // 3: SLGlobalNotif + (*SLGlobalsGetMsg)(nil), // 4: SLGlobalsGetMsg + (*SLGlobalsGetMsgRsp)(nil), // 5: SLGlobalsGetMsgRsp + (*SLErrorStatus)(nil), // 6: SLErrorStatus +} +var file_sl_global_proto_depIdxs = []int32{ + 0, // 0: SLGlobalNotif.EventType:type_name -> SLGlobalNotifType + 6, // 1: SLGlobalNotif.ErrStatus:type_name -> SLErrorStatus + 2, // 2: SLGlobalNotif.InitRspMsg:type_name -> SLInitMsgRsp + 6, // 3: SLGlobalsGetMsgRsp.ErrStatus:type_name -> SLErrorStatus + 1, // 4: SLGlobal.SLGlobalInitNotif:input_type -> SLInitMsg + 4, // 5: SLGlobal.SLGlobalsGet:input_type -> SLGlobalsGetMsg + 3, // 6: SLGlobal.SLGlobalInitNotif:output_type -> SLGlobalNotif + 5, // 7: SLGlobal.SLGlobalsGet:output_type -> SLGlobalsGetMsgRsp + 6, // [6:8] is the sub-list for method output_type + 4, // [4:6] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { file_sl_global_proto_init() } +func file_sl_global_proto_init() { + if File_sl_global_proto != nil { + return + } + file_sl_common_types_proto_init() + if !protoimpl.UnsafeEnabled { + file_sl_global_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLInitMsg); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sl_global_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLInitMsgRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sl_global_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLGlobalNotif); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sl_global_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLGlobalsGetMsg); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sl_global_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLGlobalsGetMsgRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SLGlobalServer).SLGlobalsGet(ctx, req.(*SLGlobalsGetMsg)) + file_sl_global_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*SLGlobalNotif_InitRspMsg)(nil), } - return interceptor(ctx, in, info, handler) -} - -var _SLGlobal_serviceDesc = grpc.ServiceDesc{ - ServiceName: "service_layer.SLGlobal", - HandlerType: (*SLGlobalServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "SLGlobalsGet", - Handler: _SLGlobal_SLGlobalsGet_Handler, - }, - }, - Streams: []grpc.StreamDesc{ - { - StreamName: "SLGlobalInitNotif", - Handler: _SLGlobal_SLGlobalInitNotif_Handler, - ServerStreams: true, + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_sl_global_proto_rawDesc, + NumEnums: 1, + NumMessages: 5, + NumExtensions: 0, + NumServices: 1, }, - }, - Metadata: "sl_global.proto", -} - -func init() { proto.RegisterFile("sl_global.proto", fileDescriptor1) } - -var fileDescriptor1 = []byte{ - // 588 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x94, 0xdf, 0x6a, 0xdb, 0x30, - 0x14, 0xc6, 0xeb, 0xfe, 0xcf, 0x69, 0xbb, 0xa6, 0xda, 0x5a, 0x42, 0xd6, 0x95, 0x36, 0x57, 0xa3, - 0x17, 0xa1, 0x64, 0x63, 0x17, 0x83, 0x0d, 0x12, 0x26, 0xd2, 0x80, 0x9d, 0x64, 0x72, 0x08, 0x8c, - 0xc1, 0x8c, 0x92, 0x28, 0xa9, 0x37, 0xff, 0x43, 0x52, 0x4a, 0xf2, 0x2e, 0x7b, 0x84, 0xbd, 0xcd, - 0x5e, 0x66, 0x97, 0xc3, 0xb2, 0x6b, 0xc7, 0xb5, 0x53, 0x18, 0xec, 0x52, 0xfa, 0x7d, 0x9f, 0xcf, - 0xa7, 0x63, 0xce, 0x81, 0x63, 0xe1, 0x58, 0x33, 0xc7, 0x1f, 0x51, 0xa7, 0x1e, 0x70, 0x5f, 0xfa, - 0xe8, 0x48, 0x30, 0x7e, 0x6f, 0x8f, 0x99, 0xe5, 0xd0, 0x25, 0xe3, 0xd5, 0x53, 0xe1, 0x58, 0x63, - 0xdf, 0x75, 0x7d, 0xcf, 0x92, 0xcb, 0x80, 0x89, 0x48, 0x55, 0xfb, 0x0a, 0x25, 0x53, 0xef, 0x78, - 0xb6, 0x34, 0xc4, 0x0c, 0x55, 0x61, 0xdf, 0xa0, 0xdf, 0x7d, 0x3e, 0x64, 0xbc, 0xa2, 0x5d, 0x6a, - 0xaf, 0x8f, 0x48, 0x72, 0x56, 0xcc, 0xf6, 0x22, 0xb6, 0x19, 0xb3, 0xf8, 0x8c, 0xce, 0x60, 0xd7, - 0x9c, 0x8f, 0x42, 0xb2, 0xa5, 0x48, 0x7c, 0xaa, 0x7d, 0x83, 0xc3, 0xe4, 0xe3, 0x44, 0x04, 0xff, - 0xfd, 0xfb, 0xbf, 0x35, 0x38, 0x32, 0xf5, 0xb6, 0x7a, 0x75, 0xd7, 0x97, 0xf6, 0x14, 0x7d, 0x84, - 0x12, 0xbe, 0x67, 0x9e, 0x1c, 0x2c, 0x03, 0xa6, 0x4a, 0x3c, 0x6b, 0x5c, 0xd6, 0x33, 0x8d, 0xa8, - 0x67, 0x0c, 0xa1, 0x8e, 0xa4, 0x16, 0xf4, 0x1e, 0x4a, 0x98, 0x73, 0x53, 0x52, 0x39, 0x17, 0x2a, - 0xc6, 0x41, 0xe3, 0x3c, 0xe7, 0xc7, 0x9c, 0xfb, 0xb1, 0x86, 0xa4, 0x72, 0xf4, 0x01, 0x20, 0x7c, - 0x2b, 0x11, 0x81, 0x21, 0x66, 0x2a, 0xe9, 0x41, 0xe3, 0x65, 0xce, 0x9c, 0xb6, 0xe3, 0x76, 0x83, - 0xac, 0x18, 0x5a, 0x7b, 0xb0, 0xa3, 0x72, 0xd4, 0x4e, 0xe0, 0xf8, 0x21, 0xa3, 0x68, 0xb3, 0x50, - 0x5c, 0xfb, 0xb3, 0x0d, 0xe8, 0xd1, 0x5d, 0xd8, 0xcf, 0x4c, 0x5a, 0xed, 0xdf, 0xd2, 0x5e, 0x43, - 0xd9, 0xa0, 0x8b, 0x21, 0x9f, 0x76, 0xa9, 0xcb, 0x74, 0xe6, 0xcd, 0xe4, 0x5d, 0xdc, 0xf7, 0xdc, - 0x3d, 0x7a, 0x07, 0x67, 0x06, 0x5d, 0x74, 0x3c, 0xc9, 0xf8, 0x94, 0x8e, 0xd9, 0x8a, 0x23, 0xfa, - 0x1f, 0x6b, 0x68, 0x5c, 0xa3, 0x4f, 0xe5, 0x9d, 0xe8, 0x33, 0x8e, 0x3d, 0xc9, 0x97, 0x95, 0xed, - 0xa4, 0x46, 0xe6, 0x3e, 0xae, 0xd1, 0xe7, 0xb6, 0x4b, 0xf9, 0x32, 0x44, 0x89, 0x63, 0x27, 0xa9, - 0x51, 0x40, 0xd1, 0x5b, 0x38, 0x35, 0xe8, 0xa2, 0x45, 0xc7, 0x3f, 0xe6, 0x41, 0xc6, 0xb6, 0xab, - 0x6c, 0xc5, 0x10, 0x35, 0xe0, 0x85, 0x41, 0x17, 0x46, 0xe0, 0x08, 0x9d, 0x8e, 0x98, 0x13, 0xc6, - 0x08, 0x79, 0x65, 0x4f, 0x99, 0x0a, 0x19, 0xba, 0x81, 0xe7, 0x86, 0xed, 0xad, 0x64, 0xe8, 0x4c, - 0xba, 0x73, 0xb7, 0xb2, 0xaf, 0x2c, 0x45, 0x48, 0x39, 0x32, 0xa9, 0x23, 0x47, 0x29, 0x76, 0xe4, - 0x11, 0xaa, 0x03, 0x32, 0x6c, 0x2f, 0x0d, 0x1c, 0x19, 0x40, 0x19, 0x0a, 0x88, 0xd2, 0xaf, 0x3e, - 0x30, 0xd2, 0x1f, 0xc4, 0xfa, 0x1c, 0x89, 0x13, 0x11, 0xe6, 0xfa, 0x92, 0x35, 0x27, 0x13, 0xce, - 0x84, 0x08, 0x0d, 0x87, 0x49, 0xa2, 0xc7, 0xe8, 0xfa, 0xa7, 0x06, 0x27, 0xb9, 0x91, 0x41, 0x57, - 0xf0, 0xca, 0xd4, 0xad, 0xb6, 0xde, 0x6b, 0x35, 0x75, 0x0b, 0x0f, 0x71, 0x77, 0x60, 0x0d, 0xbe, - 0xf4, 0xb1, 0x45, 0xb0, 0x89, 0xc9, 0x10, 0x7f, 0x2a, 0x6f, 0xa0, 0x0b, 0xa8, 0x16, 0x4a, 0x30, - 0x21, 0x3d, 0x52, 0xd6, 0x50, 0x0d, 0x2e, 0x0a, 0xf9, 0x2d, 0x6e, 0x92, 0x41, 0x0b, 0x37, 0x07, - 0xe5, 0x4d, 0x74, 0x09, 0xe7, 0x85, 0x9a, 0x21, 0x26, 0x66, 0xa7, 0xd7, 0x2d, 0x6f, 0x35, 0x7e, - 0x69, 0xb0, 0xff, 0x10, 0x0f, 0x19, 0x69, 0xd4, 0x70, 0xb0, 0xa2, 0x95, 0x50, 0x59, 0x37, 0x82, - 0xd5, 0xf3, 0xa7, 0x36, 0xc3, 0x8d, 0x86, 0x3e, 0x87, 0xeb, 0x2b, 0x1d, 0x3a, 0x74, 0xb1, 0x46, - 0x1f, 0x4f, 0x64, 0xf5, 0xea, 0x69, 0x4e, 0x44, 0x30, 0xda, 0x55, 0x5b, 0xf7, 0xcd, 0xdf, 0x00, - 0x00, 0x00, 0xff, 0xff, 0x2a, 0xef, 0xf1, 0x6e, 0xae, 0x05, 0x00, 0x00, + GoTypes: file_sl_global_proto_goTypes, + DependencyIndexes: file_sl_global_proto_depIdxs, + EnumInfos: file_sl_global_proto_enumTypes, + MessageInfos: file_sl_global_proto_msgTypes, + }.Build() + File_sl_global_proto = out.File + file_sl_global_proto_rawDesc = nil + file_sl_global_proto_goTypes = nil + file_sl_global_proto_depIdxs = nil } diff --git a/proto/sla/sl_global.proto b/proto/sla/sl_global.proto index 16e2984..8222688 100755 --- a/proto/sla/sl_global.proto +++ b/proto/sla/sl_global.proto @@ -10,7 +10,7 @@ // syntax = "proto3"; -package service_layer; +option go_package = "./service_layer"; import "sl_common_types.proto"; diff --git a/proto/sla/sl_global_grpc.pb.go b/proto/sla/sl_global_grpc.pb.go new file mode 100644 index 0000000..f433fc0 --- /dev/null +++ b/proto/sla/sl_global_grpc.pb.go @@ -0,0 +1,209 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.5.0 +// source: sl_global.proto + +package service_layer + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// SLGlobalClient is the client API for SLGlobal service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type SLGlobalClient interface { + // Initialize the connection, and setup a notification channel. + // This MUST be the first call to setup the Service Layer connection. + // + // The caller MUST maintain the notification channel to be able to + // communicate with the server. + // If this channel is not properly established and maintained, all other + // RPC requests are rejected. + // + // The caller must send its version information as part of the SLInitMsg + // message. The server will reply with SL_GLOBAL_EVENT_TYPE_VERSION + // that tells the caller whether he can proceed or not. + // Refer to message SLGlobalNotif below for further details. + // + // After the version handshake, the notification channel is used for + // "push" event notifications, such as: + // - SLGlobalNotif.EventType = SL_GLOBAL_EVENT_TYPE_HEARTBEAT + // heartbeat notification messages are sent to the client on + // a periodic basis. + // Refer to SLGlobalNotif definition for further info. + SLGlobalInitNotif(ctx context.Context, in *SLInitMsg, opts ...grpc.CallOption) (SLGlobal_SLGlobalInitNotifClient, error) + // Get platform specific globals + SLGlobalsGet(ctx context.Context, in *SLGlobalsGetMsg, opts ...grpc.CallOption) (*SLGlobalsGetMsgRsp, error) +} + +type sLGlobalClient struct { + cc grpc.ClientConnInterface +} + +func NewSLGlobalClient(cc grpc.ClientConnInterface) SLGlobalClient { + return &sLGlobalClient{cc} +} + +func (c *sLGlobalClient) SLGlobalInitNotif(ctx context.Context, in *SLInitMsg, opts ...grpc.CallOption) (SLGlobal_SLGlobalInitNotifClient, error) { + stream, err := c.cc.NewStream(ctx, &SLGlobal_ServiceDesc.Streams[0], "/SLGlobal/SLGlobalInitNotif", opts...) + if err != nil { + return nil, err + } + x := &sLGlobalSLGlobalInitNotifClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type SLGlobal_SLGlobalInitNotifClient interface { + Recv() (*SLGlobalNotif, error) + grpc.ClientStream +} + +type sLGlobalSLGlobalInitNotifClient struct { + grpc.ClientStream +} + +func (x *sLGlobalSLGlobalInitNotifClient) Recv() (*SLGlobalNotif, error) { + m := new(SLGlobalNotif) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *sLGlobalClient) SLGlobalsGet(ctx context.Context, in *SLGlobalsGetMsg, opts ...grpc.CallOption) (*SLGlobalsGetMsgRsp, error) { + out := new(SLGlobalsGetMsgRsp) + err := c.cc.Invoke(ctx, "/SLGlobal/SLGlobalsGet", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// SLGlobalServer is the server API for SLGlobal service. +// All implementations must embed UnimplementedSLGlobalServer +// for forward compatibility +type SLGlobalServer interface { + // Initialize the connection, and setup a notification channel. + // This MUST be the first call to setup the Service Layer connection. + // + // The caller MUST maintain the notification channel to be able to + // communicate with the server. + // If this channel is not properly established and maintained, all other + // RPC requests are rejected. + // + // The caller must send its version information as part of the SLInitMsg + // message. The server will reply with SL_GLOBAL_EVENT_TYPE_VERSION + // that tells the caller whether he can proceed or not. + // Refer to message SLGlobalNotif below for further details. + // + // After the version handshake, the notification channel is used for + // "push" event notifications, such as: + // - SLGlobalNotif.EventType = SL_GLOBAL_EVENT_TYPE_HEARTBEAT + // heartbeat notification messages are sent to the client on + // a periodic basis. + // Refer to SLGlobalNotif definition for further info. + SLGlobalInitNotif(*SLInitMsg, SLGlobal_SLGlobalInitNotifServer) error + // Get platform specific globals + SLGlobalsGet(context.Context, *SLGlobalsGetMsg) (*SLGlobalsGetMsgRsp, error) + mustEmbedUnimplementedSLGlobalServer() +} + +// UnimplementedSLGlobalServer must be embedded to have forward compatible implementations. +type UnimplementedSLGlobalServer struct { +} + +func (UnimplementedSLGlobalServer) SLGlobalInitNotif(*SLInitMsg, SLGlobal_SLGlobalInitNotifServer) error { + return status.Errorf(codes.Unimplemented, "method SLGlobalInitNotif not implemented") +} +func (UnimplementedSLGlobalServer) SLGlobalsGet(context.Context, *SLGlobalsGetMsg) (*SLGlobalsGetMsgRsp, error) { + return nil, status.Errorf(codes.Unimplemented, "method SLGlobalsGet not implemented") +} +func (UnimplementedSLGlobalServer) mustEmbedUnimplementedSLGlobalServer() {} + +// UnsafeSLGlobalServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to SLGlobalServer will +// result in compilation errors. +type UnsafeSLGlobalServer interface { + mustEmbedUnimplementedSLGlobalServer() +} + +func RegisterSLGlobalServer(s grpc.ServiceRegistrar, srv SLGlobalServer) { + s.RegisterService(&SLGlobal_ServiceDesc, srv) +} + +func _SLGlobal_SLGlobalInitNotif_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SLInitMsg) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(SLGlobalServer).SLGlobalInitNotif(m, &sLGlobalSLGlobalInitNotifServer{stream}) +} + +type SLGlobal_SLGlobalInitNotifServer interface { + Send(*SLGlobalNotif) error + grpc.ServerStream +} + +type sLGlobalSLGlobalInitNotifServer struct { + grpc.ServerStream +} + +func (x *sLGlobalSLGlobalInitNotifServer) Send(m *SLGlobalNotif) error { + return x.ServerStream.SendMsg(m) +} + +func _SLGlobal_SLGlobalsGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SLGlobalsGetMsg) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SLGlobalServer).SLGlobalsGet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/SLGlobal/SLGlobalsGet", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SLGlobalServer).SLGlobalsGet(ctx, req.(*SLGlobalsGetMsg)) + } + return interceptor(ctx, in, info, handler) +} + +// SLGlobal_ServiceDesc is the grpc.ServiceDesc for SLGlobal service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var SLGlobal_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "SLGlobal", + HandlerType: (*SLGlobalServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "SLGlobalsGet", + Handler: _SLGlobal_SLGlobalsGet_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "SLGlobalInitNotif", + Handler: _SLGlobal_SLGlobalInitNotif_Handler, + ServerStreams: true, + }, + }, + Metadata: "sl_global.proto", +} diff --git a/proto/sla/sl_route_common.pb.go b/proto/sla/sl_route_common.pb.go index c6b0583..dd62bd9 100644 --- a/proto/sla/sl_route_common.pb.go +++ b/proto/sla/sl_route_common.pb.go @@ -1,208 +1,450 @@ -// Code generated by protoc-gen-go. +// @file +// @brief Client RPC proto file for common route types. +// This file defines common route features, including the Prefix, +// VRF information, path information, administrative distance, and +// default route status for a route object. +// +// ---------------------------------------------------------------- +// Copyright (c) 2016 by Cisco Systems, Inc. +// All rights reserved. +// ----------------------------------------------------------------- +// +// + +//@defgroup Route +//@brief Route service definitions. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.0 +// protoc v3.5.0 // source: sl_route_common.proto -// DO NOT EDIT! package service_layer -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) // Route Globals Get Message type SLRouteGlobalsGetMsg struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields } -func (m *SLRouteGlobalsGetMsg) Reset() { *m = SLRouteGlobalsGetMsg{} } -func (m *SLRouteGlobalsGetMsg) String() string { return proto.CompactTextString(m) } -func (*SLRouteGlobalsGetMsg) ProtoMessage() {} -func (*SLRouteGlobalsGetMsg) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} } +func (x *SLRouteGlobalsGetMsg) Reset() { + *x = SLRouteGlobalsGetMsg{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_route_common_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SLRouteGlobalsGetMsg) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLRouteGlobalsGetMsg) ProtoMessage() {} + +func (x *SLRouteGlobalsGetMsg) ProtoReflect() protoreflect.Message { + mi := &file_sl_route_common_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLRouteGlobalsGetMsg.ProtoReflect.Descriptor instead. +func (*SLRouteGlobalsGetMsg) Descriptor() ([]byte, []int) { + return file_sl_route_common_proto_rawDescGZIP(), []int{0} +} // Route Globals Get Message Response type SLRouteGlobalsGetMsgRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // Corresponding error code - ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus" json:"ErrStatus,omitempty"` + ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // Max VrfReg objects within a single VrfRegMsg message. - MaxVrfregPerVrfregmsg uint32 `protobuf:"varint,2,opt,name=MaxVrfregPerVrfregmsg" json:"MaxVrfregPerVrfregmsg,omitempty"` + MaxVrfregPerVrfregmsg uint32 `protobuf:"varint,2,opt,name=MaxVrfregPerVrfregmsg,proto3" json:"MaxVrfregPerVrfregmsg,omitempty"` // Max Route objects within a single RouteMsg message. - MaxRoutePerRoutemsg uint32 `protobuf:"varint,3,opt,name=MaxRoutePerRoutemsg" json:"MaxRoutePerRoutemsg,omitempty"` + MaxRoutePerRoutemsg uint32 `protobuf:"varint,3,opt,name=MaxRoutePerRoutemsg,proto3" json:"MaxRoutePerRoutemsg,omitempty"` +} + +func (x *SLRouteGlobalsGetMsgRsp) Reset() { + *x = SLRouteGlobalsGetMsgRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_route_common_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SLRouteGlobalsGetMsgRsp) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *SLRouteGlobalsGetMsgRsp) Reset() { *m = SLRouteGlobalsGetMsgRsp{} } -func (m *SLRouteGlobalsGetMsgRsp) String() string { return proto.CompactTextString(m) } -func (*SLRouteGlobalsGetMsgRsp) ProtoMessage() {} -func (*SLRouteGlobalsGetMsgRsp) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} } +func (*SLRouteGlobalsGetMsgRsp) ProtoMessage() {} -func (m *SLRouteGlobalsGetMsgRsp) GetErrStatus() *SLErrorStatus { - if m != nil { - return m.ErrStatus +func (x *SLRouteGlobalsGetMsgRsp) ProtoReflect() protoreflect.Message { + mi := &file_sl_route_common_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLRouteGlobalsGetMsgRsp.ProtoReflect.Descriptor instead. +func (*SLRouteGlobalsGetMsgRsp) Descriptor() ([]byte, []int) { + return file_sl_route_common_proto_rawDescGZIP(), []int{1} +} + +func (x *SLRouteGlobalsGetMsgRsp) GetErrStatus() *SLErrorStatus { + if x != nil { + return x.ErrStatus } return nil } -func (m *SLRouteGlobalsGetMsgRsp) GetMaxVrfregPerVrfregmsg() uint32 { - if m != nil { - return m.MaxVrfregPerVrfregmsg +func (x *SLRouteGlobalsGetMsgRsp) GetMaxVrfregPerVrfregmsg() uint32 { + if x != nil { + return x.MaxVrfregPerVrfregmsg } return 0 } -func (m *SLRouteGlobalsGetMsgRsp) GetMaxRoutePerRoutemsg() uint32 { - if m != nil { - return m.MaxRoutePerRoutemsg +func (x *SLRouteGlobalsGetMsgRsp) GetMaxRoutePerRoutemsg() uint32 { + if x != nil { + return x.MaxRoutePerRoutemsg } return 0 } // Route Global Stats Get Message type SLRouteGlobalStatsGetMsg struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields } -func (m *SLRouteGlobalStatsGetMsg) Reset() { *m = SLRouteGlobalStatsGetMsg{} } -func (m *SLRouteGlobalStatsGetMsg) String() string { return proto.CompactTextString(m) } -func (*SLRouteGlobalStatsGetMsg) ProtoMessage() {} -func (*SLRouteGlobalStatsGetMsg) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{2} } +func (x *SLRouteGlobalStatsGetMsg) Reset() { + *x = SLRouteGlobalStatsGetMsg{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_route_common_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SLRouteGlobalStatsGetMsg) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLRouteGlobalStatsGetMsg) ProtoMessage() {} + +func (x *SLRouteGlobalStatsGetMsg) ProtoReflect() protoreflect.Message { + mi := &file_sl_route_common_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLRouteGlobalStatsGetMsg.ProtoReflect.Descriptor instead. +func (*SLRouteGlobalStatsGetMsg) Descriptor() ([]byte, []int) { + return file_sl_route_common_proto_rawDescGZIP(), []int{2} +} // Route Global Stats Get Message Response type SLRouteGlobalStatsGetMsgRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // Corresponding error code - ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus" json:"ErrStatus,omitempty"` + ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // Num VRFs registered through the service layer. - VrfCount uint32 `protobuf:"varint,2,opt,name=VrfCount" json:"VrfCount,omitempty"` + VrfCount uint32 `protobuf:"varint,2,opt,name=VrfCount,proto3" json:"VrfCount,omitempty"` // Num Routes added through the service layer. - RouteCount uint32 `protobuf:"varint,3,opt,name=RouteCount" json:"RouteCount,omitempty"` + RouteCount uint32 `protobuf:"varint,3,opt,name=RouteCount,proto3" json:"RouteCount,omitempty"` +} + +func (x *SLRouteGlobalStatsGetMsgRsp) Reset() { + *x = SLRouteGlobalStatsGetMsgRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_route_common_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SLRouteGlobalStatsGetMsgRsp) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *SLRouteGlobalStatsGetMsgRsp) Reset() { *m = SLRouteGlobalStatsGetMsgRsp{} } -func (m *SLRouteGlobalStatsGetMsgRsp) String() string { return proto.CompactTextString(m) } -func (*SLRouteGlobalStatsGetMsgRsp) ProtoMessage() {} -func (*SLRouteGlobalStatsGetMsgRsp) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{3} } +func (*SLRouteGlobalStatsGetMsgRsp) ProtoMessage() {} -func (m *SLRouteGlobalStatsGetMsgRsp) GetErrStatus() *SLErrorStatus { - if m != nil { - return m.ErrStatus +func (x *SLRouteGlobalStatsGetMsgRsp) ProtoReflect() protoreflect.Message { + mi := &file_sl_route_common_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLRouteGlobalStatsGetMsgRsp.ProtoReflect.Descriptor instead. +func (*SLRouteGlobalStatsGetMsgRsp) Descriptor() ([]byte, []int) { + return file_sl_route_common_proto_rawDescGZIP(), []int{3} +} + +func (x *SLRouteGlobalStatsGetMsgRsp) GetErrStatus() *SLErrorStatus { + if x != nil { + return x.ErrStatus } return nil } -func (m *SLRouteGlobalStatsGetMsgRsp) GetVrfCount() uint32 { - if m != nil { - return m.VrfCount +func (x *SLRouteGlobalStatsGetMsgRsp) GetVrfCount() uint32 { + if x != nil { + return x.VrfCount } return 0 } -func (m *SLRouteGlobalStatsGetMsgRsp) GetRouteCount() uint32 { - if m != nil { - return m.RouteCount +func (x *SLRouteGlobalStatsGetMsgRsp) GetRouteCount() uint32 { + if x != nil { + return x.RouteCount } return 0 } // VRF Registration message type SLVrfReg struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // VRF Name. - VrfName string `protobuf:"bytes,1,opt,name=VrfName" json:"VrfName,omitempty"` + VrfName string `protobuf:"bytes,1,opt,name=VrfName,proto3" json:"VrfName,omitempty"` // Default Admin distance for routes programmed by this application // Range [0-255] // This default value is used if route objects' AdminDistance is 0. // Refer to SLRouteCommon - AdminDistance uint32 `protobuf:"varint,2,opt,name=AdminDistance" json:"AdminDistance,omitempty"` + AdminDistance uint32 `protobuf:"varint,2,opt,name=AdminDistance,proto3" json:"AdminDistance,omitempty"` // In case the Service Layer -> RIB connection is lost, this specifies the // timeout period after which RIB will automatically purge the installed // routes, unless the service layer: // 1. Re-registers (VRF) // 2. Replay all routes // 3. And send EOF, before the purge timeout - VrfPurgeIntervalSeconds uint32 `protobuf:"varint,3,opt,name=VrfPurgeIntervalSeconds" json:"VrfPurgeIntervalSeconds,omitempty"` + VrfPurgeIntervalSeconds uint32 `protobuf:"varint,3,opt,name=VrfPurgeIntervalSeconds,proto3" json:"VrfPurgeIntervalSeconds,omitempty"` +} + +func (x *SLVrfReg) Reset() { + *x = SLVrfReg{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_route_common_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SLVrfReg) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *SLVrfReg) Reset() { *m = SLVrfReg{} } -func (m *SLVrfReg) String() string { return proto.CompactTextString(m) } -func (*SLVrfReg) ProtoMessage() {} -func (*SLVrfReg) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{4} } +func (*SLVrfReg) ProtoMessage() {} -func (m *SLVrfReg) GetVrfName() string { - if m != nil { - return m.VrfName +func (x *SLVrfReg) ProtoReflect() protoreflect.Message { + mi := &file_sl_route_common_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLVrfReg.ProtoReflect.Descriptor instead. +func (*SLVrfReg) Descriptor() ([]byte, []int) { + return file_sl_route_common_proto_rawDescGZIP(), []int{4} +} + +func (x *SLVrfReg) GetVrfName() string { + if x != nil { + return x.VrfName } return "" } -func (m *SLVrfReg) GetAdminDistance() uint32 { - if m != nil { - return m.AdminDistance +func (x *SLVrfReg) GetAdminDistance() uint32 { + if x != nil { + return x.AdminDistance } return 0 } -func (m *SLVrfReg) GetVrfPurgeIntervalSeconds() uint32 { - if m != nil { - return m.VrfPurgeIntervalSeconds +func (x *SLVrfReg) GetVrfPurgeIntervalSeconds() uint32 { + if x != nil { + return x.VrfPurgeIntervalSeconds } return 0 } // VRF Registration messages. type SLVrfRegMsg struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // Registration Operation - Oper SLRegOp `protobuf:"varint,1,opt,name=Oper,enum=service_layer.SLRegOp" json:"Oper,omitempty"` + Oper SLRegOp `protobuf:"varint,1,opt,name=Oper,proto3,enum=SLRegOp" json:"Oper,omitempty"` // List of VRF registrations - VrfRegMsgs []*SLVrfReg `protobuf:"bytes,2,rep,name=VrfRegMsgs" json:"VrfRegMsgs,omitempty"` + VrfRegMsgs []*SLVrfReg `protobuf:"bytes,2,rep,name=VrfRegMsgs,proto3" json:"VrfRegMsgs,omitempty"` +} + +func (x *SLVrfRegMsg) Reset() { + *x = SLVrfRegMsg{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_route_common_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SLVrfRegMsg) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLVrfRegMsg) ProtoMessage() {} + +func (x *SLVrfRegMsg) ProtoReflect() protoreflect.Message { + mi := &file_sl_route_common_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -func (m *SLVrfRegMsg) Reset() { *m = SLVrfRegMsg{} } -func (m *SLVrfRegMsg) String() string { return proto.CompactTextString(m) } -func (*SLVrfRegMsg) ProtoMessage() {} -func (*SLVrfRegMsg) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{5} } +// Deprecated: Use SLVrfRegMsg.ProtoReflect.Descriptor instead. +func (*SLVrfRegMsg) Descriptor() ([]byte, []int) { + return file_sl_route_common_proto_rawDescGZIP(), []int{5} +} -func (m *SLVrfRegMsg) GetOper() SLRegOp { - if m != nil { - return m.Oper +func (x *SLVrfRegMsg) GetOper() SLRegOp { + if x != nil { + return x.Oper } return SLRegOp_SL_REGOP_RESERVED } -func (m *SLVrfRegMsg) GetVrfRegMsgs() []*SLVrfReg { - if m != nil { - return m.VrfRegMsgs +func (x *SLVrfRegMsg) GetVrfRegMsgs() []*SLVrfReg { + if x != nil { + return x.VrfRegMsgs } return nil } // VRF Registration message Result type SLVrfRegMsgRes struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // Corresponding error code - ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus" json:"ErrStatus,omitempty"` + ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // VRF Name - VrfName string `protobuf:"bytes,2,opt,name=VrfName" json:"VrfName,omitempty"` + VrfName string `protobuf:"bytes,2,opt,name=VrfName,proto3" json:"VrfName,omitempty"` } -func (m *SLVrfRegMsgRes) Reset() { *m = SLVrfRegMsgRes{} } -func (m *SLVrfRegMsgRes) String() string { return proto.CompactTextString(m) } -func (*SLVrfRegMsgRes) ProtoMessage() {} -func (*SLVrfRegMsgRes) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{6} } +func (x *SLVrfRegMsgRes) Reset() { + *x = SLVrfRegMsgRes{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_route_common_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SLVrfRegMsgRes) String() string { + return protoimpl.X.MessageStringOf(x) +} -func (m *SLVrfRegMsgRes) GetErrStatus() *SLErrorStatus { - if m != nil { - return m.ErrStatus +func (*SLVrfRegMsgRes) ProtoMessage() {} + +func (x *SLVrfRegMsgRes) ProtoReflect() protoreflect.Message { + mi := &file_sl_route_common_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLVrfRegMsgRes.ProtoReflect.Descriptor instead. +func (*SLVrfRegMsgRes) Descriptor() ([]byte, []int) { + return file_sl_route_common_proto_rawDescGZIP(), []int{6} +} + +func (x *SLVrfRegMsgRes) GetErrStatus() *SLErrorStatus { + if x != nil { + return x.ErrStatus } return nil } -func (m *SLVrfRegMsgRes) GetVrfName() string { - if m != nil { - return m.VrfName +func (x *SLVrfRegMsgRes) GetVrfName() string { + if x != nil { + return x.VrfName } return "" } // VRF Registration message Response. type SLVrfRegMsgRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // Summary result of the bulk operation (refer to enum SLErrorStatus) // In general, the StatusSummary implies one of 3 things: // 1. SL_SUCCESS: signifies that the entire bulk operation was successful. @@ -212,186 +454,341 @@ type SLVrfRegMsgRsp struct { // each individual entry in the bulk. // 3. SL_RPC_XXX: signifies that the entire bulk operation failed. // In this case, the Results list is empty. - StatusSummary *SLErrorStatus `protobuf:"bytes,1,opt,name=StatusSummary" json:"StatusSummary,omitempty"` + StatusSummary *SLErrorStatus `protobuf:"bytes,1,opt,name=StatusSummary,proto3" json:"StatusSummary,omitempty"` // In case of errors, this field indicates which entry in the bulk was // erroneous. - Results []*SLVrfRegMsgRes `protobuf:"bytes,2,rep,name=Results" json:"Results,omitempty"` + Results []*SLVrfRegMsgRes `protobuf:"bytes,2,rep,name=Results,proto3" json:"Results,omitempty"` } -func (m *SLVrfRegMsgRsp) Reset() { *m = SLVrfRegMsgRsp{} } -func (m *SLVrfRegMsgRsp) String() string { return proto.CompactTextString(m) } -func (*SLVrfRegMsgRsp) ProtoMessage() {} -func (*SLVrfRegMsgRsp) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{7} } +func (x *SLVrfRegMsgRsp) Reset() { + *x = SLVrfRegMsgRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_route_common_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} -func (m *SLVrfRegMsgRsp) GetStatusSummary() *SLErrorStatus { - if m != nil { - return m.StatusSummary +func (x *SLVrfRegMsgRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLVrfRegMsgRsp) ProtoMessage() {} + +func (x *SLVrfRegMsgRsp) ProtoReflect() protoreflect.Message { + mi := &file_sl_route_common_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLVrfRegMsgRsp.ProtoReflect.Descriptor instead. +func (*SLVrfRegMsgRsp) Descriptor() ([]byte, []int) { + return file_sl_route_common_proto_rawDescGZIP(), []int{7} +} + +func (x *SLVrfRegMsgRsp) GetStatusSummary() *SLErrorStatus { + if x != nil { + return x.StatusSummary } return nil } -func (m *SLVrfRegMsgRsp) GetResults() []*SLVrfRegMsgRes { - if m != nil { - return m.Results +func (x *SLVrfRegMsgRsp) GetResults() []*SLVrfRegMsgRes { + if x != nil { + return x.Results } return nil } // VRF Get Message type SLVrfRegGetMsg struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // VRF name (key). // If the Key is not specified, then request up to the first // 'EntriesCount' entries. - VrfName string `protobuf:"bytes,1,opt,name=VrfName" json:"VrfName,omitempty"` + VrfName string `protobuf:"bytes,1,opt,name=VrfName,proto3" json:"VrfName,omitempty"` // Number of entries requested - EntriesCount uint32 `protobuf:"varint,2,opt,name=EntriesCount" json:"EntriesCount,omitempty"` + EntriesCount uint32 `protobuf:"varint,2,opt,name=EntriesCount,proto3" json:"EntriesCount,omitempty"` // if GetNext is FALSE: // request up to 'EntriesCount' entries starting from the key // If GetNext is TRUE, or if the key exact match is not found: // request up to 'EntriesCount' entries starting from the key's next - GetNext bool `protobuf:"varint,3,opt,name=GetNext" json:"GetNext,omitempty"` + GetNext bool `protobuf:"varint,3,opt,name=GetNext,proto3" json:"GetNext,omitempty"` } -func (m *SLVrfRegGetMsg) Reset() { *m = SLVrfRegGetMsg{} } -func (m *SLVrfRegGetMsg) String() string { return proto.CompactTextString(m) } -func (*SLVrfRegGetMsg) ProtoMessage() {} -func (*SLVrfRegGetMsg) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{8} } +func (x *SLVrfRegGetMsg) Reset() { + *x = SLVrfRegGetMsg{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_route_common_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} -func (m *SLVrfRegGetMsg) GetVrfName() string { - if m != nil { - return m.VrfName +func (x *SLVrfRegGetMsg) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLVrfRegGetMsg) ProtoMessage() {} + +func (x *SLVrfRegGetMsg) ProtoReflect() protoreflect.Message { + mi := &file_sl_route_common_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLVrfRegGetMsg.ProtoReflect.Descriptor instead. +func (*SLVrfRegGetMsg) Descriptor() ([]byte, []int) { + return file_sl_route_common_proto_rawDescGZIP(), []int{8} +} + +func (x *SLVrfRegGetMsg) GetVrfName() string { + if x != nil { + return x.VrfName } return "" } -func (m *SLVrfRegGetMsg) GetEntriesCount() uint32 { - if m != nil { - return m.EntriesCount +func (x *SLVrfRegGetMsg) GetEntriesCount() uint32 { + if x != nil { + return x.EntriesCount } return 0 } -func (m *SLVrfRegGetMsg) GetGetNext() bool { - if m != nil { - return m.GetNext +func (x *SLVrfRegGetMsg) GetGetNext() bool { + if x != nil { + return x.GetNext } return false } // VRF Get Message Response type SLVrfRegGetMsgRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // End Of File. // When set to True, it indicates that the server has returned M, where // M < N, of the original N requested Entries. - Eof bool `protobuf:"varint,1,opt,name=Eof" json:"Eof,omitempty"` + Eof bool `protobuf:"varint,1,opt,name=Eof,proto3" json:"Eof,omitempty"` // Status of the Get operation - ErrStatus *SLErrorStatus `protobuf:"bytes,2,opt,name=ErrStatus" json:"ErrStatus,omitempty"` + ErrStatus *SLErrorStatus `protobuf:"bytes,2,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // Returned entries as requested in the Get operation. // if ErrStatus is SL_SUCCESS, Entries contains the info requested - Entries []*SLVrfReg `protobuf:"bytes,3,rep,name=Entries" json:"Entries,omitempty"` + Entries []*SLVrfReg `protobuf:"bytes,3,rep,name=Entries,proto3" json:"Entries,omitempty"` +} + +func (x *SLVrfRegGetMsgRsp) Reset() { + *x = SLVrfRegGetMsgRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_route_common_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SLVrfRegGetMsgRsp) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *SLVrfRegGetMsgRsp) Reset() { *m = SLVrfRegGetMsgRsp{} } -func (m *SLVrfRegGetMsgRsp) String() string { return proto.CompactTextString(m) } -func (*SLVrfRegGetMsgRsp) ProtoMessage() {} -func (*SLVrfRegGetMsgRsp) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{9} } +func (*SLVrfRegGetMsgRsp) ProtoMessage() {} -func (m *SLVrfRegGetMsgRsp) GetEof() bool { - if m != nil { - return m.Eof +func (x *SLVrfRegGetMsgRsp) ProtoReflect() protoreflect.Message { + mi := &file_sl_route_common_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLVrfRegGetMsgRsp.ProtoReflect.Descriptor instead. +func (*SLVrfRegGetMsgRsp) Descriptor() ([]byte, []int) { + return file_sl_route_common_proto_rawDescGZIP(), []int{9} +} + +func (x *SLVrfRegGetMsgRsp) GetEof() bool { + if x != nil { + return x.Eof } return false } -func (m *SLVrfRegGetMsgRsp) GetErrStatus() *SLErrorStatus { - if m != nil { - return m.ErrStatus +func (x *SLVrfRegGetMsgRsp) GetErrStatus() *SLErrorStatus { + if x != nil { + return x.ErrStatus } return nil } -func (m *SLVrfRegGetMsgRsp) GetEntries() []*SLVrfReg { - if m != nil { - return m.Entries +func (x *SLVrfRegGetMsgRsp) GetEntries() []*SLVrfReg { + if x != nil { + return x.Entries } return nil } // VRF Get Stats Message Response type SLVRFGetStatsMsgRes struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // VRF name as key - VrfName string `protobuf:"bytes,1,opt,name=VrfName" json:"VrfName,omitempty"` + VrfName string `protobuf:"bytes,1,opt,name=VrfName,proto3" json:"VrfName,omitempty"` // Num VRF Routes added through the service layer. - RouteCount uint32 `protobuf:"varint,2,opt,name=RouteCount" json:"RouteCount,omitempty"` + RouteCount uint32 `protobuf:"varint,2,opt,name=RouteCount,proto3" json:"RouteCount,omitempty"` } -func (m *SLVRFGetStatsMsgRes) Reset() { *m = SLVRFGetStatsMsgRes{} } -func (m *SLVRFGetStatsMsgRes) String() string { return proto.CompactTextString(m) } -func (*SLVRFGetStatsMsgRes) ProtoMessage() {} -func (*SLVRFGetStatsMsgRes) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{10} } +func (x *SLVRFGetStatsMsgRes) Reset() { + *x = SLVRFGetStatsMsgRes{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_route_common_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} -func (m *SLVRFGetStatsMsgRes) GetVrfName() string { - if m != nil { - return m.VrfName +func (x *SLVRFGetStatsMsgRes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLVRFGetStatsMsgRes) ProtoMessage() {} + +func (x *SLVRFGetStatsMsgRes) ProtoReflect() protoreflect.Message { + mi := &file_sl_route_common_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLVRFGetStatsMsgRes.ProtoReflect.Descriptor instead. +func (*SLVRFGetStatsMsgRes) Descriptor() ([]byte, []int) { + return file_sl_route_common_proto_rawDescGZIP(), []int{10} +} + +func (x *SLVRFGetStatsMsgRes) GetVrfName() string { + if x != nil { + return x.VrfName } return "" } -func (m *SLVRFGetStatsMsgRes) GetRouteCount() uint32 { - if m != nil { - return m.RouteCount +func (x *SLVRFGetStatsMsgRes) GetRouteCount() uint32 { + if x != nil { + return x.RouteCount } return 0 } // VRF Get Stats Message Response type SLVRFGetStatsMsgRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // End Of File. // When set to True, it indicates that the server has returned M, where // M < N, of the original N requested Entries. - Eof bool `protobuf:"varint,1,opt,name=Eof" json:"Eof,omitempty"` + Eof bool `protobuf:"varint,1,opt,name=Eof,proto3" json:"Eof,omitempty"` // Status of the Get Stats operation - ErrStatus *SLErrorStatus `protobuf:"bytes,2,opt,name=ErrStatus" json:"ErrStatus,omitempty"` + ErrStatus *SLErrorStatus `protobuf:"bytes,2,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // Returned entries as requested in the Get Stats operation. // if ErrStatus is SL_SUCCESS, Entries contains the info requested - Entries []*SLVRFGetStatsMsgRes `protobuf:"bytes,3,rep,name=Entries" json:"Entries,omitempty"` + Entries []*SLVRFGetStatsMsgRes `protobuf:"bytes,3,rep,name=Entries,proto3" json:"Entries,omitempty"` } -func (m *SLVRFGetStatsMsgRsp) Reset() { *m = SLVRFGetStatsMsgRsp{} } -func (m *SLVRFGetStatsMsgRsp) String() string { return proto.CompactTextString(m) } -func (*SLVRFGetStatsMsgRsp) ProtoMessage() {} -func (*SLVRFGetStatsMsgRsp) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{11} } +func (x *SLVRFGetStatsMsgRsp) Reset() { + *x = SLVRFGetStatsMsgRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_route_common_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SLVRFGetStatsMsgRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} -func (m *SLVRFGetStatsMsgRsp) GetEof() bool { - if m != nil { - return m.Eof +func (*SLVRFGetStatsMsgRsp) ProtoMessage() {} + +func (x *SLVRFGetStatsMsgRsp) ProtoReflect() protoreflect.Message { + mi := &file_sl_route_common_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLVRFGetStatsMsgRsp.ProtoReflect.Descriptor instead. +func (*SLVRFGetStatsMsgRsp) Descriptor() ([]byte, []int) { + return file_sl_route_common_proto_rawDescGZIP(), []int{11} +} + +func (x *SLVRFGetStatsMsgRsp) GetEof() bool { + if x != nil { + return x.Eof } return false } -func (m *SLVRFGetStatsMsgRsp) GetErrStatus() *SLErrorStatus { - if m != nil { - return m.ErrStatus +func (x *SLVRFGetStatsMsgRsp) GetErrStatus() *SLErrorStatus { + if x != nil { + return x.ErrStatus } return nil } -func (m *SLVRFGetStatsMsgRsp) GetEntries() []*SLVRFGetStatsMsgRes { - if m != nil { - return m.Entries +func (x *SLVRFGetStatsMsgRsp) GetEntries() []*SLVRFGetStatsMsgRes { + if x != nil { + return x.Entries } return nil } // Common IPv4/IPv6 route attributes. type SLRouteCommon struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // Adminstrative distance of the route. [0-255]. // RIB uses this field to break the tie when multiple // sources install the same route. // Lower distance is preferred over higher distance. // The per route object admin distance overrides the default's admin // distance set at VRF registration. see SLVrfReg - AdminDistance uint32 `protobuf:"varint,1,opt,name=AdminDistance" json:"AdminDistance,omitempty"` + AdminDistance uint32 `protobuf:"varint,1,opt,name=AdminDistance,proto3" json:"AdminDistance,omitempty"` // Local label associated with this route. // This is an optional field that can be used to simulatenously setup an // ILM entry (e.g. head end of an MPLS LSP) for the same route. @@ -401,35 +798,62 @@ type SLRouteCommon struct { // // Note: MPLS VPN labeled routes can resolve only on: // - /32-routes with valid LocalLabel and a valid egress MPLS path label - LocalLabel uint32 `protobuf:"varint,2,opt,name=LocalLabel" json:"LocalLabel,omitempty"` + LocalLabel uint32 `protobuf:"varint,2,opt,name=LocalLabel,proto3" json:"LocalLabel,omitempty"` // Route Tag. // Routes are usually tagged to prevent loops during redistribution between // protocols. - Tag uint32 `protobuf:"varint,3,opt,name=Tag" json:"Tag,omitempty"` + Tag uint32 `protobuf:"varint,3,opt,name=Tag,proto3" json:"Tag,omitempty"` } -func (m *SLRouteCommon) Reset() { *m = SLRouteCommon{} } -func (m *SLRouteCommon) String() string { return proto.CompactTextString(m) } -func (*SLRouteCommon) ProtoMessage() {} -func (*SLRouteCommon) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{12} } +func (x *SLRouteCommon) Reset() { + *x = SLRouteCommon{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_route_common_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SLRouteCommon) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLRouteCommon) ProtoMessage() {} + +func (x *SLRouteCommon) ProtoReflect() protoreflect.Message { + mi := &file_sl_route_common_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} -func (m *SLRouteCommon) GetAdminDistance() uint32 { - if m != nil { - return m.AdminDistance +// Deprecated: Use SLRouteCommon.ProtoReflect.Descriptor instead. +func (*SLRouteCommon) Descriptor() ([]byte, []int) { + return file_sl_route_common_proto_rawDescGZIP(), []int{12} +} + +func (x *SLRouteCommon) GetAdminDistance() uint32 { + if x != nil { + return x.AdminDistance } return 0 } -func (m *SLRouteCommon) GetLocalLabel() uint32 { - if m != nil { - return m.LocalLabel +func (x *SLRouteCommon) GetLocalLabel() uint32 { + if x != nil { + return x.LocalLabel } return 0 } -func (m *SLRouteCommon) GetTag() uint32 { - if m != nil { - return m.Tag +func (x *SLRouteCommon) GetTag() uint32 { + if x != nil { + return x.Tag } return 0 } @@ -441,20 +865,24 @@ func (m *SLRouteCommon) GetTag() uint32 { // link down, BFD, etc.). Revertion is mainly timeout based. The timeout // value is platform specific and is not configurable. type SLRoutePath struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // One of IPv4 or IPv6 address - NexthopAddress *SLIpAddress `protobuf:"bytes,1,opt,name=NexthopAddress" json:"NexthopAddress,omitempty"` + NexthopAddress *SLIpAddress `protobuf:"bytes,1,opt,name=NexthopAddress,proto3" json:"NexthopAddress,omitempty"` // Outgoing interface name for the path. - NexthopInterface *SLInterface `protobuf:"bytes,2,opt,name=NexthopInterface" json:"NexthopInterface,omitempty"` + NexthopInterface *SLInterface `protobuf:"bytes,2,opt,name=NexthopInterface,proto3" json:"NexthopInterface,omitempty"` // Load metric for this path. // Used for equal/unequal cost load balancing of traffic distribution. - LoadMetric uint32 `protobuf:"varint,3,opt,name=LoadMetric" json:"LoadMetric,omitempty"` + LoadMetric uint32 `protobuf:"varint,3,opt,name=LoadMetric,proto3" json:"LoadMetric,omitempty"` // Path VRF name. This field is used ONLY if the path is in a different // VRF than the route (e.g. VPN cases) - VrfName string `protobuf:"bytes,4,opt,name=VrfName" json:"VrfName,omitempty"` + VrfName string `protobuf:"bytes,4,opt,name=VrfName,proto3" json:"VrfName,omitempty"` // Route Metric. // The metric is typically based on information like load, hop count, // MTU, reliability of the path, etc. - Metric uint32 `protobuf:"varint,5,opt,name=Metric" json:"Metric,omitempty"` + Metric uint32 `protobuf:"varint,5,opt,name=Metric,proto3" json:"Metric,omitempty"` // Path identifier. // Path-id is used to uniquely identify a path when it comes to // protection (Fast Re-Route - FRR). It is not used otherwise. @@ -484,7 +912,7 @@ type SLRoutePath struct { // NOTE2: Pure backup path-id uses a different range than primary path-ids. // The valid range of primary path IDs, and pure backup path IDS are // platform dependent and can be retrieved through the client init message. - PathId uint32 `protobuf:"varint,6,opt,name=PathId" json:"PathId,omitempty"` + PathId uint32 `protobuf:"varint,6,opt,name=PathId,proto3" json:"PathId,omitempty"` // Path protection bitmap. // The bitmap of paths this Backup path is protecting. // Example: If this path is protecting paths with IDs 4, 5 and 6, then @@ -494,7 +922,7 @@ type SLRoutePath struct { // ||-- path 5 // |-- path 6 // (1 << (pathId_1 - 1)) | (1 << (pathId_2 - 1)) | (1 << (pathId_3 - 1)) - ProtectedPathBitmap []uint64 `protobuf:"varint,7,rep,packed,name=ProtectedPathBitmap" json:"ProtectedPathBitmap,omitempty"` + ProtectedPathBitmap []uint64 `protobuf:"varint,7,rep,packed,name=ProtectedPathBitmap,proto3" json:"ProtectedPathBitmap,omitempty"` // MPLS label stack. // Stack of labels that is pushed when the packet is switched out. // Label size is LSB 20 bits. Forwarding will set EXP, TTL and BOS. @@ -503,145 +931,472 @@ type SLRoutePath struct { // is used, remote backup addresses must be specified. // The maximum number of labels pushed for primary and backup are // platform dependent. - LabelStack []uint32 `protobuf:"varint,8,rep,packed,name=LabelStack" json:"LabelStack,omitempty"` + LabelStack []uint32 `protobuf:"varint,8,rep,packed,name=LabelStack,proto3" json:"LabelStack,omitempty"` // MPLS Remote router backup address. // This field is used only for backup MPLS path with more than one label // For N+1 backup labels, N remote backup addresses must be specified. - RemoteAddress []*SLIpAddress `protobuf:"bytes,9,rep,name=RemoteAddress" json:"RemoteAddress,omitempty"` + RemoteAddress []*SLIpAddress `protobuf:"bytes,9,rep,name=RemoteAddress,proto3" json:"RemoteAddress,omitempty"` } -func (m *SLRoutePath) Reset() { *m = SLRoutePath{} } -func (m *SLRoutePath) String() string { return proto.CompactTextString(m) } -func (*SLRoutePath) ProtoMessage() {} -func (*SLRoutePath) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{13} } +func (x *SLRoutePath) Reset() { + *x = SLRoutePath{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_route_common_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SLRoutePath) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLRoutePath) ProtoMessage() {} + +func (x *SLRoutePath) ProtoReflect() protoreflect.Message { + mi := &file_sl_route_common_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLRoutePath.ProtoReflect.Descriptor instead. +func (*SLRoutePath) Descriptor() ([]byte, []int) { + return file_sl_route_common_proto_rawDescGZIP(), []int{13} +} -func (m *SLRoutePath) GetNexthopAddress() *SLIpAddress { - if m != nil { - return m.NexthopAddress +func (x *SLRoutePath) GetNexthopAddress() *SLIpAddress { + if x != nil { + return x.NexthopAddress } return nil } -func (m *SLRoutePath) GetNexthopInterface() *SLInterface { - if m != nil { - return m.NexthopInterface +func (x *SLRoutePath) GetNexthopInterface() *SLInterface { + if x != nil { + return x.NexthopInterface } return nil } -func (m *SLRoutePath) GetLoadMetric() uint32 { - if m != nil { - return m.LoadMetric +func (x *SLRoutePath) GetLoadMetric() uint32 { + if x != nil { + return x.LoadMetric } return 0 } -func (m *SLRoutePath) GetVrfName() string { - if m != nil { - return m.VrfName +func (x *SLRoutePath) GetVrfName() string { + if x != nil { + return x.VrfName } return "" } -func (m *SLRoutePath) GetMetric() uint32 { - if m != nil { - return m.Metric +func (x *SLRoutePath) GetMetric() uint32 { + if x != nil { + return x.Metric } return 0 } -func (m *SLRoutePath) GetPathId() uint32 { - if m != nil { - return m.PathId +func (x *SLRoutePath) GetPathId() uint32 { + if x != nil { + return x.PathId } return 0 } -func (m *SLRoutePath) GetProtectedPathBitmap() []uint64 { - if m != nil { - return m.ProtectedPathBitmap +func (x *SLRoutePath) GetProtectedPathBitmap() []uint64 { + if x != nil { + return x.ProtectedPathBitmap } return nil } -func (m *SLRoutePath) GetLabelStack() []uint32 { - if m != nil { - return m.LabelStack +func (x *SLRoutePath) GetLabelStack() []uint32 { + if x != nil { + return x.LabelStack } return nil } -func (m *SLRoutePath) GetRemoteAddress() []*SLIpAddress { - if m != nil { - return m.RemoteAddress +func (x *SLRoutePath) GetRemoteAddress() []*SLIpAddress { + if x != nil { + return x.RemoteAddress } return nil } -func init() { - proto.RegisterType((*SLRouteGlobalsGetMsg)(nil), "service_layer.SLRouteGlobalsGetMsg") - proto.RegisterType((*SLRouteGlobalsGetMsgRsp)(nil), "service_layer.SLRouteGlobalsGetMsgRsp") - proto.RegisterType((*SLRouteGlobalStatsGetMsg)(nil), "service_layer.SLRouteGlobalStatsGetMsg") - proto.RegisterType((*SLRouteGlobalStatsGetMsgRsp)(nil), "service_layer.SLRouteGlobalStatsGetMsgRsp") - proto.RegisterType((*SLVrfReg)(nil), "service_layer.SLVrfReg") - proto.RegisterType((*SLVrfRegMsg)(nil), "service_layer.SLVrfRegMsg") - proto.RegisterType((*SLVrfRegMsgRes)(nil), "service_layer.SLVrfRegMsgRes") - proto.RegisterType((*SLVrfRegMsgRsp)(nil), "service_layer.SLVrfRegMsgRsp") - proto.RegisterType((*SLVrfRegGetMsg)(nil), "service_layer.SLVrfRegGetMsg") - proto.RegisterType((*SLVrfRegGetMsgRsp)(nil), "service_layer.SLVrfRegGetMsgRsp") - proto.RegisterType((*SLVRFGetStatsMsgRes)(nil), "service_layer.SLVRFGetStatsMsgRes") - proto.RegisterType((*SLVRFGetStatsMsgRsp)(nil), "service_layer.SLVRFGetStatsMsgRsp") - proto.RegisterType((*SLRouteCommon)(nil), "service_layer.SLRouteCommon") - proto.RegisterType((*SLRoutePath)(nil), "service_layer.SLRoutePath") -} - -func init() { proto.RegisterFile("sl_route_common.proto", fileDescriptor2) } - -var fileDescriptor2 = []byte{ - // 716 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x55, 0x41, 0x4f, 0xdb, 0x4a, - 0x10, 0x96, 0x13, 0x1e, 0x09, 0xc3, 0x0b, 0xe2, 0x2d, 0x0f, 0xb0, 0xf2, 0x5e, 0x51, 0x64, 0xf5, - 0x10, 0xf5, 0x80, 0x5a, 0x5a, 0x89, 0xaa, 0xea, 0xa1, 0x40, 0x43, 0x84, 0x94, 0x40, 0xb4, 0xae, - 0x72, 0x8d, 0x16, 0x67, 0x6c, 0xa2, 0xda, 0xb1, 0xb5, 0xbb, 0x41, 0x70, 0xef, 0xb5, 0xb7, 0x56, - 0x3d, 0xf7, 0x87, 0xf4, 0xbf, 0x55, 0xbb, 0xeb, 0x25, 0x31, 0x49, 0x50, 0x2b, 0x7a, 0xca, 0xee, - 0xcc, 0x7c, 0x99, 0xef, 0x9b, 0x9d, 0x19, 0xc3, 0xb6, 0x88, 0x07, 0x3c, 0x9d, 0x48, 0x1c, 0x04, - 0x69, 0x92, 0xa4, 0xe3, 0xfd, 0x8c, 0xa7, 0x32, 0x25, 0x35, 0x81, 0xfc, 0x7a, 0x14, 0xe0, 0x20, - 0x66, 0xb7, 0xc8, 0xeb, 0x2a, 0xca, 0xf8, 0x07, 0xf2, 0x36, 0x43, 0x61, 0xa2, 0xbc, 0x1d, 0xf8, - 0xd7, 0xef, 0x50, 0x85, 0x6e, 0xc7, 0xe9, 0x25, 0x8b, 0x45, 0x1b, 0x65, 0x57, 0x44, 0xde, 0x0f, - 0x07, 0x76, 0x17, 0x39, 0xa8, 0xc8, 0xc8, 0x1b, 0x58, 0x6b, 0x71, 0xee, 0x4b, 0x26, 0x27, 0xc2, - 0x75, 0x1a, 0x4e, 0x73, 0xfd, 0xe0, 0xff, 0xfd, 0x42, 0xb6, 0x7d, 0xbf, 0xd3, 0xe2, 0x3c, 0xcd, - 0x63, 0xe8, 0x34, 0x9c, 0xbc, 0x82, 0xed, 0x2e, 0xbb, 0xe9, 0xf3, 0x90, 0x63, 0xd4, 0x43, 0x6e, - 0x0e, 0x89, 0x88, 0xdc, 0x52, 0xc3, 0x69, 0xd6, 0xe8, 0x62, 0x27, 0x79, 0x0e, 0x5b, 0x5d, 0x76, - 0xa3, 0xd9, 0xf4, 0x90, 0xeb, 0x5f, 0x85, 0x29, 0x6b, 0xcc, 0x22, 0x97, 0x57, 0x07, 0xb7, 0x40, - 0x5f, 0xa5, 0xb7, 0xda, 0xbe, 0x3a, 0xf0, 0xdf, 0x32, 0xe7, 0x63, 0xf5, 0xd5, 0xa1, 0xda, 0xe7, - 0xe1, 0x49, 0x3a, 0x19, 0xcb, 0x5c, 0xd2, 0xdd, 0x9d, 0xec, 0x01, 0xe8, 0xa4, 0xc6, 0x6b, 0xc8, - 0xcf, 0x58, 0xbc, 0x4f, 0x0e, 0x54, 0xfd, 0x4e, 0x9f, 0x87, 0x14, 0x23, 0xe2, 0x42, 0xa5, 0xcf, - 0xc3, 0x73, 0x96, 0xa0, 0xa6, 0xb0, 0x46, 0xed, 0x95, 0x3c, 0x85, 0xda, 0xd1, 0x30, 0x19, 0x8d, - 0xdf, 0x8f, 0x84, 0x64, 0xe3, 0x00, 0xf3, 0x3c, 0x45, 0x23, 0x79, 0x0d, 0xbb, 0x7d, 0x1e, 0xf6, - 0x26, 0x3c, 0xc2, 0xb3, 0xb1, 0x44, 0x7e, 0xcd, 0x62, 0x1f, 0x83, 0x74, 0x3c, 0x14, 0x79, 0xe6, - 0x65, 0x6e, 0x8f, 0xc3, 0xba, 0x65, 0xd1, 0x15, 0x11, 0x79, 0x06, 0x2b, 0x17, 0x19, 0x72, 0xcd, - 0x62, 0xe3, 0x60, 0x67, 0xae, 0x10, 0x14, 0xa3, 0x8b, 0x8c, 0xea, 0x18, 0x72, 0x08, 0x70, 0x07, - 0x14, 0x6e, 0xa9, 0x51, 0x6e, 0xae, 0x1f, 0xec, 0xce, 0x21, 0x4c, 0x08, 0x9d, 0x09, 0xf5, 0x42, - 0xd8, 0x98, 0xc9, 0x49, 0x51, 0x3c, 0xea, 0x11, 0x66, 0x6a, 0x57, 0x2a, 0xd4, 0xce, 0xfb, 0xec, - 0x14, 0x13, 0x89, 0x8c, 0x1c, 0x43, 0xcd, 0xc0, 0xfc, 0x49, 0x92, 0x30, 0x7e, 0xfb, 0x4b, 0xc9, - 0x8a, 0x10, 0x72, 0x08, 0x15, 0x8a, 0x62, 0x12, 0x4b, 0x2b, 0xfa, 0xc9, 0x12, 0xd1, 0x46, 0x1c, - 0xb5, 0xd1, 0xde, 0xd5, 0x94, 0x8e, 0xe9, 0xbf, 0x07, 0xde, 0xdd, 0x83, 0xbf, 0x5b, 0x63, 0xc9, - 0x47, 0x28, 0x66, 0xdb, 0xab, 0x60, 0x53, 0xe8, 0x36, 0xca, 0x73, 0xbc, 0x31, 0xfd, 0x55, 0xa5, - 0xf6, 0xea, 0x7d, 0x71, 0xe0, 0x9f, 0x62, 0x2a, 0x25, 0x7e, 0x13, 0xca, 0xad, 0x34, 0xd4, 0x99, - 0xaa, 0x54, 0x1d, 0x8b, 0x75, 0x2f, 0xfd, 0x5e, 0xdd, 0x5f, 0x40, 0x25, 0x67, 0xe3, 0x96, 0x1f, - 0x7e, 0x7b, 0x1b, 0xe7, 0x5d, 0xc0, 0x96, 0xdf, 0xe9, 0xd3, 0xd3, 0x36, 0x4a, 0x3d, 0x85, 0xf9, - 0xeb, 0x2f, 0xaf, 0x42, 0x71, 0x88, 0x4a, 0x73, 0x43, 0xf4, 0xdd, 0x59, 0xf0, 0x8f, 0x7f, 0x5c, - 0xe9, 0xdb, 0xfb, 0x4a, 0xbd, 0x79, 0xa5, 0xf7, 0x45, 0x4d, 0x45, 0x47, 0x50, 0xcb, 0xf7, 0xcf, - 0x89, 0xde, 0xc8, 0xf3, 0x23, 0xed, 0x2c, 0x1a, 0xe9, 0x3d, 0x80, 0x4e, 0x1a, 0xb0, 0xb8, 0xc3, - 0x2e, 0x31, 0xb6, 0xd2, 0xa7, 0x16, 0x25, 0xf1, 0x03, 0xb3, 0x5b, 0x51, 0x1d, 0xbd, 0x6f, 0x65, - 0x35, 0xcb, 0x66, 0x39, 0x32, 0x79, 0x45, 0x8e, 0x61, 0x43, 0x35, 0xc3, 0x55, 0x9a, 0x1d, 0x0d, - 0x87, 0x1c, 0x85, 0x9d, 0xac, 0xfa, 0x1c, 0xfb, 0x33, 0x1b, 0x41, 0xef, 0x21, 0xc8, 0x29, 0x6c, - 0xe6, 0x16, 0xbd, 0x38, 0x42, 0x96, 0x6f, 0xa0, 0x85, 0xff, 0x62, 0x23, 0xe8, 0x1c, 0xc6, 0xa8, - 0x61, 0xc3, 0x2e, 0x4a, 0x3e, 0x0a, 0xec, 0x36, 0x9c, 0x5a, 0x66, 0x5b, 0x60, 0xa5, 0xd8, 0x02, - 0x3b, 0xb0, 0x9a, 0xa3, 0xfe, 0xd2, 0xa8, 0xfc, 0xa6, 0xec, 0x4a, 0xe5, 0xd9, 0xd0, 0x5d, 0x35, - 0x76, 0x73, 0x53, 0x5f, 0x8f, 0x1e, 0x4f, 0x25, 0x06, 0x12, 0x87, 0xca, 0x74, 0x3c, 0x92, 0x09, - 0xcb, 0xdc, 0x4a, 0xa3, 0xdc, 0x5c, 0xa1, 0x8b, 0x5c, 0x9a, 0x9b, 0x2a, 0xa9, 0x2f, 0x59, 0xf0, - 0xd1, 0xad, 0x36, 0xca, 0x9a, 0xdb, 0x9d, 0x85, 0xbc, 0x83, 0x1a, 0xc5, 0x24, 0x95, 0x68, 0xcb, - 0xb8, 0xa6, 0x9b, 0xe0, 0xa1, 0x32, 0x16, 0x01, 0x97, 0xab, 0xfa, 0xf3, 0xfb, 0xf2, 0x67, 0x00, - 0x00, 0x00, 0xff, 0xff, 0x26, 0x5d, 0x76, 0xea, 0xbd, 0x07, 0x00, 0x00, +var File_sl_route_common_proto protoreflect.FileDescriptor + +var file_sl_route_common_proto_rawDesc = []byte{ + 0x0a, 0x15, 0x73, 0x6c, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x73, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x16, + 0x0a, 0x14, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, + 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x22, 0xaf, 0x01, 0x0a, 0x17, 0x53, 0x4c, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, + 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x34, 0x0a, 0x15, 0x4d, 0x61, 0x78, 0x56, 0x72, 0x66, 0x72, 0x65, 0x67, 0x50, 0x65, 0x72, + 0x56, 0x72, 0x66, 0x72, 0x65, 0x67, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x15, 0x4d, 0x61, 0x78, 0x56, 0x72, 0x66, 0x72, 0x65, 0x67, 0x50, 0x65, 0x72, 0x56, 0x72, 0x66, + 0x72, 0x65, 0x67, 0x6d, 0x73, 0x67, 0x12, 0x30, 0x0a, 0x13, 0x4d, 0x61, 0x78, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x13, 0x4d, 0x61, 0x78, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x65, 0x72, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x6d, 0x73, 0x67, 0x22, 0x1a, 0x0a, 0x18, 0x53, 0x4c, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x47, 0x65, + 0x74, 0x4d, 0x73, 0x67, 0x22, 0x87, 0x01, 0x0a, 0x1b, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x47, 0x65, 0x74, 0x4d, 0x73, + 0x67, 0x52, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x56, 0x72, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x56, 0x72, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x84, + 0x01, 0x0a, 0x08, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x56, + 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, + 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x69, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x41, 0x64, + 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x17, 0x56, + 0x72, 0x66, 0x50, 0x75, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x56, 0x72, + 0x66, 0x50, 0x75, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x56, 0x0a, 0x0b, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, + 0x67, 0x4d, 0x73, 0x67, 0x12, 0x1c, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x08, 0x2e, 0x53, 0x4c, 0x52, 0x65, 0x67, 0x4f, 0x70, 0x52, 0x04, 0x4f, 0x70, + 0x65, 0x72, 0x12, 0x29, 0x0a, 0x0a, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, + 0x67, 0x52, 0x0a, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x73, 0x22, 0x58, 0x0a, + 0x0e, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x12, + 0x2c, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, + 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x71, 0x0a, 0x0e, 0x53, 0x4c, 0x56, 0x72, 0x66, + 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x34, 0x0a, 0x0d, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, + 0x29, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0f, 0x2e, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x52, 0x65, + 0x73, 0x52, 0x07, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x68, 0x0a, 0x0e, 0x53, 0x4c, + 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x18, 0x0a, 0x07, + 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, + 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, + 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x45, 0x6e, + 0x74, 0x72, 0x69, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x65, + 0x74, 0x4e, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x47, 0x65, 0x74, + 0x4e, 0x65, 0x78, 0x74, 0x22, 0x78, 0x0a, 0x11, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, + 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x6f, 0x66, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x45, 0x6f, 0x66, 0x12, 0x2c, 0x0a, 0x09, 0x45, + 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, + 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x07, 0x45, 0x6e, 0x74, + 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x53, 0x4c, 0x56, + 0x72, 0x66, 0x52, 0x65, 0x67, 0x52, 0x07, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0x4f, + 0x0a, 0x13, 0x53, 0x4c, 0x56, 0x52, 0x46, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, + 0x73, 0x67, 0x52, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x1e, 0x0a, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, + 0x85, 0x01, 0x0a, 0x13, 0x53, 0x4c, 0x56, 0x52, 0x46, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x6f, 0x66, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x45, 0x6f, 0x66, 0x12, 0x2c, 0x0a, 0x09, 0x45, 0x72, 0x72, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x53, + 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x45, 0x72, + 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2e, 0x0a, 0x07, 0x45, 0x6e, 0x74, 0x72, 0x69, + 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x53, 0x4c, 0x56, 0x52, 0x46, + 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x52, 0x07, + 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0x67, 0x0a, 0x0d, 0x53, 0x4c, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x41, 0x64, 0x6d, 0x69, + 0x6e, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0d, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1e, + 0x0a, 0x0a, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0a, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x10, + 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x54, 0x61, 0x67, + 0x22, 0xed, 0x02, 0x0a, 0x0b, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, + 0x12, 0x34, 0x0a, 0x0e, 0x4e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x53, 0x4c, 0x49, 0x70, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0e, 0x4e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x10, 0x4e, 0x65, 0x78, 0x74, 0x68, 0x6f, + 0x70, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0c, 0x2e, 0x53, 0x4c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x10, + 0x4e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x4c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x4c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x74, 0x68, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x06, 0x50, 0x61, 0x74, 0x68, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x13, 0x50, 0x72, + 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x42, 0x69, 0x74, 0x6d, 0x61, + 0x70, 0x18, 0x07, 0x20, 0x03, 0x28, 0x04, 0x52, 0x13, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x42, 0x69, 0x74, 0x6d, 0x61, 0x70, 0x12, 0x1e, 0x0a, 0x0a, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, + 0x52, 0x0a, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x32, 0x0a, 0x0d, + 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x09, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x53, 0x4c, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x52, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x42, 0x11, 0x5a, 0x0f, 0x2e, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_sl_route_common_proto_rawDescOnce sync.Once + file_sl_route_common_proto_rawDescData = file_sl_route_common_proto_rawDesc +) + +func file_sl_route_common_proto_rawDescGZIP() []byte { + file_sl_route_common_proto_rawDescOnce.Do(func() { + file_sl_route_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_sl_route_common_proto_rawDescData) + }) + return file_sl_route_common_proto_rawDescData +} + +var file_sl_route_common_proto_msgTypes = make([]protoimpl.MessageInfo, 14) +var file_sl_route_common_proto_goTypes = []interface{}{ + (*SLRouteGlobalsGetMsg)(nil), // 0: SLRouteGlobalsGetMsg + (*SLRouteGlobalsGetMsgRsp)(nil), // 1: SLRouteGlobalsGetMsgRsp + (*SLRouteGlobalStatsGetMsg)(nil), // 2: SLRouteGlobalStatsGetMsg + (*SLRouteGlobalStatsGetMsgRsp)(nil), // 3: SLRouteGlobalStatsGetMsgRsp + (*SLVrfReg)(nil), // 4: SLVrfReg + (*SLVrfRegMsg)(nil), // 5: SLVrfRegMsg + (*SLVrfRegMsgRes)(nil), // 6: SLVrfRegMsgRes + (*SLVrfRegMsgRsp)(nil), // 7: SLVrfRegMsgRsp + (*SLVrfRegGetMsg)(nil), // 8: SLVrfRegGetMsg + (*SLVrfRegGetMsgRsp)(nil), // 9: SLVrfRegGetMsgRsp + (*SLVRFGetStatsMsgRes)(nil), // 10: SLVRFGetStatsMsgRes + (*SLVRFGetStatsMsgRsp)(nil), // 11: SLVRFGetStatsMsgRsp + (*SLRouteCommon)(nil), // 12: SLRouteCommon + (*SLRoutePath)(nil), // 13: SLRoutePath + (*SLErrorStatus)(nil), // 14: SLErrorStatus + (SLRegOp)(0), // 15: SLRegOp + (*SLIpAddress)(nil), // 16: SLIpAddress + (*SLInterface)(nil), // 17: SLInterface +} +var file_sl_route_common_proto_depIdxs = []int32{ + 14, // 0: SLRouteGlobalsGetMsgRsp.ErrStatus:type_name -> SLErrorStatus + 14, // 1: SLRouteGlobalStatsGetMsgRsp.ErrStatus:type_name -> SLErrorStatus + 15, // 2: SLVrfRegMsg.Oper:type_name -> SLRegOp + 4, // 3: SLVrfRegMsg.VrfRegMsgs:type_name -> SLVrfReg + 14, // 4: SLVrfRegMsgRes.ErrStatus:type_name -> SLErrorStatus + 14, // 5: SLVrfRegMsgRsp.StatusSummary:type_name -> SLErrorStatus + 6, // 6: SLVrfRegMsgRsp.Results:type_name -> SLVrfRegMsgRes + 14, // 7: SLVrfRegGetMsgRsp.ErrStatus:type_name -> SLErrorStatus + 4, // 8: SLVrfRegGetMsgRsp.Entries:type_name -> SLVrfReg + 14, // 9: SLVRFGetStatsMsgRsp.ErrStatus:type_name -> SLErrorStatus + 10, // 10: SLVRFGetStatsMsgRsp.Entries:type_name -> SLVRFGetStatsMsgRes + 16, // 11: SLRoutePath.NexthopAddress:type_name -> SLIpAddress + 17, // 12: SLRoutePath.NexthopInterface:type_name -> SLInterface + 16, // 13: SLRoutePath.RemoteAddress:type_name -> SLIpAddress + 14, // [14:14] is the sub-list for method output_type + 14, // [14:14] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name +} + +func init() { file_sl_route_common_proto_init() } +func file_sl_route_common_proto_init() { + if File_sl_route_common_proto != nil { + return + } + file_sl_common_types_proto_init() + if !protoimpl.UnsafeEnabled { + file_sl_route_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLRouteGlobalsGetMsg); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sl_route_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLRouteGlobalsGetMsgRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sl_route_common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLRouteGlobalStatsGetMsg); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sl_route_common_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLRouteGlobalStatsGetMsgRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sl_route_common_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLVrfReg); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sl_route_common_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLVrfRegMsg); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sl_route_common_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLVrfRegMsgRes); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sl_route_common_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLVrfRegMsgRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sl_route_common_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLVrfRegGetMsg); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sl_route_common_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLVrfRegGetMsgRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sl_route_common_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLVRFGetStatsMsgRes); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sl_route_common_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLVRFGetStatsMsgRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sl_route_common_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLRouteCommon); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sl_route_common_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLRoutePath); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_sl_route_common_proto_rawDesc, + NumEnums: 0, + NumMessages: 14, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_sl_route_common_proto_goTypes, + DependencyIndexes: file_sl_route_common_proto_depIdxs, + MessageInfos: file_sl_route_common_proto_msgTypes, + }.Build() + File_sl_route_common_proto = out.File + file_sl_route_common_proto_rawDesc = nil + file_sl_route_common_proto_goTypes = nil + file_sl_route_common_proto_depIdxs = nil } diff --git a/proto/sla/sl_route_common.proto b/proto/sla/sl_route_common.proto index efc3edf..289ad6f 100755 --- a/proto/sla/sl_route_common.proto +++ b/proto/sla/sl_route_common.proto @@ -15,7 +15,7 @@ //@brief Route service definitions. syntax = "proto3"; -package service_layer; +option go_package = "./service_layer"; import "sl_common_types.proto"; diff --git a/proto/sla/sl_route_ipv6.pb.go b/proto/sla/sl_route_ipv6.pb.go index cade5eb..1f2f6cc 100644 --- a/proto/sla/sl_route_ipv6.pb.go +++ b/proto/sla/sl_route_ipv6.pb.go @@ -1,159 +1,268 @@ -// Code generated by protoc-gen-go. +// @file +// @brief Server RPC proto file for IPv6. +// +// ---------------------------------------------------------------- +// Copyright (c) 2016 by cisco Systems, Inc. +// All rights reserved. +// ----------------------------------------------------------------- +// +// + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.0 +// protoc v3.5.0 // source: sl_route_ipv6.proto -// DO NOT EDIT! package service_layer -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" - import ( - context "golang.org/x/net/context" - grpc "google.golang.org/grpc" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" ) -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) // IPv6 route type SLRoutev6 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // IPv6 Prefix - // 0:: - ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff + //0:: - ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff Prefix []byte `protobuf:"bytes,1,opt,name=Prefix,proto3" json:"Prefix,omitempty"` // IPv6 prefix length [0-128] - PrefixLen uint32 `protobuf:"varint,2,opt,name=PrefixLen" json:"PrefixLen,omitempty"` + PrefixLen uint32 `protobuf:"varint,2,opt,name=PrefixLen,proto3" json:"PrefixLen,omitempty"` // Common route attributes - RouteCommon *SLRouteCommon `protobuf:"bytes,3,opt,name=RouteCommon" json:"RouteCommon,omitempty"` + RouteCommon *SLRouteCommon `protobuf:"bytes,3,opt,name=RouteCommon,proto3" json:"RouteCommon,omitempty"` // List of route paths for a particular route. // Specifying more than one path is allowed for ECMP/UCMP cases - PathList []*SLRoutePath `protobuf:"bytes,4,rep,name=PathList" json:"PathList,omitempty"` + PathList []*SLRoutePath `protobuf:"bytes,4,rep,name=PathList,proto3" json:"PathList,omitempty"` +} + +func (x *SLRoutev6) Reset() { + *x = SLRoutev6{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_route_ipv6_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SLRoutev6) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLRoutev6) ProtoMessage() {} + +func (x *SLRoutev6) ProtoReflect() protoreflect.Message { + mi := &file_sl_route_ipv6_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -func (m *SLRoutev6) Reset() { *m = SLRoutev6{} } -func (m *SLRoutev6) String() string { return proto.CompactTextString(m) } -func (*SLRoutev6) ProtoMessage() {} -func (*SLRoutev6) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} } +// Deprecated: Use SLRoutev6.ProtoReflect.Descriptor instead. +func (*SLRoutev6) Descriptor() ([]byte, []int) { + return file_sl_route_ipv6_proto_rawDescGZIP(), []int{0} +} -func (m *SLRoutev6) GetPrefix() []byte { - if m != nil { - return m.Prefix +func (x *SLRoutev6) GetPrefix() []byte { + if x != nil { + return x.Prefix } return nil } -func (m *SLRoutev6) GetPrefixLen() uint32 { - if m != nil { - return m.PrefixLen +func (x *SLRoutev6) GetPrefixLen() uint32 { + if x != nil { + return x.PrefixLen } return 0 } -func (m *SLRoutev6) GetRouteCommon() *SLRouteCommon { - if m != nil { - return m.RouteCommon +func (x *SLRoutev6) GetRouteCommon() *SLRouteCommon { + if x != nil { + return x.RouteCommon } return nil } -func (m *SLRoutev6) GetPathList() []*SLRoutePath { - if m != nil { - return m.PathList +func (x *SLRoutev6) GetPathList() []*SLRoutePath { + if x != nil { + return x.PathList } return nil } // List of routes for bulk download type SLRoutev6Msg struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // Route Object Operations - Oper SLObjectOp `protobuf:"varint,1,opt,name=Oper,enum=service_layer.SLObjectOp" json:"Oper,omitempty"` + Oper SLObjectOp `protobuf:"varint,1,opt,name=Oper,proto3,enum=SLObjectOp" json:"Oper,omitempty"` // Correlator. This can be used to correlate replies with requests. // The Server simply reflects this field back in the reply. - Correlator uint64 `protobuf:"varint,2,opt,name=Correlator" json:"Correlator,omitempty"` + Correlator uint64 `protobuf:"varint,2,opt,name=Correlator,proto3" json:"Correlator,omitempty"` // VRF name. - VrfName string `protobuf:"bytes,3,opt,name=VrfName" json:"VrfName,omitempty"` + VrfName string `protobuf:"bytes,3,opt,name=VrfName,proto3" json:"VrfName,omitempty"` // List of routes for the VRF specified above - Routes []*SLRoutev6 `protobuf:"bytes,4,rep,name=Routes" json:"Routes,omitempty"` + Routes []*SLRoutev6 `protobuf:"bytes,4,rep,name=Routes,proto3" json:"Routes,omitempty"` +} + +func (x *SLRoutev6Msg) Reset() { + *x = SLRoutev6Msg{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_route_ipv6_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SLRoutev6Msg) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLRoutev6Msg) ProtoMessage() {} + +func (x *SLRoutev6Msg) ProtoReflect() protoreflect.Message { + mi := &file_sl_route_ipv6_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -func (m *SLRoutev6Msg) Reset() { *m = SLRoutev6Msg{} } -func (m *SLRoutev6Msg) String() string { return proto.CompactTextString(m) } -func (*SLRoutev6Msg) ProtoMessage() {} -func (*SLRoutev6Msg) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{1} } +// Deprecated: Use SLRoutev6Msg.ProtoReflect.Descriptor instead. +func (*SLRoutev6Msg) Descriptor() ([]byte, []int) { + return file_sl_route_ipv6_proto_rawDescGZIP(), []int{1} +} -func (m *SLRoutev6Msg) GetOper() SLObjectOp { - if m != nil { - return m.Oper +func (x *SLRoutev6Msg) GetOper() SLObjectOp { + if x != nil { + return x.Oper } return SLObjectOp_SL_OBJOP_RESERVED } -func (m *SLRoutev6Msg) GetCorrelator() uint64 { - if m != nil { - return m.Correlator +func (x *SLRoutev6Msg) GetCorrelator() uint64 { + if x != nil { + return x.Correlator } return 0 } -func (m *SLRoutev6Msg) GetVrfName() string { - if m != nil { - return m.VrfName +func (x *SLRoutev6Msg) GetVrfName() string { + if x != nil { + return x.VrfName } return "" } -func (m *SLRoutev6Msg) GetRoutes() []*SLRoutev6 { - if m != nil { - return m.Routes +func (x *SLRoutev6Msg) GetRoutes() []*SLRoutev6 { + if x != nil { + return x.Routes } return nil } // IPv6 route result, uniquely identified by the Prefix/PrefixLen pair type SLRoutev6Res struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // Corresponding error code - ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus" json:"ErrStatus,omitempty"` + ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // IPv6 Prefix Prefix []byte `protobuf:"bytes,2,opt,name=Prefix,proto3" json:"Prefix,omitempty"` // IPv6 prefix length, [0-32] - PrefixLen uint32 `protobuf:"varint,3,opt,name=PrefixLen" json:"PrefixLen,omitempty"` + PrefixLen uint32 `protobuf:"varint,3,opt,name=PrefixLen,proto3" json:"PrefixLen,omitempty"` +} + +func (x *SLRoutev6Res) Reset() { + *x = SLRoutev6Res{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_route_ipv6_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SLRoutev6Res) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *SLRoutev6Res) Reset() { *m = SLRoutev6Res{} } -func (m *SLRoutev6Res) String() string { return proto.CompactTextString(m) } -func (*SLRoutev6Res) ProtoMessage() {} -func (*SLRoutev6Res) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{2} } +func (*SLRoutev6Res) ProtoMessage() {} -func (m *SLRoutev6Res) GetErrStatus() *SLErrorStatus { - if m != nil { - return m.ErrStatus +func (x *SLRoutev6Res) ProtoReflect() protoreflect.Message { + mi := &file_sl_route_ipv6_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLRoutev6Res.ProtoReflect.Descriptor instead. +func (*SLRoutev6Res) Descriptor() ([]byte, []int) { + return file_sl_route_ipv6_proto_rawDescGZIP(), []int{2} +} + +func (x *SLRoutev6Res) GetErrStatus() *SLErrorStatus { + if x != nil { + return x.ErrStatus } return nil } -func (m *SLRoutev6Res) GetPrefix() []byte { - if m != nil { - return m.Prefix +func (x *SLRoutev6Res) GetPrefix() []byte { + if x != nil { + return x.Prefix } return nil } -func (m *SLRoutev6Res) GetPrefixLen() uint32 { - if m != nil { - return m.PrefixLen +func (x *SLRoutev6Res) GetPrefixLen() uint32 { + if x != nil { + return x.PrefixLen } return 0 } // IPv6 bulk route result status type SLRoutev6MsgRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // Correlator. This can be used to correlate replies with requests. // The Server simply reflects this field back in the reply. - Correlator uint64 `protobuf:"varint,1,opt,name=Correlator" json:"Correlator,omitempty"` + Correlator uint64 `protobuf:"varint,1,opt,name=Correlator,proto3" json:"Correlator,omitempty"` // VRF name (matches the VRF name of the original operation) - VrfName string `protobuf:"bytes,2,opt,name=VrfName" json:"VrfName,omitempty"` + VrfName string `protobuf:"bytes,2,opt,name=VrfName,proto3" json:"VrfName,omitempty"` // Summary result of the bulk operation (refer to enum SLErrorStatus) // In general, the StatusSummary implies one of 3 things: // 1. SL_SUCCESS: signifies that the entire bulk operation was successful. @@ -163,705 +272,535 @@ type SLRoutev6MsgRsp struct { // each individual entry in the bulk. // 3. SL_RPC_XXX: signifies that the entire bulk operation failed. // In this case, the Results list is empty. - StatusSummary *SLErrorStatus `protobuf:"bytes,3,opt,name=StatusSummary" json:"StatusSummary,omitempty"` + StatusSummary *SLErrorStatus `protobuf:"bytes,3,opt,name=StatusSummary,proto3" json:"StatusSummary,omitempty"` // In case of errors, this field indicates which entry in the bulk was // erroneous. - Results []*SLRoutev6Res `protobuf:"bytes,4,rep,name=Results" json:"Results,omitempty"` + Results []*SLRoutev6Res `protobuf:"bytes,4,rep,name=Results,proto3" json:"Results,omitempty"` } -func (m *SLRoutev6MsgRsp) Reset() { *m = SLRoutev6MsgRsp{} } -func (m *SLRoutev6MsgRsp) String() string { return proto.CompactTextString(m) } -func (*SLRoutev6MsgRsp) ProtoMessage() {} -func (*SLRoutev6MsgRsp) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{3} } +func (x *SLRoutev6MsgRsp) Reset() { + *x = SLRoutev6MsgRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_route_ipv6_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SLRoutev6MsgRsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLRoutev6MsgRsp) ProtoMessage() {} -func (m *SLRoutev6MsgRsp) GetCorrelator() uint64 { - if m != nil { - return m.Correlator +func (x *SLRoutev6MsgRsp) ProtoReflect() protoreflect.Message { + mi := &file_sl_route_ipv6_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLRoutev6MsgRsp.ProtoReflect.Descriptor instead. +func (*SLRoutev6MsgRsp) Descriptor() ([]byte, []int) { + return file_sl_route_ipv6_proto_rawDescGZIP(), []int{3} +} + +func (x *SLRoutev6MsgRsp) GetCorrelator() uint64 { + if x != nil { + return x.Correlator } return 0 } -func (m *SLRoutev6MsgRsp) GetVrfName() string { - if m != nil { - return m.VrfName +func (x *SLRoutev6MsgRsp) GetVrfName() string { + if x != nil { + return x.VrfName } return "" } -func (m *SLRoutev6MsgRsp) GetStatusSummary() *SLErrorStatus { - if m != nil { - return m.StatusSummary +func (x *SLRoutev6MsgRsp) GetStatusSummary() *SLErrorStatus { + if x != nil { + return x.StatusSummary } return nil } -func (m *SLRoutev6MsgRsp) GetResults() []*SLRoutev6Res { - if m != nil { - return m.Results +func (x *SLRoutev6MsgRsp) GetResults() []*SLRoutev6Res { + if x != nil { + return x.Results } return nil } // Used to retrieve route attributes type SLRoutev6GetMsg struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // Correlator. This can be used to correlate replies with requests. // The Server simply reflects this field back in the reply. - Correlator uint64 `protobuf:"varint,1,opt,name=Correlator" json:"Correlator,omitempty"` + Correlator uint64 `protobuf:"varint,1,opt,name=Correlator,proto3" json:"Correlator,omitempty"` // VRF name. // If the Key is not specified, then request up to the first // 'EntriesCount' entries. - VrfName string `protobuf:"bytes,2,opt,name=VrfName" json:"VrfName,omitempty"` + VrfName string `protobuf:"bytes,2,opt,name=VrfName,proto3" json:"VrfName,omitempty"` // IPv6 Prefix Prefix []byte `protobuf:"bytes,3,opt,name=Prefix,proto3" json:"Prefix,omitempty"` // IPv6 prefix length, [0-32] - PrefixLen uint32 `protobuf:"varint,4,opt,name=PrefixLen" json:"PrefixLen,omitempty"` + PrefixLen uint32 `protobuf:"varint,4,opt,name=PrefixLen,proto3" json:"PrefixLen,omitempty"` // Number of entries requested - EntriesCount uint32 `protobuf:"varint,5,opt,name=EntriesCount" json:"EntriesCount,omitempty"` + EntriesCount uint32 `protobuf:"varint,5,opt,name=EntriesCount,proto3" json:"EntriesCount,omitempty"` // if GetNext is FALSE: // request up to 'EntriesCount' entries starting from the key // If GetNext is TRUE, or if the key exact match is not found: // request up to 'EntriesCount' entries starting from the key's next - GetNext bool `protobuf:"varint,6,opt,name=GetNext" json:"GetNext,omitempty"` + GetNext bool `protobuf:"varint,6,opt,name=GetNext,proto3" json:"GetNext,omitempty"` } -func (m *SLRoutev6GetMsg) Reset() { *m = SLRoutev6GetMsg{} } -func (m *SLRoutev6GetMsg) String() string { return proto.CompactTextString(m) } -func (*SLRoutev6GetMsg) ProtoMessage() {} -func (*SLRoutev6GetMsg) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{4} } +func (x *SLRoutev6GetMsg) Reset() { + *x = SLRoutev6GetMsg{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_route_ipv6_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SLRoutev6GetMsg) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SLRoutev6GetMsg) ProtoMessage() {} + +func (x *SLRoutev6GetMsg) ProtoReflect() protoreflect.Message { + mi := &file_sl_route_ipv6_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SLRoutev6GetMsg.ProtoReflect.Descriptor instead. +func (*SLRoutev6GetMsg) Descriptor() ([]byte, []int) { + return file_sl_route_ipv6_proto_rawDescGZIP(), []int{4} +} -func (m *SLRoutev6GetMsg) GetCorrelator() uint64 { - if m != nil { - return m.Correlator +func (x *SLRoutev6GetMsg) GetCorrelator() uint64 { + if x != nil { + return x.Correlator } return 0 } -func (m *SLRoutev6GetMsg) GetVrfName() string { - if m != nil { - return m.VrfName +func (x *SLRoutev6GetMsg) GetVrfName() string { + if x != nil { + return x.VrfName } return "" } -func (m *SLRoutev6GetMsg) GetPrefix() []byte { - if m != nil { - return m.Prefix +func (x *SLRoutev6GetMsg) GetPrefix() []byte { + if x != nil { + return x.Prefix } return nil } -func (m *SLRoutev6GetMsg) GetPrefixLen() uint32 { - if m != nil { - return m.PrefixLen +func (x *SLRoutev6GetMsg) GetPrefixLen() uint32 { + if x != nil { + return x.PrefixLen } return 0 } -func (m *SLRoutev6GetMsg) GetEntriesCount() uint32 { - if m != nil { - return m.EntriesCount +func (x *SLRoutev6GetMsg) GetEntriesCount() uint32 { + if x != nil { + return x.EntriesCount } return 0 } -func (m *SLRoutev6GetMsg) GetGetNext() bool { - if m != nil { - return m.GetNext +func (x *SLRoutev6GetMsg) GetGetNext() bool { + if x != nil { + return x.GetNext } return false } // Gt Route message response type SLRoutev6GetMsgRsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // Correlator. This can be used to correlate replies with requests. // The Server simply reflects this field back in the reply. - Correlator uint64 `protobuf:"varint,1,opt,name=Correlator" json:"Correlator,omitempty"` + Correlator uint64 `protobuf:"varint,1,opt,name=Correlator,proto3" json:"Correlator,omitempty"` // End Of File. // When set to True, it indicates that the server has returned M, where // M < N, of the original N requested Entries. - Eof bool `protobuf:"varint,2,opt,name=Eof" json:"Eof,omitempty"` + Eof bool `protobuf:"varint,2,opt,name=Eof,proto3" json:"Eof,omitempty"` // VRF name. - VrfName string `protobuf:"bytes,3,opt,name=VrfName" json:"VrfName,omitempty"` + VrfName string `protobuf:"bytes,3,opt,name=VrfName,proto3" json:"VrfName,omitempty"` // Status of the Get operation - ErrStatus *SLErrorStatus `protobuf:"bytes,4,opt,name=ErrStatus" json:"ErrStatus,omitempty"` + ErrStatus *SLErrorStatus `protobuf:"bytes,4,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` // Returned entries as requested in the Get operation. // if ErrStatus is SL_SUCCESS, Entries contains the info requested - Entries []*SLRoutev6 `protobuf:"bytes,5,rep,name=Entries" json:"Entries,omitempty"` -} - -func (m *SLRoutev6GetMsgRsp) Reset() { *m = SLRoutev6GetMsgRsp{} } -func (m *SLRoutev6GetMsgRsp) String() string { return proto.CompactTextString(m) } -func (*SLRoutev6GetMsgRsp) ProtoMessage() {} -func (*SLRoutev6GetMsgRsp) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{5} } - -func (m *SLRoutev6GetMsgRsp) GetCorrelator() uint64 { - if m != nil { - return m.Correlator - } - return 0 -} - -func (m *SLRoutev6GetMsgRsp) GetEof() bool { - if m != nil { - return m.Eof - } - return false -} - -func (m *SLRoutev6GetMsgRsp) GetVrfName() string { - if m != nil { - return m.VrfName - } - return "" -} - -func (m *SLRoutev6GetMsgRsp) GetErrStatus() *SLErrorStatus { - if m != nil { - return m.ErrStatus - } - return nil -} - -func (m *SLRoutev6GetMsgRsp) GetEntries() []*SLRoutev6 { - if m != nil { - return m.Entries - } - return nil -} - -func init() { - proto.RegisterType((*SLRoutev6)(nil), "service_layer.SLRoutev6") - proto.RegisterType((*SLRoutev6Msg)(nil), "service_layer.SLRoutev6Msg") - proto.RegisterType((*SLRoutev6Res)(nil), "service_layer.SLRoutev6Res") - proto.RegisterType((*SLRoutev6MsgRsp)(nil), "service_layer.SLRoutev6MsgRsp") - proto.RegisterType((*SLRoutev6GetMsg)(nil), "service_layer.SLRoutev6GetMsg") - proto.RegisterType((*SLRoutev6GetMsgRsp)(nil), "service_layer.SLRoutev6GetMsgRsp") -} - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConn - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion4 - -// Client API for SLRoutev6Oper service - -type SLRoutev6OperClient interface { - // Used to retrieve Global Route information - SLRoutev6GlobalsGet(ctx context.Context, in *SLRouteGlobalsGetMsg, opts ...grpc.CallOption) (*SLRouteGlobalsGetMsgRsp, error) - // Used to retrieve Global Route Stats - SLRoutev6GlobalStatsGet(ctx context.Context, in *SLRouteGlobalStatsGetMsg, opts ...grpc.CallOption) (*SLRouteGlobalStatsGetMsgRsp, error) - // SLVrfRegMsg.Oper = SL_REGOP_REGISTER: - // VRF registration: Sends a list of VRF registration messages - // and expects a list of registration responses. - // A client Must Register a VRF BEFORE routes can be added/modified in - // the associated VRF. - // - // SLVrfRegMsg.Oper = SL_REGOP_UNREGISTER: - // VRF Un-registeration: Sends a list of VRF un-registration messages - // and expects a list of un-registration responses. - // This can be used to convey that the client is no longer interested - // in this VRF. All previously installed routes would be lost. - // - // SLVrfRegMsg.Oper = SL_REGOP_EOF: - // VRF End Of File message. - // After Registration, the client is expected to send an EOF - // message to convey the end of replay of the client's known objects. - // This is especially useful under certain restart scenarios when the - // client and the server are trying to synchronize their Routes. - SLRoutev6VrfRegOp(ctx context.Context, in *SLVrfRegMsg, opts ...grpc.CallOption) (*SLVrfRegMsgRsp, error) - // VRF get. Used to retrieve VRF attributes from the server. - SLRoutev6VrfRegGet(ctx context.Context, in *SLVrfRegGetMsg, opts ...grpc.CallOption) (*SLVrfRegGetMsgRsp, error) - // Used to retrieve VRF Stats from the server. - SLRoutev6VrfGetStats(ctx context.Context, in *SLVrfRegGetMsg, opts ...grpc.CallOption) (*SLVRFGetStatsMsgRsp, error) - // SLRoutev6Msg.Oper = SL_OBJOP_ADD: - // Route add. Fails if the route already exists. - // - // SLRoutev6Msg.Oper = SL_OBJOP_UPDATE: - // Route update. Creates or updates the route. - // - // SLRoutev6Msg.Oper = SL_OBJOP_DELETE: - // Route delete. The route path is not necessary to delete the route. - SLRoutev6Op(ctx context.Context, in *SLRoutev6Msg, opts ...grpc.CallOption) (*SLRoutev6MsgRsp, error) - // Retrieves route attributes. - SLRoutev6Get(ctx context.Context, in *SLRoutev6GetMsg, opts ...grpc.CallOption) (*SLRoutev6GetMsgRsp, error) - // SLRoutev6Msg.Oper = SL_OBJOP_ADD: - // Route add. Fails if the route already exists. - // - // SLRoutev6Msg.Oper = SL_OBJOP_UPDATE: - // Route update. Creates or updates the route. - // - // SLRoutev6Msg.Oper = SL_OBJOP_DELETE: - // Route delete. The route path is not necessary to delete the route. - SLRoutev6OpStream(ctx context.Context, opts ...grpc.CallOption) (SLRoutev6Oper_SLRoutev6OpStreamClient, error) - // Retrieves route attributes. - SLRoutev6GetStream(ctx context.Context, opts ...grpc.CallOption) (SLRoutev6Oper_SLRoutev6GetStreamClient, error) -} - -type sLRoutev6OperClient struct { - cc *grpc.ClientConn -} - -func NewSLRoutev6OperClient(cc *grpc.ClientConn) SLRoutev6OperClient { - return &sLRoutev6OperClient{cc} -} - -func (c *sLRoutev6OperClient) SLRoutev6GlobalsGet(ctx context.Context, in *SLRouteGlobalsGetMsg, opts ...grpc.CallOption) (*SLRouteGlobalsGetMsgRsp, error) { - out := new(SLRouteGlobalsGetMsgRsp) - err := grpc.Invoke(ctx, "/service_layer.SLRoutev6Oper/SLRoutev6GlobalsGet", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *sLRoutev6OperClient) SLRoutev6GlobalStatsGet(ctx context.Context, in *SLRouteGlobalStatsGetMsg, opts ...grpc.CallOption) (*SLRouteGlobalStatsGetMsgRsp, error) { - out := new(SLRouteGlobalStatsGetMsgRsp) - err := grpc.Invoke(ctx, "/service_layer.SLRoutev6Oper/SLRoutev6GlobalStatsGet", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *sLRoutev6OperClient) SLRoutev6VrfRegOp(ctx context.Context, in *SLVrfRegMsg, opts ...grpc.CallOption) (*SLVrfRegMsgRsp, error) { - out := new(SLVrfRegMsgRsp) - err := grpc.Invoke(ctx, "/service_layer.SLRoutev6Oper/SLRoutev6VrfRegOp", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *sLRoutev6OperClient) SLRoutev6VrfRegGet(ctx context.Context, in *SLVrfRegGetMsg, opts ...grpc.CallOption) (*SLVrfRegGetMsgRsp, error) { - out := new(SLVrfRegGetMsgRsp) - err := grpc.Invoke(ctx, "/service_layer.SLRoutev6Oper/SLRoutev6VrfRegGet", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *sLRoutev6OperClient) SLRoutev6VrfGetStats(ctx context.Context, in *SLVrfRegGetMsg, opts ...grpc.CallOption) (*SLVRFGetStatsMsgRsp, error) { - out := new(SLVRFGetStatsMsgRsp) - err := grpc.Invoke(ctx, "/service_layer.SLRoutev6Oper/SLRoutev6VrfGetStats", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *sLRoutev6OperClient) SLRoutev6Op(ctx context.Context, in *SLRoutev6Msg, opts ...grpc.CallOption) (*SLRoutev6MsgRsp, error) { - out := new(SLRoutev6MsgRsp) - err := grpc.Invoke(ctx, "/service_layer.SLRoutev6Oper/SLRoutev6Op", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *sLRoutev6OperClient) SLRoutev6Get(ctx context.Context, in *SLRoutev6GetMsg, opts ...grpc.CallOption) (*SLRoutev6GetMsgRsp, error) { - out := new(SLRoutev6GetMsgRsp) - err := grpc.Invoke(ctx, "/service_layer.SLRoutev6Oper/SLRoutev6Get", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil + Entries []*SLRoutev6 `protobuf:"bytes,5,rep,name=Entries,proto3" json:"Entries,omitempty"` } -func (c *sLRoutev6OperClient) SLRoutev6OpStream(ctx context.Context, opts ...grpc.CallOption) (SLRoutev6Oper_SLRoutev6OpStreamClient, error) { - stream, err := grpc.NewClientStream(ctx, &_SLRoutev6Oper_serviceDesc.Streams[0], c.cc, "/service_layer.SLRoutev6Oper/SLRoutev6OpStream", opts...) - if err != nil { - return nil, err +func (x *SLRoutev6GetMsgRsp) Reset() { + *x = SLRoutev6GetMsgRsp{} + if protoimpl.UnsafeEnabled { + mi := &file_sl_route_ipv6_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - x := &sLRoutev6OperSLRoutev6OpStreamClient{stream} - return x, nil -} - -type SLRoutev6Oper_SLRoutev6OpStreamClient interface { - Send(*SLRoutev6Msg) error - Recv() (*SLRoutev6MsgRsp, error) - grpc.ClientStream } -type sLRoutev6OperSLRoutev6OpStreamClient struct { - grpc.ClientStream +func (x *SLRoutev6GetMsgRsp) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *sLRoutev6OperSLRoutev6OpStreamClient) Send(m *SLRoutev6Msg) error { - return x.ClientStream.SendMsg(m) -} - -func (x *sLRoutev6OperSLRoutev6OpStreamClient) Recv() (*SLRoutev6MsgRsp, error) { - m := new(SLRoutev6MsgRsp) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +func (*SLRoutev6GetMsgRsp) ProtoMessage() {} -func (c *sLRoutev6OperClient) SLRoutev6GetStream(ctx context.Context, opts ...grpc.CallOption) (SLRoutev6Oper_SLRoutev6GetStreamClient, error) { - stream, err := grpc.NewClientStream(ctx, &_SLRoutev6Oper_serviceDesc.Streams[1], c.cc, "/service_layer.SLRoutev6Oper/SLRoutev6GetStream", opts...) - if err != nil { - return nil, err +func (x *SLRoutev6GetMsgRsp) ProtoReflect() protoreflect.Message { + mi := &file_sl_route_ipv6_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - x := &sLRoutev6OperSLRoutev6GetStreamClient{stream} - return x, nil -} - -type SLRoutev6Oper_SLRoutev6GetStreamClient interface { - Send(*SLRoutev6GetMsg) error - Recv() (*SLRoutev6GetMsgRsp, error) - grpc.ClientStream + return mi.MessageOf(x) } -type sLRoutev6OperSLRoutev6GetStreamClient struct { - grpc.ClientStream +// Deprecated: Use SLRoutev6GetMsgRsp.ProtoReflect.Descriptor instead. +func (*SLRoutev6GetMsgRsp) Descriptor() ([]byte, []int) { + return file_sl_route_ipv6_proto_rawDescGZIP(), []int{5} } -func (x *sLRoutev6OperSLRoutev6GetStreamClient) Send(m *SLRoutev6GetMsg) error { - return x.ClientStream.SendMsg(m) -} - -func (x *sLRoutev6OperSLRoutev6GetStreamClient) Recv() (*SLRoutev6GetMsgRsp, error) { - m := new(SLRoutev6GetMsgRsp) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err +func (x *SLRoutev6GetMsgRsp) GetCorrelator() uint64 { + if x != nil { + return x.Correlator } - return m, nil -} - -// Server API for SLRoutev6Oper service - -type SLRoutev6OperServer interface { - // Used to retrieve Global Route information - SLRoutev6GlobalsGet(context.Context, *SLRouteGlobalsGetMsg) (*SLRouteGlobalsGetMsgRsp, error) - // Used to retrieve Global Route Stats - SLRoutev6GlobalStatsGet(context.Context, *SLRouteGlobalStatsGetMsg) (*SLRouteGlobalStatsGetMsgRsp, error) - // SLVrfRegMsg.Oper = SL_REGOP_REGISTER: - // VRF registration: Sends a list of VRF registration messages - // and expects a list of registration responses. - // A client Must Register a VRF BEFORE routes can be added/modified in - // the associated VRF. - // - // SLVrfRegMsg.Oper = SL_REGOP_UNREGISTER: - // VRF Un-registeration: Sends a list of VRF un-registration messages - // and expects a list of un-registration responses. - // This can be used to convey that the client is no longer interested - // in this VRF. All previously installed routes would be lost. - // - // SLVrfRegMsg.Oper = SL_REGOP_EOF: - // VRF End Of File message. - // After Registration, the client is expected to send an EOF - // message to convey the end of replay of the client's known objects. - // This is especially useful under certain restart scenarios when the - // client and the server are trying to synchronize their Routes. - SLRoutev6VrfRegOp(context.Context, *SLVrfRegMsg) (*SLVrfRegMsgRsp, error) - // VRF get. Used to retrieve VRF attributes from the server. - SLRoutev6VrfRegGet(context.Context, *SLVrfRegGetMsg) (*SLVrfRegGetMsgRsp, error) - // Used to retrieve VRF Stats from the server. - SLRoutev6VrfGetStats(context.Context, *SLVrfRegGetMsg) (*SLVRFGetStatsMsgRsp, error) - // SLRoutev6Msg.Oper = SL_OBJOP_ADD: - // Route add. Fails if the route already exists. - // - // SLRoutev6Msg.Oper = SL_OBJOP_UPDATE: - // Route update. Creates or updates the route. - // - // SLRoutev6Msg.Oper = SL_OBJOP_DELETE: - // Route delete. The route path is not necessary to delete the route. - SLRoutev6Op(context.Context, *SLRoutev6Msg) (*SLRoutev6MsgRsp, error) - // Retrieves route attributes. - SLRoutev6Get(context.Context, *SLRoutev6GetMsg) (*SLRoutev6GetMsgRsp, error) - // SLRoutev6Msg.Oper = SL_OBJOP_ADD: - // Route add. Fails if the route already exists. - // - // SLRoutev6Msg.Oper = SL_OBJOP_UPDATE: - // Route update. Creates or updates the route. - // - // SLRoutev6Msg.Oper = SL_OBJOP_DELETE: - // Route delete. The route path is not necessary to delete the route. - SLRoutev6OpStream(SLRoutev6Oper_SLRoutev6OpStreamServer) error - // Retrieves route attributes. - SLRoutev6GetStream(SLRoutev6Oper_SLRoutev6GetStreamServer) error -} - -func RegisterSLRoutev6OperServer(s *grpc.Server, srv SLRoutev6OperServer) { - s.RegisterService(&_SLRoutev6Oper_serviceDesc, srv) -} - -func _SLRoutev6Oper_SLRoutev6GlobalsGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SLRouteGlobalsGetMsg) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SLRoutev6OperServer).SLRoutev6GlobalsGet(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/service_layer.SLRoutev6Oper/SLRoutev6GlobalsGet", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SLRoutev6OperServer).SLRoutev6GlobalsGet(ctx, req.(*SLRouteGlobalsGetMsg)) - } - return interceptor(ctx, in, info, handler) -} - -func _SLRoutev6Oper_SLRoutev6GlobalStatsGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SLRouteGlobalStatsGetMsg) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SLRoutev6OperServer).SLRoutev6GlobalStatsGet(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/service_layer.SLRoutev6Oper/SLRoutev6GlobalStatsGet", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SLRoutev6OperServer).SLRoutev6GlobalStatsGet(ctx, req.(*SLRouteGlobalStatsGetMsg)) - } - return interceptor(ctx, in, info, handler) -} - -func _SLRoutev6Oper_SLRoutev6VrfRegOp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SLVrfRegMsg) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SLRoutev6OperServer).SLRoutev6VrfRegOp(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/service_layer.SLRoutev6Oper/SLRoutev6VrfRegOp", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SLRoutev6OperServer).SLRoutev6VrfRegOp(ctx, req.(*SLVrfRegMsg)) - } - return interceptor(ctx, in, info, handler) -} - -func _SLRoutev6Oper_SLRoutev6VrfRegGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SLVrfRegGetMsg) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SLRoutev6OperServer).SLRoutev6VrfRegGet(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/service_layer.SLRoutev6Oper/SLRoutev6VrfRegGet", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SLRoutev6OperServer).SLRoutev6VrfRegGet(ctx, req.(*SLVrfRegGetMsg)) - } - return interceptor(ctx, in, info, handler) + return 0 } -func _SLRoutev6Oper_SLRoutev6VrfGetStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SLVrfRegGetMsg) - if err := dec(in); err != nil { - return nil, err +func (x *SLRoutev6GetMsgRsp) GetEof() bool { + if x != nil { + return x.Eof } - if interceptor == nil { - return srv.(SLRoutev6OperServer).SLRoutev6VrfGetStats(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/service_layer.SLRoutev6Oper/SLRoutev6VrfGetStats", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SLRoutev6OperServer).SLRoutev6VrfGetStats(ctx, req.(*SLVrfRegGetMsg)) - } - return interceptor(ctx, in, info, handler) + return false } -func _SLRoutev6Oper_SLRoutev6Op_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SLRoutev6Msg) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SLRoutev6OperServer).SLRoutev6Op(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/service_layer.SLRoutev6Oper/SLRoutev6Op", +func (x *SLRoutev6GetMsgRsp) GetVrfName() string { + if x != nil { + return x.VrfName } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SLRoutev6OperServer).SLRoutev6Op(ctx, req.(*SLRoutev6Msg)) - } - return interceptor(ctx, in, info, handler) + return "" } -func _SLRoutev6Oper_SLRoutev6Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SLRoutev6GetMsg) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SLRoutev6OperServer).SLRoutev6Get(ctx, in) +func (x *SLRoutev6GetMsgRsp) GetErrStatus() *SLErrorStatus { + if x != nil { + return x.ErrStatus } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/service_layer.SLRoutev6Oper/SLRoutev6Get", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SLRoutev6OperServer).SLRoutev6Get(ctx, req.(*SLRoutev6GetMsg)) - } - return interceptor(ctx, in, info, handler) -} - -func _SLRoutev6Oper_SLRoutev6OpStream_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(SLRoutev6OperServer).SLRoutev6OpStream(&sLRoutev6OperSLRoutev6OpStreamServer{stream}) -} - -type SLRoutev6Oper_SLRoutev6OpStreamServer interface { - Send(*SLRoutev6MsgRsp) error - Recv() (*SLRoutev6Msg, error) - grpc.ServerStream -} - -type sLRoutev6OperSLRoutev6OpStreamServer struct { - grpc.ServerStream -} - -func (x *sLRoutev6OperSLRoutev6OpStreamServer) Send(m *SLRoutev6MsgRsp) error { - return x.ServerStream.SendMsg(m) + return nil } -func (x *sLRoutev6OperSLRoutev6OpStreamServer) Recv() (*SLRoutev6Msg, error) { - m := new(SLRoutev6Msg) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err +func (x *SLRoutev6GetMsgRsp) GetEntries() []*SLRoutev6 { + if x != nil { + return x.Entries } - return m, nil -} - -func _SLRoutev6Oper_SLRoutev6GetStream_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(SLRoutev6OperServer).SLRoutev6GetStream(&sLRoutev6OperSLRoutev6GetStreamServer{stream}) -} - -type SLRoutev6Oper_SLRoutev6GetStreamServer interface { - Send(*SLRoutev6GetMsgRsp) error - Recv() (*SLRoutev6GetMsg, error) - grpc.ServerStream -} - -type sLRoutev6OperSLRoutev6GetStreamServer struct { - grpc.ServerStream -} - -func (x *sLRoutev6OperSLRoutev6GetStreamServer) Send(m *SLRoutev6GetMsgRsp) error { - return x.ServerStream.SendMsg(m) + return nil } -func (x *sLRoutev6OperSLRoutev6GetStreamServer) Recv() (*SLRoutev6GetMsg, error) { - m := new(SLRoutev6GetMsg) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +var File_sl_route_ipv6_proto protoreflect.FileDescriptor + +var file_sl_route_ipv6_proto_rawDesc = []byte{ + 0x0a, 0x13, 0x73, 0x6c, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x73, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x73, 0x6c, + 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0x9d, 0x01, 0x0a, 0x09, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, + 0x36, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x50, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x30, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x53, + 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x0b, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x08, 0x50, 0x61, 0x74, + 0x68, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x53, 0x4c, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x08, 0x50, 0x61, 0x74, 0x68, 0x4c, + 0x69, 0x73, 0x74, 0x22, 0x8d, 0x01, 0x0a, 0x0c, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, + 0x36, 0x4d, 0x73, 0x67, 0x12, 0x1f, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x53, 0x4c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x52, + 0x04, 0x4f, 0x70, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, + 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x22, 0x0a, 0x06, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0a, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x52, 0x06, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x73, 0x22, 0x72, 0x0a, 0x0c, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, + 0x52, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x50, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x22, 0xaa, 0x01, 0x0a, 0x0f, 0x53, 0x4c, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x76, 0x36, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x43, + 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x56, + 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, + 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, + 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x53, + 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x27, 0x0a, 0x07, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x53, + 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x52, 0x65, 0x73, 0x52, 0x07, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x22, 0xbf, 0x01, 0x0a, 0x0f, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x76, 0x36, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x72, 0x72, + 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x43, 0x6f, + 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x50, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x45, 0x6e, 0x74, 0x72, + 0x69, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, + 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x47, + 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x22, 0xb4, 0x01, 0x0a, 0x12, 0x53, 0x4c, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x76, 0x36, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x1e, 0x0a, + 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x10, 0x0a, + 0x03, 0x45, 0x6f, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x45, 0x6f, 0x66, 0x12, + 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x45, 0x72, 0x72, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x53, + 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x45, 0x72, + 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x07, 0x45, 0x6e, 0x74, 0x72, 0x69, + 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x76, 0x36, 0x52, 0x07, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x32, 0xbb, 0x04, + 0x0a, 0x0d, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x4f, 0x70, 0x65, 0x72, 0x12, + 0x46, 0x0a, 0x13, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x73, 0x47, 0x65, 0x74, 0x12, 0x15, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x18, 0x2e, + 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x47, 0x65, + 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x17, 0x53, 0x4c, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x76, 0x36, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x47, + 0x65, 0x74, 0x12, 0x19, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x1c, 0x2e, + 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, + 0x74, 0x73, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x32, 0x0a, 0x11, 0x53, + 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4f, 0x70, + 0x12, 0x0c, 0x2e, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x1a, 0x0f, + 0x2e, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, + 0x39, 0x0a, 0x12, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x56, 0x72, 0x66, 0x52, + 0x65, 0x67, 0x47, 0x65, 0x74, 0x12, 0x0f, 0x2e, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, + 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x12, 0x2e, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, + 0x67, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x14, 0x53, 0x4c, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x56, 0x72, 0x66, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x73, 0x12, 0x0f, 0x2e, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x47, 0x65, 0x74, + 0x4d, 0x73, 0x67, 0x1a, 0x14, 0x2e, 0x53, 0x4c, 0x56, 0x52, 0x46, 0x47, 0x65, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x0b, 0x53, 0x4c, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x4f, 0x70, 0x12, 0x0d, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x76, 0x36, 0x4d, 0x73, 0x67, 0x1a, 0x10, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x76, 0x36, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x35, 0x0a, 0x0c, 0x53, 0x4c, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x47, 0x65, 0x74, 0x12, 0x10, 0x2e, 0x53, 0x4c, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x76, 0x36, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x13, 0x2e, 0x53, 0x4c, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, + 0x12, 0x38, 0x0a, 0x11, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x4f, 0x70, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x0d, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, + 0x36, 0x4d, 0x73, 0x67, 0x1a, 0x10, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, + 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x28, 0x01, 0x30, 0x01, 0x12, 0x3f, 0x0a, 0x12, 0x53, 0x4c, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x47, 0x65, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x12, 0x10, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x47, 0x65, 0x74, 0x4d, + 0x73, 0x67, 0x1a, 0x13, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x47, 0x65, + 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x28, 0x01, 0x30, 0x01, 0x42, 0x11, 0x5a, 0x0f, 0x2e, + 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_sl_route_ipv6_proto_rawDescOnce sync.Once + file_sl_route_ipv6_proto_rawDescData = file_sl_route_ipv6_proto_rawDesc +) -var _SLRoutev6Oper_serviceDesc = grpc.ServiceDesc{ - ServiceName: "service_layer.SLRoutev6Oper", - HandlerType: (*SLRoutev6OperServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "SLRoutev6GlobalsGet", - Handler: _SLRoutev6Oper_SLRoutev6GlobalsGet_Handler, - }, - { - MethodName: "SLRoutev6GlobalStatsGet", - Handler: _SLRoutev6Oper_SLRoutev6GlobalStatsGet_Handler, - }, - { - MethodName: "SLRoutev6VrfRegOp", - Handler: _SLRoutev6Oper_SLRoutev6VrfRegOp_Handler, - }, - { - MethodName: "SLRoutev6VrfRegGet", - Handler: _SLRoutev6Oper_SLRoutev6VrfRegGet_Handler, - }, - { - MethodName: "SLRoutev6VrfGetStats", - Handler: _SLRoutev6Oper_SLRoutev6VrfGetStats_Handler, - }, - { - MethodName: "SLRoutev6Op", - Handler: _SLRoutev6Oper_SLRoutev6Op_Handler, - }, - { - MethodName: "SLRoutev6Get", - Handler: _SLRoutev6Oper_SLRoutev6Get_Handler, - }, - }, - Streams: []grpc.StreamDesc{ - { - StreamName: "SLRoutev6OpStream", - Handler: _SLRoutev6Oper_SLRoutev6OpStream_Handler, - ServerStreams: true, - ClientStreams: true, - }, - { - StreamName: "SLRoutev6GetStream", - Handler: _SLRoutev6Oper_SLRoutev6GetStream_Handler, - ServerStreams: true, - ClientStreams: true, +func file_sl_route_ipv6_proto_rawDescGZIP() []byte { + file_sl_route_ipv6_proto_rawDescOnce.Do(func() { + file_sl_route_ipv6_proto_rawDescData = protoimpl.X.CompressGZIP(file_sl_route_ipv6_proto_rawDescData) + }) + return file_sl_route_ipv6_proto_rawDescData +} + +var file_sl_route_ipv6_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_sl_route_ipv6_proto_goTypes = []interface{}{ + (*SLRoutev6)(nil), // 0: SLRoutev6 + (*SLRoutev6Msg)(nil), // 1: SLRoutev6Msg + (*SLRoutev6Res)(nil), // 2: SLRoutev6Res + (*SLRoutev6MsgRsp)(nil), // 3: SLRoutev6MsgRsp + (*SLRoutev6GetMsg)(nil), // 4: SLRoutev6GetMsg + (*SLRoutev6GetMsgRsp)(nil), // 5: SLRoutev6GetMsgRsp + (*SLRouteCommon)(nil), // 6: SLRouteCommon + (*SLRoutePath)(nil), // 7: SLRoutePath + (SLObjectOp)(0), // 8: SLObjectOp + (*SLErrorStatus)(nil), // 9: SLErrorStatus + (*SLRouteGlobalsGetMsg)(nil), // 10: SLRouteGlobalsGetMsg + (*SLRouteGlobalStatsGetMsg)(nil), // 11: SLRouteGlobalStatsGetMsg + (*SLVrfRegMsg)(nil), // 12: SLVrfRegMsg + (*SLVrfRegGetMsg)(nil), // 13: SLVrfRegGetMsg + (*SLRouteGlobalsGetMsgRsp)(nil), // 14: SLRouteGlobalsGetMsgRsp + (*SLRouteGlobalStatsGetMsgRsp)(nil), // 15: SLRouteGlobalStatsGetMsgRsp + (*SLVrfRegMsgRsp)(nil), // 16: SLVrfRegMsgRsp + (*SLVrfRegGetMsgRsp)(nil), // 17: SLVrfRegGetMsgRsp + (*SLVRFGetStatsMsgRsp)(nil), // 18: SLVRFGetStatsMsgRsp +} +var file_sl_route_ipv6_proto_depIdxs = []int32{ + 6, // 0: SLRoutev6.RouteCommon:type_name -> SLRouteCommon + 7, // 1: SLRoutev6.PathList:type_name -> SLRoutePath + 8, // 2: SLRoutev6Msg.Oper:type_name -> SLObjectOp + 0, // 3: SLRoutev6Msg.Routes:type_name -> SLRoutev6 + 9, // 4: SLRoutev6Res.ErrStatus:type_name -> SLErrorStatus + 9, // 5: SLRoutev6MsgRsp.StatusSummary:type_name -> SLErrorStatus + 2, // 6: SLRoutev6MsgRsp.Results:type_name -> SLRoutev6Res + 9, // 7: SLRoutev6GetMsgRsp.ErrStatus:type_name -> SLErrorStatus + 0, // 8: SLRoutev6GetMsgRsp.Entries:type_name -> SLRoutev6 + 10, // 9: SLRoutev6Oper.SLRoutev6GlobalsGet:input_type -> SLRouteGlobalsGetMsg + 11, // 10: SLRoutev6Oper.SLRoutev6GlobalStatsGet:input_type -> SLRouteGlobalStatsGetMsg + 12, // 11: SLRoutev6Oper.SLRoutev6VrfRegOp:input_type -> SLVrfRegMsg + 13, // 12: SLRoutev6Oper.SLRoutev6VrfRegGet:input_type -> SLVrfRegGetMsg + 13, // 13: SLRoutev6Oper.SLRoutev6VrfGetStats:input_type -> SLVrfRegGetMsg + 1, // 14: SLRoutev6Oper.SLRoutev6Op:input_type -> SLRoutev6Msg + 4, // 15: SLRoutev6Oper.SLRoutev6Get:input_type -> SLRoutev6GetMsg + 1, // 16: SLRoutev6Oper.SLRoutev6OpStream:input_type -> SLRoutev6Msg + 4, // 17: SLRoutev6Oper.SLRoutev6GetStream:input_type -> SLRoutev6GetMsg + 14, // 18: SLRoutev6Oper.SLRoutev6GlobalsGet:output_type -> SLRouteGlobalsGetMsgRsp + 15, // 19: SLRoutev6Oper.SLRoutev6GlobalStatsGet:output_type -> SLRouteGlobalStatsGetMsgRsp + 16, // 20: SLRoutev6Oper.SLRoutev6VrfRegOp:output_type -> SLVrfRegMsgRsp + 17, // 21: SLRoutev6Oper.SLRoutev6VrfRegGet:output_type -> SLVrfRegGetMsgRsp + 18, // 22: SLRoutev6Oper.SLRoutev6VrfGetStats:output_type -> SLVRFGetStatsMsgRsp + 3, // 23: SLRoutev6Oper.SLRoutev6Op:output_type -> SLRoutev6MsgRsp + 5, // 24: SLRoutev6Oper.SLRoutev6Get:output_type -> SLRoutev6GetMsgRsp + 3, // 25: SLRoutev6Oper.SLRoutev6OpStream:output_type -> SLRoutev6MsgRsp + 5, // 26: SLRoutev6Oper.SLRoutev6GetStream:output_type -> SLRoutev6GetMsgRsp + 18, // [18:27] is the sub-list for method output_type + 9, // [9:18] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name +} + +func init() { file_sl_route_ipv6_proto_init() } +func file_sl_route_ipv6_proto_init() { + if File_sl_route_ipv6_proto != nil { + return + } + file_sl_common_types_proto_init() + file_sl_route_common_proto_init() + if !protoimpl.UnsafeEnabled { + file_sl_route_ipv6_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLRoutev6); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sl_route_ipv6_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLRoutev6Msg); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sl_route_ipv6_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLRoutev6Res); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sl_route_ipv6_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLRoutev6MsgRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sl_route_ipv6_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLRoutev6GetMsg); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sl_route_ipv6_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SLRoutev6GetMsgRsp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_sl_route_ipv6_proto_rawDesc, + NumEnums: 0, + NumMessages: 6, + NumExtensions: 0, + NumServices: 1, }, - }, - Metadata: "sl_route_ipv6.proto", -} - -func init() { proto.RegisterFile("sl_route_ipv6.proto", fileDescriptor3) } - -var fileDescriptor3 = []byte{ - // 647 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x55, 0x5f, 0x8f, 0xd2, 0x4e, - 0x14, 0xcd, 0x2c, 0x2c, 0xbb, 0x5c, 0x96, 0xdf, 0x4f, 0x67, 0xfd, 0x53, 0xd7, 0x75, 0x53, 0x6b, - 0xa2, 0x8d, 0x89, 0x64, 0x83, 0x91, 0x07, 0x1f, 0x7c, 0x90, 0x20, 0x89, 0x61, 0x61, 0x1d, 0x74, - 0x13, 0xe3, 0x03, 0x29, 0x64, 0x40, 0x4c, 0x4b, 0x9b, 0x99, 0x81, 0x2c, 0x6f, 0x7e, 0x1d, 0x3f, - 0x81, 0xf1, 0xc9, 0x37, 0x9f, 0xfd, 0x48, 0x66, 0xa6, 0x2d, 0x4c, 0x81, 0x76, 0xd1, 0x7d, 0xa3, - 0xf7, 0x9e, 0x7b, 0xee, 0x39, 0xf7, 0xde, 0x16, 0x38, 0xe4, 0x6e, 0x8f, 0xf9, 0x53, 0x41, 0x7b, - 0xe3, 0x60, 0x56, 0xab, 0x04, 0xcc, 0x17, 0x3e, 0x2e, 0x73, 0xca, 0x66, 0xe3, 0x01, 0xed, 0xb9, - 0xce, 0x9c, 0xb2, 0xa3, 0xdb, 0xdc, 0xed, 0x0d, 0x7c, 0xcf, 0xf3, 0x27, 0x3d, 0x31, 0x0f, 0x28, - 0x0f, 0x51, 0x2a, 0x1c, 0x96, 0x86, 0xc9, 0x30, 0x6c, 0xfd, 0x40, 0x50, 0xec, 0xb6, 0x88, 0x4c, - 0xcc, 0x6a, 0xf8, 0x0e, 0x14, 0xce, 0x19, 0x1d, 0x8e, 0x2f, 0x0d, 0x64, 0x22, 0xfb, 0x80, 0x44, - 0x4f, 0xf8, 0x18, 0x8a, 0xe1, 0xaf, 0x16, 0x9d, 0x18, 0x3b, 0x26, 0xb2, 0xcb, 0x64, 0x19, 0xc0, - 0xaf, 0xa0, 0xa4, 0x08, 0xea, 0x8a, 0xd8, 0xc8, 0x99, 0xc8, 0x2e, 0x55, 0x8f, 0x2b, 0x09, 0x59, - 0x95, 0xa8, 0x49, 0x88, 0x21, 0x7a, 0x01, 0xae, 0xc1, 0xfe, 0xb9, 0x23, 0x3e, 0xb7, 0xc6, 0x5c, - 0x18, 0x79, 0x33, 0x67, 0x97, 0xaa, 0x47, 0x9b, 0x8b, 0x25, 0x8a, 0x2c, 0xb0, 0xd6, 0x37, 0x04, - 0x07, 0x0b, 0xed, 0x67, 0x7c, 0x84, 0x9f, 0x41, 0xbe, 0x13, 0x50, 0xa6, 0xc4, 0xff, 0x57, 0xbd, - 0xb7, 0x46, 0xd2, 0xe9, 0x7f, 0xa1, 0x03, 0xd1, 0x09, 0x88, 0x82, 0xe1, 0x13, 0x80, 0xba, 0xcf, - 0x18, 0x75, 0x1d, 0xe1, 0x33, 0x65, 0x2b, 0x4f, 0xb4, 0x08, 0x36, 0x60, 0xef, 0x82, 0x0d, 0xdb, - 0x8e, 0x47, 0x95, 0xa7, 0x22, 0x89, 0x1f, 0xf1, 0x29, 0x14, 0x54, 0x5b, 0x1e, 0xe9, 0x35, 0x36, - 0xeb, 0x9d, 0xd5, 0x48, 0x84, 0xb3, 0xbe, 0xea, 0x5a, 0x09, 0xe5, 0xf8, 0x25, 0x14, 0x1b, 0x8c, - 0x75, 0x85, 0x23, 0xa6, 0x5c, 0x09, 0xde, 0x34, 0xb2, 0x06, 0x63, 0x7e, 0x84, 0x21, 0x4b, 0xb8, - 0xb6, 0xa6, 0x9d, 0xf4, 0x35, 0xe5, 0x56, 0xd6, 0x64, 0xfd, 0x42, 0xf0, 0xbf, 0x3e, 0x2e, 0xc2, - 0x83, 0x95, 0x11, 0xa0, 0xac, 0x11, 0xec, 0x24, 0x47, 0xf0, 0x1a, 0xca, 0xa1, 0x9a, 0xee, 0xd4, - 0xf3, 0x1c, 0x36, 0x4f, 0x5d, 0xbb, 0xee, 0x21, 0x59, 0x82, 0x5f, 0xc0, 0x1e, 0xa1, 0x7c, 0xea, - 0x8a, 0x78, 0x8e, 0xf7, 0x53, 0xe7, 0x48, 0x39, 0x89, 0xb1, 0xd6, 0x4f, 0xdd, 0x48, 0x93, 0x0a, - 0xb9, 0xfa, 0x7f, 0x37, 0xb2, 0x1c, 0x66, 0x2e, 0x7d, 0x98, 0xf9, 0xd5, 0x9b, 0xb7, 0xe0, 0xa0, - 0x31, 0x11, 0x6c, 0x4c, 0x79, 0xdd, 0x9f, 0x4e, 0x84, 0xb1, 0xab, 0x00, 0x89, 0x98, 0xec, 0xd9, - 0xa4, 0xa2, 0x4d, 0x2f, 0x85, 0x51, 0x30, 0x91, 0xbd, 0x4f, 0xe2, 0x47, 0xeb, 0x37, 0x02, 0xbc, - 0xe2, 0x60, 0x9b, 0x6d, 0xdc, 0x80, 0x5c, 0xc3, 0x1f, 0x2a, 0x03, 0xfb, 0x44, 0xfe, 0xcc, 0x38, - 0xd1, 0xc4, 0x7d, 0xe5, 0xff, 0xee, 0xbe, 0xaa, 0xb0, 0x17, 0x19, 0x31, 0x76, 0xaf, 0xb8, 0xef, - 0x18, 0x58, 0xfd, 0x5e, 0x80, 0xf2, 0x22, 0xac, 0x5e, 0xaf, 0x3e, 0x1c, 0x2e, 0x3d, 0xba, 0x7e, - 0xdf, 0x71, 0x79, 0x93, 0x0a, 0xfc, 0x68, 0x33, 0xd7, 0x12, 0x71, 0xc6, 0x47, 0x47, 0x8f, 0xb7, - 0x00, 0xc9, 0x89, 0x4d, 0xe0, 0xee, 0x4a, 0x0f, 0x69, 0x41, 0xf5, 0x79, 0x92, 0x45, 0x11, 0xa3, - 0x64, 0xaf, 0xa7, 0x5b, 0x02, 0x65, 0xbf, 0x36, 0xdc, 0x5c, 0xf4, 0xbb, 0x60, 0x43, 0x42, 0x47, - 0x9d, 0x00, 0xaf, 0x7f, 0xad, 0xc2, 0x94, 0x24, 0x7f, 0x90, 0x9e, 0x93, 0x7c, 0x1f, 0xb4, 0x3b, - 0x08, 0x13, 0x52, 0x7a, 0x5a, 0x51, 0x24, 0xd8, 0xcc, 0x4c, 0x4b, 0xda, 0x8f, 0x70, 0x4b, 0xa7, - 0x6d, 0x52, 0xa1, 0x7c, 0x5c, 0x45, 0x6c, 0xad, 0xa7, 0xc9, 0x9b, 0xb8, 0x38, 0xa2, 0x7e, 0x0b, - 0x25, 0x6d, 0xcd, 0x38, 0xf5, 0x8d, 0x95, 0x7c, 0x27, 0x19, 0x49, 0xc9, 0xf5, 0x4e, 0xfb, 0x26, - 0x4a, 0xdf, 0xa9, 0xf8, 0x48, 0xdf, 0xc3, 0xec, 0xbc, 0xa4, 0x7c, 0xaf, 0x2d, 0xa8, 0x13, 0x74, - 0x05, 0xa3, 0x8e, 0x77, 0x2d, 0x91, 0x36, 0x3a, 0x45, 0xf8, 0x53, 0xf2, 0x75, 0x8d, 0x68, 0xaf, - 0x2f, 0x57, 0x92, 0xf7, 0x0b, 0xea, 0x9f, 0xf8, 0xf9, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x27, - 0x27, 0x99, 0x86, 0xdd, 0x07, 0x00, 0x00, + GoTypes: file_sl_route_ipv6_proto_goTypes, + DependencyIndexes: file_sl_route_ipv6_proto_depIdxs, + MessageInfos: file_sl_route_ipv6_proto_msgTypes, + }.Build() + File_sl_route_ipv6_proto = out.File + file_sl_route_ipv6_proto_rawDesc = nil + file_sl_route_ipv6_proto_goTypes = nil + file_sl_route_ipv6_proto_depIdxs = nil } diff --git a/proto/sla/sl_route_ipv6.proto b/proto/sla/sl_route_ipv6.proto index f724cfd..543807c 100755 --- a/proto/sla/sl_route_ipv6.proto +++ b/proto/sla/sl_route_ipv6.proto @@ -9,7 +9,7 @@ // syntax = "proto3"; -package service_layer; +option go_package = "./service_layer"; import "sl_common_types.proto"; import "sl_route_common.proto"; diff --git a/proto/sla/sl_route_ipv6_grpc.pb.go b/proto/sla/sl_route_ipv6_grpc.pb.go new file mode 100644 index 0000000..92b5742 --- /dev/null +++ b/proto/sla/sl_route_ipv6_grpc.pb.go @@ -0,0 +1,538 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.5.0 +// source: sl_route_ipv6.proto + +package service_layer + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// SLRoutev6OperClient is the client API for SLRoutev6Oper service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type SLRoutev6OperClient interface { + // Used to retrieve Global Route information + SLRoutev6GlobalsGet(ctx context.Context, in *SLRouteGlobalsGetMsg, opts ...grpc.CallOption) (*SLRouteGlobalsGetMsgRsp, error) + // Used to retrieve Global Route Stats + SLRoutev6GlobalStatsGet(ctx context.Context, in *SLRouteGlobalStatsGetMsg, opts ...grpc.CallOption) (*SLRouteGlobalStatsGetMsgRsp, error) + // SLVrfRegMsg.Oper = SL_REGOP_REGISTER: + // VRF registration: Sends a list of VRF registration messages + // and expects a list of registration responses. + // A client Must Register a VRF BEFORE routes can be added/modified in + // the associated VRF. + // + // SLVrfRegMsg.Oper = SL_REGOP_UNREGISTER: + // VRF Un-registeration: Sends a list of VRF un-registration messages + // and expects a list of un-registration responses. + // This can be used to convey that the client is no longer interested + // in this VRF. All previously installed routes would be lost. + // + // SLVrfRegMsg.Oper = SL_REGOP_EOF: + // VRF End Of File message. + // After Registration, the client is expected to send an EOF + // message to convey the end of replay of the client's known objects. + // This is especially useful under certain restart scenarios when the + // client and the server are trying to synchronize their Routes. + SLRoutev6VrfRegOp(ctx context.Context, in *SLVrfRegMsg, opts ...grpc.CallOption) (*SLVrfRegMsgRsp, error) + // VRF get. Used to retrieve VRF attributes from the server. + SLRoutev6VrfRegGet(ctx context.Context, in *SLVrfRegGetMsg, opts ...grpc.CallOption) (*SLVrfRegGetMsgRsp, error) + // Used to retrieve VRF Stats from the server. + SLRoutev6VrfGetStats(ctx context.Context, in *SLVrfRegGetMsg, opts ...grpc.CallOption) (*SLVRFGetStatsMsgRsp, error) + // SLRoutev6Msg.Oper = SL_OBJOP_ADD: + // Route add. Fails if the route already exists. + // + // SLRoutev6Msg.Oper = SL_OBJOP_UPDATE: + // Route update. Creates or updates the route. + // + // SLRoutev6Msg.Oper = SL_OBJOP_DELETE: + // Route delete. The route path is not necessary to delete the route. + SLRoutev6Op(ctx context.Context, in *SLRoutev6Msg, opts ...grpc.CallOption) (*SLRoutev6MsgRsp, error) + // Retrieves route attributes. + SLRoutev6Get(ctx context.Context, in *SLRoutev6GetMsg, opts ...grpc.CallOption) (*SLRoutev6GetMsgRsp, error) + // SLRoutev6Msg.Oper = SL_OBJOP_ADD: + // Route add. Fails if the route already exists. + // + // SLRoutev6Msg.Oper = SL_OBJOP_UPDATE: + // Route update. Creates or updates the route. + // + // SLRoutev6Msg.Oper = SL_OBJOP_DELETE: + // Route delete. The route path is not necessary to delete the route. + SLRoutev6OpStream(ctx context.Context, opts ...grpc.CallOption) (SLRoutev6Oper_SLRoutev6OpStreamClient, error) + // Retrieves route attributes. + SLRoutev6GetStream(ctx context.Context, opts ...grpc.CallOption) (SLRoutev6Oper_SLRoutev6GetStreamClient, error) +} + +type sLRoutev6OperClient struct { + cc grpc.ClientConnInterface +} + +func NewSLRoutev6OperClient(cc grpc.ClientConnInterface) SLRoutev6OperClient { + return &sLRoutev6OperClient{cc} +} + +func (c *sLRoutev6OperClient) SLRoutev6GlobalsGet(ctx context.Context, in *SLRouteGlobalsGetMsg, opts ...grpc.CallOption) (*SLRouteGlobalsGetMsgRsp, error) { + out := new(SLRouteGlobalsGetMsgRsp) + err := c.cc.Invoke(ctx, "/SLRoutev6Oper/SLRoutev6GlobalsGet", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sLRoutev6OperClient) SLRoutev6GlobalStatsGet(ctx context.Context, in *SLRouteGlobalStatsGetMsg, opts ...grpc.CallOption) (*SLRouteGlobalStatsGetMsgRsp, error) { + out := new(SLRouteGlobalStatsGetMsgRsp) + err := c.cc.Invoke(ctx, "/SLRoutev6Oper/SLRoutev6GlobalStatsGet", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sLRoutev6OperClient) SLRoutev6VrfRegOp(ctx context.Context, in *SLVrfRegMsg, opts ...grpc.CallOption) (*SLVrfRegMsgRsp, error) { + out := new(SLVrfRegMsgRsp) + err := c.cc.Invoke(ctx, "/SLRoutev6Oper/SLRoutev6VrfRegOp", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sLRoutev6OperClient) SLRoutev6VrfRegGet(ctx context.Context, in *SLVrfRegGetMsg, opts ...grpc.CallOption) (*SLVrfRegGetMsgRsp, error) { + out := new(SLVrfRegGetMsgRsp) + err := c.cc.Invoke(ctx, "/SLRoutev6Oper/SLRoutev6VrfRegGet", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sLRoutev6OperClient) SLRoutev6VrfGetStats(ctx context.Context, in *SLVrfRegGetMsg, opts ...grpc.CallOption) (*SLVRFGetStatsMsgRsp, error) { + out := new(SLVRFGetStatsMsgRsp) + err := c.cc.Invoke(ctx, "/SLRoutev6Oper/SLRoutev6VrfGetStats", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sLRoutev6OperClient) SLRoutev6Op(ctx context.Context, in *SLRoutev6Msg, opts ...grpc.CallOption) (*SLRoutev6MsgRsp, error) { + out := new(SLRoutev6MsgRsp) + err := c.cc.Invoke(ctx, "/SLRoutev6Oper/SLRoutev6Op", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sLRoutev6OperClient) SLRoutev6Get(ctx context.Context, in *SLRoutev6GetMsg, opts ...grpc.CallOption) (*SLRoutev6GetMsgRsp, error) { + out := new(SLRoutev6GetMsgRsp) + err := c.cc.Invoke(ctx, "/SLRoutev6Oper/SLRoutev6Get", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sLRoutev6OperClient) SLRoutev6OpStream(ctx context.Context, opts ...grpc.CallOption) (SLRoutev6Oper_SLRoutev6OpStreamClient, error) { + stream, err := c.cc.NewStream(ctx, &SLRoutev6Oper_ServiceDesc.Streams[0], "/SLRoutev6Oper/SLRoutev6OpStream", opts...) + if err != nil { + return nil, err + } + x := &sLRoutev6OperSLRoutev6OpStreamClient{stream} + return x, nil +} + +type SLRoutev6Oper_SLRoutev6OpStreamClient interface { + Send(*SLRoutev6Msg) error + Recv() (*SLRoutev6MsgRsp, error) + grpc.ClientStream +} + +type sLRoutev6OperSLRoutev6OpStreamClient struct { + grpc.ClientStream +} + +func (x *sLRoutev6OperSLRoutev6OpStreamClient) Send(m *SLRoutev6Msg) error { + return x.ClientStream.SendMsg(m) +} + +func (x *sLRoutev6OperSLRoutev6OpStreamClient) Recv() (*SLRoutev6MsgRsp, error) { + m := new(SLRoutev6MsgRsp) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *sLRoutev6OperClient) SLRoutev6GetStream(ctx context.Context, opts ...grpc.CallOption) (SLRoutev6Oper_SLRoutev6GetStreamClient, error) { + stream, err := c.cc.NewStream(ctx, &SLRoutev6Oper_ServiceDesc.Streams[1], "/SLRoutev6Oper/SLRoutev6GetStream", opts...) + if err != nil { + return nil, err + } + x := &sLRoutev6OperSLRoutev6GetStreamClient{stream} + return x, nil +} + +type SLRoutev6Oper_SLRoutev6GetStreamClient interface { + Send(*SLRoutev6GetMsg) error + Recv() (*SLRoutev6GetMsgRsp, error) + grpc.ClientStream +} + +type sLRoutev6OperSLRoutev6GetStreamClient struct { + grpc.ClientStream +} + +func (x *sLRoutev6OperSLRoutev6GetStreamClient) Send(m *SLRoutev6GetMsg) error { + return x.ClientStream.SendMsg(m) +} + +func (x *sLRoutev6OperSLRoutev6GetStreamClient) Recv() (*SLRoutev6GetMsgRsp, error) { + m := new(SLRoutev6GetMsgRsp) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +// SLRoutev6OperServer is the server API for SLRoutev6Oper service. +// All implementations must embed UnimplementedSLRoutev6OperServer +// for forward compatibility +type SLRoutev6OperServer interface { + // Used to retrieve Global Route information + SLRoutev6GlobalsGet(context.Context, *SLRouteGlobalsGetMsg) (*SLRouteGlobalsGetMsgRsp, error) + // Used to retrieve Global Route Stats + SLRoutev6GlobalStatsGet(context.Context, *SLRouteGlobalStatsGetMsg) (*SLRouteGlobalStatsGetMsgRsp, error) + // SLVrfRegMsg.Oper = SL_REGOP_REGISTER: + // VRF registration: Sends a list of VRF registration messages + // and expects a list of registration responses. + // A client Must Register a VRF BEFORE routes can be added/modified in + // the associated VRF. + // + // SLVrfRegMsg.Oper = SL_REGOP_UNREGISTER: + // VRF Un-registeration: Sends a list of VRF un-registration messages + // and expects a list of un-registration responses. + // This can be used to convey that the client is no longer interested + // in this VRF. All previously installed routes would be lost. + // + // SLVrfRegMsg.Oper = SL_REGOP_EOF: + // VRF End Of File message. + // After Registration, the client is expected to send an EOF + // message to convey the end of replay of the client's known objects. + // This is especially useful under certain restart scenarios when the + // client and the server are trying to synchronize their Routes. + SLRoutev6VrfRegOp(context.Context, *SLVrfRegMsg) (*SLVrfRegMsgRsp, error) + // VRF get. Used to retrieve VRF attributes from the server. + SLRoutev6VrfRegGet(context.Context, *SLVrfRegGetMsg) (*SLVrfRegGetMsgRsp, error) + // Used to retrieve VRF Stats from the server. + SLRoutev6VrfGetStats(context.Context, *SLVrfRegGetMsg) (*SLVRFGetStatsMsgRsp, error) + // SLRoutev6Msg.Oper = SL_OBJOP_ADD: + // Route add. Fails if the route already exists. + // + // SLRoutev6Msg.Oper = SL_OBJOP_UPDATE: + // Route update. Creates or updates the route. + // + // SLRoutev6Msg.Oper = SL_OBJOP_DELETE: + // Route delete. The route path is not necessary to delete the route. + SLRoutev6Op(context.Context, *SLRoutev6Msg) (*SLRoutev6MsgRsp, error) + // Retrieves route attributes. + SLRoutev6Get(context.Context, *SLRoutev6GetMsg) (*SLRoutev6GetMsgRsp, error) + // SLRoutev6Msg.Oper = SL_OBJOP_ADD: + // Route add. Fails if the route already exists. + // + // SLRoutev6Msg.Oper = SL_OBJOP_UPDATE: + // Route update. Creates or updates the route. + // + // SLRoutev6Msg.Oper = SL_OBJOP_DELETE: + // Route delete. The route path is not necessary to delete the route. + SLRoutev6OpStream(SLRoutev6Oper_SLRoutev6OpStreamServer) error + // Retrieves route attributes. + SLRoutev6GetStream(SLRoutev6Oper_SLRoutev6GetStreamServer) error + mustEmbedUnimplementedSLRoutev6OperServer() +} + +// UnimplementedSLRoutev6OperServer must be embedded to have forward compatible implementations. +type UnimplementedSLRoutev6OperServer struct { +} + +func (UnimplementedSLRoutev6OperServer) SLRoutev6GlobalsGet(context.Context, *SLRouteGlobalsGetMsg) (*SLRouteGlobalsGetMsgRsp, error) { + return nil, status.Errorf(codes.Unimplemented, "method SLRoutev6GlobalsGet not implemented") +} +func (UnimplementedSLRoutev6OperServer) SLRoutev6GlobalStatsGet(context.Context, *SLRouteGlobalStatsGetMsg) (*SLRouteGlobalStatsGetMsgRsp, error) { + return nil, status.Errorf(codes.Unimplemented, "method SLRoutev6GlobalStatsGet not implemented") +} +func (UnimplementedSLRoutev6OperServer) SLRoutev6VrfRegOp(context.Context, *SLVrfRegMsg) (*SLVrfRegMsgRsp, error) { + return nil, status.Errorf(codes.Unimplemented, "method SLRoutev6VrfRegOp not implemented") +} +func (UnimplementedSLRoutev6OperServer) SLRoutev6VrfRegGet(context.Context, *SLVrfRegGetMsg) (*SLVrfRegGetMsgRsp, error) { + return nil, status.Errorf(codes.Unimplemented, "method SLRoutev6VrfRegGet not implemented") +} +func (UnimplementedSLRoutev6OperServer) SLRoutev6VrfGetStats(context.Context, *SLVrfRegGetMsg) (*SLVRFGetStatsMsgRsp, error) { + return nil, status.Errorf(codes.Unimplemented, "method SLRoutev6VrfGetStats not implemented") +} +func (UnimplementedSLRoutev6OperServer) SLRoutev6Op(context.Context, *SLRoutev6Msg) (*SLRoutev6MsgRsp, error) { + return nil, status.Errorf(codes.Unimplemented, "method SLRoutev6Op not implemented") +} +func (UnimplementedSLRoutev6OperServer) SLRoutev6Get(context.Context, *SLRoutev6GetMsg) (*SLRoutev6GetMsgRsp, error) { + return nil, status.Errorf(codes.Unimplemented, "method SLRoutev6Get not implemented") +} +func (UnimplementedSLRoutev6OperServer) SLRoutev6OpStream(SLRoutev6Oper_SLRoutev6OpStreamServer) error { + return status.Errorf(codes.Unimplemented, "method SLRoutev6OpStream not implemented") +} +func (UnimplementedSLRoutev6OperServer) SLRoutev6GetStream(SLRoutev6Oper_SLRoutev6GetStreamServer) error { + return status.Errorf(codes.Unimplemented, "method SLRoutev6GetStream not implemented") +} +func (UnimplementedSLRoutev6OperServer) mustEmbedUnimplementedSLRoutev6OperServer() {} + +// UnsafeSLRoutev6OperServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to SLRoutev6OperServer will +// result in compilation errors. +type UnsafeSLRoutev6OperServer interface { + mustEmbedUnimplementedSLRoutev6OperServer() +} + +func RegisterSLRoutev6OperServer(s grpc.ServiceRegistrar, srv SLRoutev6OperServer) { + s.RegisterService(&SLRoutev6Oper_ServiceDesc, srv) +} + +func _SLRoutev6Oper_SLRoutev6GlobalsGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SLRouteGlobalsGetMsg) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SLRoutev6OperServer).SLRoutev6GlobalsGet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/SLRoutev6Oper/SLRoutev6GlobalsGet", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SLRoutev6OperServer).SLRoutev6GlobalsGet(ctx, req.(*SLRouteGlobalsGetMsg)) + } + return interceptor(ctx, in, info, handler) +} + +func _SLRoutev6Oper_SLRoutev6GlobalStatsGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SLRouteGlobalStatsGetMsg) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SLRoutev6OperServer).SLRoutev6GlobalStatsGet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/SLRoutev6Oper/SLRoutev6GlobalStatsGet", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SLRoutev6OperServer).SLRoutev6GlobalStatsGet(ctx, req.(*SLRouteGlobalStatsGetMsg)) + } + return interceptor(ctx, in, info, handler) +} + +func _SLRoutev6Oper_SLRoutev6VrfRegOp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SLVrfRegMsg) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SLRoutev6OperServer).SLRoutev6VrfRegOp(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/SLRoutev6Oper/SLRoutev6VrfRegOp", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SLRoutev6OperServer).SLRoutev6VrfRegOp(ctx, req.(*SLVrfRegMsg)) + } + return interceptor(ctx, in, info, handler) +} + +func _SLRoutev6Oper_SLRoutev6VrfRegGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SLVrfRegGetMsg) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SLRoutev6OperServer).SLRoutev6VrfRegGet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/SLRoutev6Oper/SLRoutev6VrfRegGet", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SLRoutev6OperServer).SLRoutev6VrfRegGet(ctx, req.(*SLVrfRegGetMsg)) + } + return interceptor(ctx, in, info, handler) +} + +func _SLRoutev6Oper_SLRoutev6VrfGetStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SLVrfRegGetMsg) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SLRoutev6OperServer).SLRoutev6VrfGetStats(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/SLRoutev6Oper/SLRoutev6VrfGetStats", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SLRoutev6OperServer).SLRoutev6VrfGetStats(ctx, req.(*SLVrfRegGetMsg)) + } + return interceptor(ctx, in, info, handler) +} + +func _SLRoutev6Oper_SLRoutev6Op_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SLRoutev6Msg) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SLRoutev6OperServer).SLRoutev6Op(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/SLRoutev6Oper/SLRoutev6Op", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SLRoutev6OperServer).SLRoutev6Op(ctx, req.(*SLRoutev6Msg)) + } + return interceptor(ctx, in, info, handler) +} + +func _SLRoutev6Oper_SLRoutev6Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SLRoutev6GetMsg) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SLRoutev6OperServer).SLRoutev6Get(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/SLRoutev6Oper/SLRoutev6Get", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SLRoutev6OperServer).SLRoutev6Get(ctx, req.(*SLRoutev6GetMsg)) + } + return interceptor(ctx, in, info, handler) +} + +func _SLRoutev6Oper_SLRoutev6OpStream_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(SLRoutev6OperServer).SLRoutev6OpStream(&sLRoutev6OperSLRoutev6OpStreamServer{stream}) +} + +type SLRoutev6Oper_SLRoutev6OpStreamServer interface { + Send(*SLRoutev6MsgRsp) error + Recv() (*SLRoutev6Msg, error) + grpc.ServerStream +} + +type sLRoutev6OperSLRoutev6OpStreamServer struct { + grpc.ServerStream +} + +func (x *sLRoutev6OperSLRoutev6OpStreamServer) Send(m *SLRoutev6MsgRsp) error { + return x.ServerStream.SendMsg(m) +} + +func (x *sLRoutev6OperSLRoutev6OpStreamServer) Recv() (*SLRoutev6Msg, error) { + m := new(SLRoutev6Msg) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func _SLRoutev6Oper_SLRoutev6GetStream_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(SLRoutev6OperServer).SLRoutev6GetStream(&sLRoutev6OperSLRoutev6GetStreamServer{stream}) +} + +type SLRoutev6Oper_SLRoutev6GetStreamServer interface { + Send(*SLRoutev6GetMsgRsp) error + Recv() (*SLRoutev6GetMsg, error) + grpc.ServerStream +} + +type sLRoutev6OperSLRoutev6GetStreamServer struct { + grpc.ServerStream +} + +func (x *sLRoutev6OperSLRoutev6GetStreamServer) Send(m *SLRoutev6GetMsgRsp) error { + return x.ServerStream.SendMsg(m) +} + +func (x *sLRoutev6OperSLRoutev6GetStreamServer) Recv() (*SLRoutev6GetMsg, error) { + m := new(SLRoutev6GetMsg) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +// SLRoutev6Oper_ServiceDesc is the grpc.ServiceDesc for SLRoutev6Oper service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var SLRoutev6Oper_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "SLRoutev6Oper", + HandlerType: (*SLRoutev6OperServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "SLRoutev6GlobalsGet", + Handler: _SLRoutev6Oper_SLRoutev6GlobalsGet_Handler, + }, + { + MethodName: "SLRoutev6GlobalStatsGet", + Handler: _SLRoutev6Oper_SLRoutev6GlobalStatsGet_Handler, + }, + { + MethodName: "SLRoutev6VrfRegOp", + Handler: _SLRoutev6Oper_SLRoutev6VrfRegOp_Handler, + }, + { + MethodName: "SLRoutev6VrfRegGet", + Handler: _SLRoutev6Oper_SLRoutev6VrfRegGet_Handler, + }, + { + MethodName: "SLRoutev6VrfGetStats", + Handler: _SLRoutev6Oper_SLRoutev6VrfGetStats_Handler, + }, + { + MethodName: "SLRoutev6Op", + Handler: _SLRoutev6Oper_SLRoutev6Op_Handler, + }, + { + MethodName: "SLRoutev6Get", + Handler: _SLRoutev6Oper_SLRoutev6Get_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "SLRoutev6OpStream", + Handler: _SLRoutev6Oper_SLRoutev6OpStream_Handler, + ServerStreams: true, + ClientStreams: true, + }, + { + StreamName: "SLRoutev6GetStream", + Handler: _SLRoutev6Oper_SLRoutev6GetStream_Handler, + ServerStreams: true, + ClientStreams: true, + }, + }, + Metadata: "sl_route_ipv6.proto", +} diff --git a/proto/sla/sl_version.pb.go b/proto/sla/sl_version.pb.go index 90a44d0..7d344a5 100644 --- a/proto/sla/sl_version.pb.go +++ b/proto/sla/sl_version.pb.go @@ -1,17 +1,34 @@ -// Code generated by protoc-gen-go. +// @file +// @brief Specifies the API version number +// +// ---------------------------------------------------------------- +// Copyright (c) 2016 by cisco Systems, Inc. +// All rights reserved. +// ----------------------------------------------------------------- +// +// + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.0 +// protoc v3.5.0 // source: sl_version.proto -// DO NOT EDIT! package service_layer -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) // Service Layer API version. // This is used in the Global init message exchange to handshake client/server @@ -25,39 +42,109 @@ const ( SLVersion_SL_SUB_VERSION SLVersion = 1 ) -var SLVersion_name = map[int32]string{ - 0: "SL_VERSION_UNUSED", - // Duplicate value: 0: "SL_MAJOR_VERSION", - // Duplicate value: 0: "SL_MINOR_VERSION", - 1: "SL_SUB_VERSION", -} -var SLVersion_value = map[string]int32{ - "SL_VERSION_UNUSED": 0, - "SL_MAJOR_VERSION": 0, - "SL_MINOR_VERSION": 0, - "SL_SUB_VERSION": 1, +// Enum value maps for SLVersion. +var ( + SLVersion_name = map[int32]string{ + 0: "SL_VERSION_UNUSED", + // Duplicate value: 0: "SL_MAJOR_VERSION", + // Duplicate value: 0: "SL_MINOR_VERSION", + 1: "SL_SUB_VERSION", + } + SLVersion_value = map[string]int32{ + "SL_VERSION_UNUSED": 0, + "SL_MAJOR_VERSION": 0, + "SL_MINOR_VERSION": 0, + "SL_SUB_VERSION": 1, + } +) + +func (x SLVersion) Enum() *SLVersion { + p := new(SLVersion) + *p = x + return p } func (x SLVersion) String() string { - return proto.EnumName(SLVersion_name, int32(x)) + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SLVersion) Descriptor() protoreflect.EnumDescriptor { + return file_sl_version_proto_enumTypes[0].Descriptor() +} + +func (SLVersion) Type() protoreflect.EnumType { + return &file_sl_version_proto_enumTypes[0] } -func (SLVersion) EnumDescriptor() ([]byte, []int) { return fileDescriptor4, []int{0} } -func init() { - proto.RegisterEnum("service_layer.SLVersion", SLVersion_name, SLVersion_value) +func (x SLVersion) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func init() { proto.RegisterFile("sl_version.proto", fileDescriptor4) } +// Deprecated: Use SLVersion.Descriptor instead. +func (SLVersion) EnumDescriptor() ([]byte, []int) { + return file_sl_version_proto_rawDescGZIP(), []int{0} +} + +var File_sl_version_proto protoreflect.FileDescriptor + +var file_sl_version_proto_rawDesc = []byte{ + 0x0a, 0x10, 0x73, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2a, 0x66, 0x0a, 0x09, 0x53, 0x4c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x15, 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, + 0x55, 0x53, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x4c, 0x5f, 0x4d, 0x41, 0x4a, + 0x4f, 0x52, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, + 0x53, 0x4c, 0x5f, 0x4d, 0x49, 0x4e, 0x4f, 0x52, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, + 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x4c, 0x5f, 0x53, 0x55, 0x42, 0x5f, 0x56, 0x45, 0x52, + 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x1a, 0x02, 0x10, 0x01, 0x42, 0x11, 0x5a, 0x0f, 0x2e, 0x2f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_sl_version_proto_rawDescOnce sync.Once + file_sl_version_proto_rawDescData = file_sl_version_proto_rawDesc +) + +func file_sl_version_proto_rawDescGZIP() []byte { + file_sl_version_proto_rawDescOnce.Do(func() { + file_sl_version_proto_rawDescData = protoimpl.X.CompressGZIP(file_sl_version_proto_rawDescData) + }) + return file_sl_version_proto_rawDescData +} + +var file_sl_version_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_sl_version_proto_goTypes = []interface{}{ + (SLVersion)(0), // 0: SLVersion +} +var file_sl_version_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} -var fileDescriptor4 = []byte{ - // 130 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0x12, 0x28, 0xce, 0x89, 0x2f, - 0x4b, 0x2d, 0x2a, 0xce, 0xcc, 0xcf, 0xd3, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x2d, 0x4e, - 0x2d, 0x2a, 0xcb, 0x4c, 0x4e, 0x8d, 0xcf, 0x49, 0xac, 0x4c, 0x2d, 0xd2, 0x4a, 0xe3, 0xe2, 0x0c, - 0xf6, 0x09, 0x83, 0xa8, 0x10, 0x12, 0xe5, 0x12, 0x0c, 0xf6, 0x89, 0x0f, 0x73, 0x0d, 0x0a, 0xf6, - 0xf4, 0xf7, 0x8b, 0x0f, 0xf5, 0x0b, 0x0d, 0x76, 0x75, 0x11, 0x60, 0x10, 0x12, 0xe1, 0x12, 0x08, - 0xf6, 0x89, 0xf7, 0x75, 0xf4, 0xf2, 0x0f, 0x82, 0x49, 0x22, 0x44, 0x3d, 0xfd, 0x50, 0x44, 0x85, - 0xb8, 0xf8, 0x82, 0x7d, 0xe2, 0x83, 0x43, 0x9d, 0xe0, 0x62, 0x8c, 0x52, 0x4c, 0x02, 0x8c, 0x49, - 0x6c, 0x60, 0xdb, 0x8d, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xa8, 0xef, 0x8c, 0xa8, 0x91, 0x00, - 0x00, 0x00, +func init() { file_sl_version_proto_init() } +func file_sl_version_proto_init() { + if File_sl_version_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_sl_version_proto_rawDesc, + NumEnums: 1, + NumMessages: 0, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_sl_version_proto_goTypes, + DependencyIndexes: file_sl_version_proto_depIdxs, + EnumInfos: file_sl_version_proto_enumTypes, + }.Build() + File_sl_version_proto = out.File + file_sl_version_proto_rawDesc = nil + file_sl_version_proto_goTypes = nil + file_sl_version_proto_depIdxs = nil } diff --git a/proto/sla/sl_version.proto b/proto/sla/sl_version.proto index c1db792..713a6fa 100755 --- a/proto/sla/sl_version.proto +++ b/proto/sla/sl_version.proto @@ -9,7 +9,7 @@ // syntax = "proto3"; -package service_layer; +option go_package = "./service_layer"; // @addtogroup SLVersion // @ingroup Common diff --git a/proto/telemetry/bgp4/bgp_nbr_bag.pb.go b/proto/telemetry/bgp4/bgp_nbr_bag.pb.go index 187d81c..06a4506 100644 --- a/proto/telemetry/bgp4/bgp_nbr_bag.pb.go +++ b/proto/telemetry/bgp4/bgp_nbr_bag.pb.go @@ -1,4120 +1,6011 @@ -// Code generated by protoc-gen-go. -// source: bgp_nbr_bag.proto -// DO NOT EDIT! - -/* -Package cisco_ios_xr_ipv4_bgp_oper_bgp_instances_instance_instance_active_default_vrf_neighbors_neighbor is a generated protocol buffer package. - -It is generated from these files: - bgp_nbr_bag.proto - -It has these top-level messages: - BgpNbrBag_KEYS - BgpNbrBag - BgpTimespec - IPV4TunnelAddressType - IPV4MDTAddressType - RTConstraintAddressType - IPV6AddressType - BgpL2VpnAddrT - L2VPNEVPNAddressType - BgpL2VpnMspwAddrT - IPV6MVPNAddressType - IPV4MVPNAddressType - LS_LSAddressType - IPv4FlowspecAddressType - IPv6FlowspecAddressType - BgpAddrtype - BgpPerfNbrAf_ - BgpPerfNbr_ - BgpNbrGshut_ - BgpNbrAf_ - NbrAfP - BgpNotfntype_ - BgpNbrMsgStatsUnit - BgpNbrMsgStatsOp - BgpNbrMsgStats -*/ -package cisco_ios_xr_ipv4_bgp_oper_bgp_instances_instance_instance_active_default_vrf_neighbors_neighbor - -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package - -// BGP Neighbor Information +// Apache License +// Version 2.0, January 2004 +// http://www.apache.org/licenses/ +// +// TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +// +// 1. Definitions. +// +// "License" shall mean the terms and conditions for use, reproduction, +// and distribution as defined by Sections 1 through 9 of this document. +// +// "Licensor" shall mean the copyright owner or entity authorized by +// the copyright owner that is granting the License. +// +// "Legal Entity" shall mean the union of the acting entity and all +// other entities that control, are controlled by, or are under common +// control with that entity. For the purposes of this definition, +// "control" means (i) the power, direct or indirect, to cause the +// direction or management of such entity, whether by contract or +// otherwise, or (ii) ownership of fifty percent (50%) or more of the +// outstanding shares, or (iii) beneficial ownership of such entity. +// +// "You" (or "Your") shall mean an individual or Legal Entity +// exercising permissions granted by this License. +// +// "Source" form shall mean the preferred form for making modifications, +// including but not limited to software source code, documentation +// source, and configuration files. +// +// "Object" form shall mean any form resulting from mechanical +// transformation or translation of a Source form, including but +// not limited to compiled object code, generated documentation, +// and conversions to other media types. +// +// "Work" shall mean the work of authorship, whether in Source or +// Object form, made available under the License, as indicated by a +// copyright notice that is included in or attached to the work +// (an example is provided in the Appendix below). +// +// "Derivative Works" shall mean any work, whether in Source or Object +// form, that is based on (or derived from) the Work and for which the +// editorial revisions, annotations, elaborations, or other modifications +// represent, as a whole, an original work of authorship. For the purposes +// of this License, Derivative Works shall not include works that remain +// separable from, or merely link (or bind by name) to the interfaces of, +// the Work and Derivative Works thereof. +// +// "Contribution" shall mean any work of authorship, including +// the original version of the Work and any modifications or additions +// to that Work or Derivative Works thereof, that is intentionally +// submitted to Licensor for inclusion in the Work by the copyright owner +// or by an individual or Legal Entity authorized to submit on behalf of +// the copyright owner. For the purposes of this definition, "submitted" +// means any form of electronic, verbal, or written communication sent +// to the Licensor or its representatives, including but not limited to +// communication on electronic mailing lists, source code control systems, +// and issue tracking systems that are managed by, or on behalf of, the +// Licensor for the purpose of discussing and improving the Work, but +// excluding communication that is conspicuously marked or otherwise +// designated in writing by the copyright owner as "Not a Contribution." +// +// "Contributor" shall mean Licensor and any individual or Legal Entity +// on behalf of whom a Contribution has been received by Licensor and +// subsequently incorporated within the Work. +// +// 2. Grant of Copyright License. Subject to the terms and conditions of +// this License, each Contributor hereby grants to You a perpetual, +// worldwide, non-exclusive, no-charge, royalty-free, irrevocable +// copyright license to reproduce, prepare Derivative Works of, +// publicly display, publicly perform, sublicense, and distribute the +// Work and such Derivative Works in Source or Object form. +// +// 3. Grant of Patent License. Subject to the terms and conditions of +// this License, each Contributor hereby grants to You a perpetual, +// worldwide, non-exclusive, no-charge, royalty-free, irrevocable +// (except as stated in this section) patent license to make, have made, +// use, offer to sell, sell, import, and otherwise transfer the Work, +// where such license applies only to those patent claims licensable +// by such Contributor that are necessarily infringed by their +// Contribution(s) alone or by combination of their Contribution(s) +// with the Work to which such Contribution(s) was submitted. If You +// institute patent litigation against any entity (including a +// cross-claim or counterclaim in a lawsuit) alleging that the Work +// or a Contribution incorporated within the Work constitutes direct +// or contributory patent infringement, then any patent licenses +// granted to You under this License for that Work shall terminate +// as of the date such litigation is filed. +// +// 4. Redistribution. You may reproduce and distribute copies of the +// Work or Derivative Works thereof in any medium, with or without +// modifications, and in Source or Object form, provided that You +// meet the following conditions: +// +// (a) You must give any other recipients of the Work or +// Derivative Works a copy of this License; and +// +// (b) You must cause any modified files to carry prominent notices +// stating that You changed the files; and +// +// (c) You must retain, in the Source form of any Derivative Works +// that You distribute, all copyright, patent, trademark, and +// attribution notices from the Source form of the Work, +// excluding those notices that do not pertain to any part of +// the Derivative Works; and +// +// (d) If the Work includes a "NOTICE" text file as part of its +// distribution, then any Derivative Works that You distribute must +// include a readable copy of the attribution notices contained +// within such NOTICE file, excluding those notices that do not +// pertain to any part of the Derivative Works, in at least one +// of the following places: within a NOTICE text file distributed +// as part of the Derivative Works; within the Source form or +// documentation, if provided along with the Derivative Works; or, +// within a display generated by the Derivative Works, if and +// wherever such third-party notices normally appear. The contents +// of the NOTICE file are for informational purposes only and +// do not modify the License. You may add Your own attribution +// notices within Derivative Works that You distribute, alongside +// or as an addendum to the NOTICE text from the Work, provided +// that such additional attribution notices cannot be construed +// as modifying the License. +// +// You may add Your own copyright statement to Your modifications and +// may provide additional or different license terms and conditions +// for use, reproduction, or distribution of Your modifications, or +// for any such Derivative Works as a whole, provided Your use, +// reproduction, and distribution of the Work otherwise complies with +// the conditions stated in this License. +// +// 5. Submission of Contributions. Unless You explicitly state otherwise, +// any Contribution intentionally submitted for inclusion in the Work +// by You to the Licensor shall be under the terms and conditions of +// this License, without any additional terms or conditions. +// Notwithstanding the above, nothing herein shall supersede or modify +// the terms of any separate license agreement you may have executed +// with Licensor regarding such Contributions. +// +// 6. Trademarks. This License does not grant permission to use the trade +// names, trademarks, service marks, or product names of the Licensor, +// except as required for reasonable and customary use in describing the +// origin of the Work and reproducing the content of the NOTICE file. +// +// 7. Disclaimer of Warranty. Unless required by applicable law or +// agreed to in writing, Licensor provides the Work (and each +// Contributor provides its Contributions) on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +// implied, including, without limitation, any warranties or conditions +// of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A +// PARTICULAR PURPOSE. You are solely responsible for determining the +// appropriateness of using or redistributing the Work and assume any +// risks associated with Your exercise of permissions under this License. +// +// 8. Limitation of Liability. In no event and under no legal theory, +// whether in tort (including negligence), contract, or otherwise, +// unless required by applicable law (such as deliberate and grossly +// negligent acts) or agreed to in writing, shall any Contributor be +// liable to You for damages, including any direct, indirect, special, +// incidental, or consequential damages of any character arising as a +// result of this License or out of the use or inability to use the +// Work (including but not limited to damages for loss of goodwill, +// work stoppage, computer failure or malfunction, or any and all +// other commercial damages or losses), even if such Contributor +// has been advised of the possibility of such damages. +// +// 9. Accepting Warranty or Additional Liability. While redistributing +// the Work or Derivative Works thereof, You may choose to offer, +// and charge a fee for, acceptance of support, warranty, indemnity, +// or other liability obligations and/or rights consistent with this +// License. However, in accepting such obligations, You may act only +// on Your own behalf and on Your sole responsibility, not on behalf +// of any other Contributor, and only if You agree to indemnify, +// defend, and hold each Contributor harmless for any liability +// incurred by, or claims asserted against, such Contributor by reason +// of your accepting any such warranty or additional liability. +// +// END OF TERMS AND CONDITIONS +// +// APPENDIX: How to apply the Apache License to your work. +// +// To apply the Apache License to your work, attach the following +// boilerplate notice, with the fields enclosed by brackets "{}" +// replaced with your own identifying information. (Don't include +// the brackets!) The text should be enclosed in the appropriate +// comment syntax for the file format. We also recommend that a +// file or class name and description of purpose be included on the +// same "printed page" as the copyright notice for easier +// identification within third-party archives. +// +// Copyright (c) 2017 Cisco +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.0 +// protoc v3.5.0 +// source: proto/telemetry/bgp/bgp_nbr_bag.proto + +package bgp + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + type BgpNbrBag_KEYS struct { - InstanceName string `protobuf:"bytes,1,opt,name=instance_name,json=instanceName" json:"instance_name,omitempty"` - NeighborAddress string `protobuf:"bytes,2,opt,name=neighbor_address,json=neighborAddress" json:"neighbor_address,omitempty"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + InstanceName string `protobuf:"bytes,1,opt,name=instance_name,json=instanceName,proto3" json:"instance_name,omitempty"` + NeighborAddress string `protobuf:"bytes,2,opt,name=neighbor_address,json=neighborAddress,proto3" json:"neighbor_address,omitempty"` +} + +func (x *BgpNbrBag_KEYS) Reset() { + *x = BgpNbrBag_KEYS{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BgpNbrBag_KEYS) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *BgpNbrBag_KEYS) Reset() { *m = BgpNbrBag_KEYS{} } -func (m *BgpNbrBag_KEYS) String() string { return proto.CompactTextString(m) } -func (*BgpNbrBag_KEYS) ProtoMessage() {} -func (*BgpNbrBag_KEYS) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } +func (*BgpNbrBag_KEYS) ProtoMessage() {} -func (m *BgpNbrBag_KEYS) GetInstanceName() string { - if m != nil { - return m.InstanceName +func (x *BgpNbrBag_KEYS) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) +} + +// Deprecated: Use BgpNbrBag_KEYS.ProtoReflect.Descriptor instead. +func (*BgpNbrBag_KEYS) Descriptor() ([]byte, []int) { + return file_proto_telemetry_bgp_bgp_nbr_bag_proto_rawDescGZIP(), []int{0} } -func (m *BgpNbrBag_KEYS) GetNeighborAddress() string { - if m != nil { - return m.NeighborAddress +func (x *BgpNbrBag_KEYS) GetInstanceName() string { + if x != nil { + return x.InstanceName } return "" } -type BgpNbrBag struct { - // Speaker this neighbor is allocated to - SpeakerId uint32 `protobuf:"varint,50,opt,name=speaker_id,json=speakerId" json:"speaker_id,omitempty"` - // Description - Description string `protobuf:"bytes,51,opt,name=description" json:"description,omitempty"` - // Local AS number - LocalAs uint32 `protobuf:"varint,52,opt,name=local_as,json=localAs" json:"local_as,omitempty"` - // Remote AS number - RemoteAs uint32 `protobuf:"varint,53,opt,name=remote_as,json=remoteAs" json:"remote_as,omitempty"` - // Internal link to neighbor - HasInternalLink string `protobuf:"bytes,54,opt,name=has_internal_link,json=hasInternalLink" json:"has_internal_link,omitempty"` - // External neighbor not directly connected - IsExternalNeighborNotDirectlyConnected string `protobuf:"bytes,55,opt,name=is_external_neighbor_not_directly_connected,json=isExternalNeighborNotDirectlyConnected" json:"is_external_neighbor_not_directly_connected,omitempty"` - // Number of messages received - MessagesReceived uint32 `protobuf:"varint,56,opt,name=messages_received,json=messagesReceived" json:"messages_received,omitempty"` - // Number of messages sent - MessagesSent uint32 `protobuf:"varint,57,opt,name=messages_sent,json=messagesSent" json:"messages_sent,omitempty"` - // No. of update msgs received - UpdateMessagesIn uint32 `protobuf:"varint,58,opt,name=update_messages_in,json=updateMessagesIn" json:"update_messages_in,omitempty"` - // No. of update messages sent - UpdateMessagesOut uint32 `protobuf:"varint,59,opt,name=update_messages_out,json=updateMessagesOut" json:"update_messages_out,omitempty"` - // No. of msgs on receive queue - MessagesQueuedIn uint32 `protobuf:"varint,60,opt,name=messages_queued_in,json=messagesQueuedIn" json:"messages_queued_in,omitempty"` - // No. of messages on send queue - MessagesQueuedOut uint32 `protobuf:"varint,61,opt,name=messages_queued_out,json=messagesQueuedOut" json:"messages_queued_out,omitempty"` - // Time (in secs) that the connection has been established - ConnectionEstablishedTime uint32 `protobuf:"varint,62,opt,name=connection_established_time,json=connectionEstablishedTime" json:"connection_established_time,omitempty"` - // State of connection - ConnectionState string `protobuf:"bytes,63,opt,name=connection_state,json=connectionState" json:"connection_state,omitempty"` - // Previous state of connection - PreviousConnectionState uint32 `protobuf:"varint,64,opt,name=previous_connection_state,json=previousConnectionState" json:"previous_connection_state,omitempty"` - // Administrative status of connection - ConnectionAdminStatus uint32 `protobuf:"varint,65,opt,name=connection_admin_status,json=connectionAdminStatus" json:"connection_admin_status,omitempty"` - // Open check error code - OpenCheckErrorCode string `protobuf:"bytes,66,opt,name=open_check_error_code,json=openCheckErrorCode" json:"open_check_error_code,omitempty"` - // Local address for the connection - ConnectionLocalAddress *BgpAddrtype `protobuf:"bytes,67,opt,name=connection_local_address,json=connectionLocalAddress" json:"connection_local_address,omitempty"` - // Local address configured for the neighbor connection - IsLocalAddressConfigured string `protobuf:"bytes,68,opt,name=is_local_address_configured,json=isLocalAddressConfigured" json:"is_local_address_configured,omitempty"` - // Local port for the connection - ConnectionLocalPort uint32 `protobuf:"varint,69,opt,name=connection_local_port,json=connectionLocalPort" json:"connection_local_port,omitempty"` - // Remote address for the connection - ConnectionRemoteAddress *BgpAddrtype `protobuf:"bytes,70,opt,name=connection_remote_address,json=connectionRemoteAddress" json:"connection_remote_address,omitempty"` - // Remote port for the connection - ConnectionRemotePort uint32 `protobuf:"varint,71,opt,name=connection_remote_port,json=connectionRemotePort" json:"connection_remote_port,omitempty"` - // Interface Handle of Neighbor - NeighborInterfaceHandle uint32 `protobuf:"varint,72,opt,name=neighbor_interface_handle,json=neighborInterfaceHandle" json:"neighbor_interface_handle,omitempty"` - // Notification was sent during last reset - ResetNotificationSent string `protobuf:"bytes,73,opt,name=reset_notification_sent,json=resetNotificationSent" json:"reset_notification_sent,omitempty"` - // Neighbor is administratively shut down - IsAdministrativelyShutDown string `protobuf:"bytes,74,opt,name=is_administratively_shut_down,json=isAdministrativelyShutDown" json:"is_administratively_shut_down,omitempty"` - // Neighbor shut down because it exceeded max prfx count - IsNeighborMaxPrefixShutdown string `protobuf:"bytes,75,opt,name=is_neighbor_max_prefix_shutdown,json=isNeighborMaxPrefixShutdown" json:"is_neighbor_max_prefix_shutdown,omitempty"` - // Neighbor shut down during a SEVERE low memory condition - IsOutOfMemoryShutdown string `protobuf:"bytes,76,opt,name=is_out_of_memory_shutdown,json=isOutOfMemoryShutdown" json:"is_out_of_memory_shutdown,omitempty"` - // Neighbor forced up during a low memory condition - IsOutOfMemoryForcedUp string `protobuf:"bytes,77,opt,name=is_out_of_memory_forced_up,json=isOutOfMemoryForcedUp" json:"is_out_of_memory_forced_up,omitempty"` - // EBGP peer belongs to AS League - IsEbgpPeerAsLeague string `protobuf:"bytes,78,opt,name=is_ebgp_peer_as_league,json=isEbgpPeerAsLeague" json:"is_ebgp_peer_as_league,omitempty"` - // EBGP peer with common administation - IsEbgpPeerCommonAdmin string `protobuf:"bytes,79,opt,name=is_ebgp_peer_common_admin,json=isEbgpPeerCommonAdmin" json:"is_ebgp_peer_common_admin,omitempty"` - // TTL Security enabled - TtlSecurityEnabled string `protobuf:"bytes,80,opt,name=ttl_security_enabled,json=ttlSecurityEnabled" json:"ttl_security_enabled,omitempty"` - // Suppress 4byteas capability - Suppress4ByteAs string `protobuf:"bytes,81,opt,name=suppress4_byte_as,json=suppress4ByteAs" json:"suppress4_byte_as,omitempty"` - // BFD state for this peer - BfdSessionState string `protobuf:"bytes,82,opt,name=bfd_session_state,json=bfdSessionState" json:"bfd_session_state,omitempty"` - // BFD state for this peer - BfdSessionCreatedState string `protobuf:"bytes,83,opt,name=bfd_session_created_state,json=bfdSessionCreatedState" json:"bfd_session_created_state,omitempty"` - // BFD enable mode for this peer - BfdSessionEnableMode string `protobuf:"bytes,84,opt,name=bfd_session_enable_mode,json=bfdSessionEnableMode" json:"bfd_session_enable_mode,omitempty"` - // BFD Mininterval for this peer - BfdMinintervalval uint32 `protobuf:"varint,85,opt,name=bfd_minintervalval,json=bfdMinintervalval" json:"bfd_minintervalval,omitempty"` - // BFD Multiplier for this peer - BfdMultiplierval uint32 `protobuf:"varint,86,opt,name=bfd_multiplierval,json=bfdMultiplierval" json:"bfd_multiplierval,omitempty"` - // Timestamp since when nbr is in this bfd state - BfdStateTs uint64 `protobuf:"varint,87,opt,name=bfd_state_ts,json=bfdStateTs" json:"bfd_state_ts,omitempty"` - // Router ID for the neighbor - RouterId string `protobuf:"bytes,88,opt,name=router_id,json=routerId" json:"router_id,omitempty"` - // Negotiated protocol version - NegotiatedProtocolVersion uint32 `protobuf:"varint,89,opt,name=negotiated_protocol_version,json=negotiatedProtocolVersion" json:"negotiated_protocol_version,omitempty"` - // Maximum number of hops for external BGP neighbor - EbgpTimeToLive uint32 `protobuf:"varint,90,opt,name=ebgp_time_to_live,json=ebgpTimeToLive" json:"ebgp_time_to_live,omitempty"` - // If true, MPLS and NULL rewrite is disabled; if false, it is enabled - IsEbgpMultihopBgpmplsForwardingDisabled string `protobuf:"bytes,91,opt,name=is_ebgp_multihop_bgpmpls_forwarding_disabled,json=isEbgpMultihopBgpmplsForwardingDisabled" json:"is_ebgp_multihop_bgpmpls_forwarding_disabled,omitempty"` - // Neighbor TCP Maximum Segment size - Tcpmss uint32 `protobuf:"varint,92,opt,name=tcpmss" json:"tcpmss,omitempty"` - // Message in log count - MsgLogIn uint32 `protobuf:"varint,93,opt,name=msg_log_in,json=msgLogIn" json:"msg_log_in,omitempty"` - // Message out log count - MsgLogOut uint32 `protobuf:"varint,94,opt,name=msg_log_out,json=msgLogOut" json:"msg_log_out,omitempty"` - // Local AS configured on the neighbor - NeighborLocalAs uint32 `protobuf:"varint,95,opt,name=neighbor_local_as,json=neighborLocalAs" json:"neighbor_local_as,omitempty"` - // Option to not prepend the Local AS to announcements - LocalAsNoPrepend string `protobuf:"bytes,96,opt,name=local_as_no_prepend,json=localAsNoPrepend" json:"local_as_no_prepend,omitempty"` - // Capability negotiation suppressed - IsCapabilityNegotiationSuppressed string `protobuf:"bytes,97,opt,name=is_capability_negotiation_suppressed,json=isCapabilityNegotiationSuppressed" json:"is_capability_negotiation_suppressed,omitempty"` - // Capability negotiation performed - IsCapabilityNegotiationPerformed string `protobuf:"bytes,98,opt,name=is_capability_negotiation_performed,json=isCapabilityNegotiationPerformed" json:"is_capability_negotiation_performed,omitempty"` - // Route refresh capability received - IsRouteRefreshCapabilityReceived string `protobuf:"bytes,99,opt,name=is_route_refresh_capability_received,json=isRouteRefreshCapabilityReceived" json:"is_route_refresh_capability_received,omitempty"` - // Route refresh old capability received - IsRouteRefreshOldCapabilityReceived string `protobuf:"bytes,100,opt,name=is_route_refresh_old_capability_received,json=isRouteRefreshOldCapabilityReceived" json:"is_route_refresh_old_capability_received,omitempty"` - // GR awareness received - IsGrAware string `protobuf:"bytes,101,opt,name=is_gr_aware,json=isGrAware" json:"is_gr_aware,omitempty"` - // 4-byte AScapability received - Is4ByteAsCapabilityReceived string `protobuf:"bytes,102,opt,name=is4_byte_as_capability_received,json=is4ByteAsCapabilityReceived" json:"is4_byte_as_capability_received,omitempty"` - // 4-byte AScapability Snt - Is4ByteAsCapabilitySent string `protobuf:"bytes,103,opt,name=is4_byte_as_capability_sent,json=is4ByteAsCapabilitySent" json:"is4_byte_as_capability_sent,omitempty"` - // Multi-protocol capability has been received - MultiProtocolCapabilityReceived string `protobuf:"bytes,104,opt,name=multi_protocol_capability_received,json=multiProtocolCapabilityReceived" json:"multi_protocol_capability_received,omitempty"` - // Hold time (in secs) negotiated for this connection - HoldTime uint32 `protobuf:"varint,105,opt,name=hold_time,json=holdTime" json:"hold_time,omitempty"` - // Keepalive time (in secs) negotiated for this connection - KeepAliveTime uint32 `protobuf:"varint,106,opt,name=keep_alive_time,json=keepAliveTime" json:"keep_alive_time,omitempty"` - // Hold time (in secs) configured for this connection - ConfiguredHoldTime uint32 `protobuf:"varint,107,opt,name=configured_hold_time,json=configuredHoldTime" json:"configured_hold_time,omitempty"` - // Keepalive time (in secs) configured for this connection - ConfiguredKeepalive uint32 `protobuf:"varint,108,opt,name=configured_keepalive,json=configuredKeepalive" json:"configured_keepalive,omitempty"` - // Minimum acceptable hold time from neighbor (in secs) configured for this connection - ConfiguredMinAccHoldTime uint32 `protobuf:"varint,109,opt,name=configured_min_acc_hold_time,json=configuredMinAccHoldTime" json:"configured_min_acc_hold_time,omitempty"` - // Minimum advertisement interval, secs part - MinAdvertiseInterval uint32 `protobuf:"varint,110,opt,name=min_advertise_interval,json=minAdvertiseInterval" json:"min_advertise_interval,omitempty"` - // Minimum advertisement interval, msecs part - MinAdvertiseIntervalMsecs uint32 `protobuf:"varint,111,opt,name=min_advertise_interval_msecs,json=minAdvertiseIntervalMsecs" json:"min_advertise_interval_msecs,omitempty"` - // Minimum origination interval (in secs) - MinOriginationInterval uint32 `protobuf:"varint,112,opt,name=min_origination_interval,json=minOriginationInterval" json:"min_origination_interval,omitempty"` - // Time (in secs) for connect retry timer - ConnectRetryInterval uint32 `protobuf:"varint,113,opt,name=connect_retry_interval,json=connectRetryInterval" json:"connect_retry_interval,omitempty"` - // Time (in secs) since last update message was received - TimeSinceLastUpdate uint32 `protobuf:"varint,114,opt,name=time_since_last_update,json=timeSinceLastUpdate" json:"time_since_last_update,omitempty"` - // Time (in secs) since last read - TimeSinceLastRead uint32 `protobuf:"varint,115,opt,name=time_since_last_read,json=timeSinceLastRead" json:"time_since_last_read,omitempty"` - // Time (in secs) since last read before last reset - TimeSinceLastReadReset uint32 `protobuf:"varint,116,opt,name=time_since_last_read_reset,json=timeSinceLastReadReset" json:"time_since_last_read_reset,omitempty"` - // CB - TimeLastCb uint64 `protobuf:"varint,117,opt,name=time_last_cb,json=timeLastCb" json:"time_last_cb,omitempty"` - // Last CB before reset - TimeLastCbReset uint32 `protobuf:"varint,118,opt,name=time_last_cb_reset,json=timeLastCbReset" json:"time_last_cb_reset,omitempty"` - // FB - TimeLastFb uint64 `protobuf:"varint,119,opt,name=time_last_fb,json=timeLastFb" json:"time_last_fb,omitempty"` - // Count - CountLastWrite uint32 `protobuf:"varint,120,opt,name=count_last_write,json=countLastWrite" json:"count_last_write,omitempty"` - // Time (in secs) since last write - TimeSinceLastWrite uint32 `protobuf:"varint,121,opt,name=time_since_last_write,json=timeSinceLastWrite" json:"time_since_last_write,omitempty"` - // Attempted size of last write - AttemptedLastWriteBytes uint32 `protobuf:"varint,122,opt,name=attempted_last_write_bytes,json=attemptedLastWriteBytes" json:"attempted_last_write_bytes,omitempty"` - // Actual size of last write - ActualLastWriteBytes uint32 `protobuf:"varint,123,opt,name=actual_last_write_bytes,json=actualLastWriteBytes" json:"actual_last_write_bytes,omitempty"` - // Time (in secs) since second last write - TimeSinceSecondLastWrite uint32 `protobuf:"varint,124,opt,name=time_since_second_last_write,json=timeSinceSecondLastWrite" json:"time_since_second_last_write,omitempty"` - // Attempted size of second last write - AttemptedSecondLastWriteBytes uint32 `protobuf:"varint,125,opt,name=attempted_second_last_write_bytes,json=attemptedSecondLastWriteBytes" json:"attempted_second_last_write_bytes,omitempty"` - // Actual size of second last write - ActualSecondLastWriteBytes uint32 `protobuf:"varint,126,opt,name=actual_second_last_write_bytes,json=actualSecondLastWriteBytes" json:"actual_second_last_write_bytes,omitempty"` - // Time (in secs) since last write before last reset - TimeSinceLastWriteReset uint32 `protobuf:"varint,127,opt,name=time_since_last_write_reset,json=timeSinceLastWriteReset" json:"time_since_last_write_reset,omitempty"` - // Attempted size of last write before reset - AttemptedLastWriteResetBytes uint32 `protobuf:"varint,128,opt,name=attempted_last_write_reset_bytes,json=attemptedLastWriteResetBytes" json:"attempted_last_write_reset_bytes,omitempty"` - // Actual size of last write before reset - ActualLastWriteResetBytes uint32 `protobuf:"varint,129,opt,name=actual_last_write_reset_bytes,json=actualLastWriteResetBytes" json:"actual_last_write_reset_bytes,omitempty"` - // Time (in secs) since last write before last reset - TimeSinceSecondLastWriteReset uint32 `protobuf:"varint,130,opt,name=time_since_second_last_write_reset,json=timeSinceSecondLastWriteReset" json:"time_since_second_last_write_reset,omitempty"` - // Attempted size of second last write before reset - AttemptedSecondLastWriteResetBytes uint32 `protobuf:"varint,131,opt,name=attempted_second_last_write_reset_bytes,json=attemptedSecondLastWriteResetBytes" json:"attempted_second_last_write_reset_bytes,omitempty"` - // Actual size of second last write before reset - ActualSecondLastWriteResetBytes uint32 `protobuf:"varint,132,opt,name=actual_second_last_write_reset_bytes,json=actualSecondLastWriteResetBytes" json:"actual_second_last_write_reset_bytes,omitempty"` - // Time (in secs) since last write thread event - LastWriteEvent uint32 `protobuf:"varint,133,opt,name=last_write_event,json=lastWriteEvent" json:"last_write_event,omitempty"` - // Time (in secs) since second last write thread event - SecondLastWriteEvent uint32 `protobuf:"varint,134,opt,name=second_last_write_event,json=secondLastWriteEvent" json:"second_last_write_event,omitempty"` - // Time (in secs) since last KA timer expiry before reset - LastKAexpiryReset uint32 `protobuf:"varint,135,opt,name=last_k_aexpiry_reset,json=lastKAexpiryReset" json:"last_k_aexpiry_reset,omitempty"` - // Time (in secs) since second last KA timer expiry before reset - SecondLastKAexpiryReset uint32 `protobuf:"varint,136,opt,name=second_last_k_aexpiry_reset,json=secondLastKAexpiryReset" json:"second_last_k_aexpiry_reset,omitempty"` - // Duration (in secs) since last time that KA was not sent before reset - LastKAnotsentReset uint32 `protobuf:"varint,137,opt,name=last_k_anotsent_reset,json=lastKAnotsentReset" json:"last_k_anotsent_reset,omitempty"` - // Duration (in secs) since last time that an error was encountered after KA expiry - LastKAerrorReset uint32 `protobuf:"varint,138,opt,name=last_k_aerror_reset,json=lastKAerrorReset" json:"last_k_aerror_reset,omitempty"` - // Time (in secs) since the last KA timer start before reset - LastKAstartReset uint32 `protobuf:"varint,139,opt,name=last_k_astart_reset,json=lastKAstartReset" json:"last_k_astart_reset,omitempty"` - // Time (in secs) since the second last KA timer start before reset - SecondLastKAstartReset uint32 `protobuf:"varint,140,opt,name=second_last_k_astart_reset,json=secondLastKAstartReset" json:"second_last_k_astart_reset,omitempty"` - // Number of times the connection was established - ConnectionUpCount uint32 `protobuf:"varint,141,opt,name=connection_up_count,json=connectionUpCount" json:"connection_up_count,omitempty"` - // Number of times connection was dropped - ConnectionDownCount uint32 `protobuf:"varint,142,opt,name=connection_down_count,json=connectionDownCount" json:"connection_down_count,omitempty"` - // Time since the connection last went down (seconds) - TimeSinceConnectionLastDropped uint32 `protobuf:"varint,143,opt,name=time_since_connection_last_dropped,json=timeSinceConnectionLastDropped" json:"time_since_connection_last_dropped,omitempty"` - // Reason for last connection reset - ResetReason string `protobuf:"bytes,144,opt,name=reset_reason,json=resetReason" json:"reset_reason,omitempty"` - // Reason for last peer close event - PeerResetReason string `protobuf:"bytes,145,opt,name=peer_reset_reason,json=peerResetReason" json:"peer_reset_reason,omitempty"` - // If peer closed, error received from transport - PeerErrorCode uint32 `protobuf:"varint,146,opt,name=peer_error_code,json=peerErrorCode" json:"peer_error_code,omitempty"` - // Code for the last error notification seen on the connection - LastNotifyErrorCode uint32 `protobuf:"varint,147,opt,name=last_notify_error_code,json=lastNotifyErrorCode" json:"last_notify_error_code,omitempty"` - // Error subcode of the last error notification seen on the connection - LastNotifyErrorSubcode uint32 `protobuf:"varint,148,opt,name=last_notify_error_subcode,json=lastNotifyErrorSubcode" json:"last_notify_error_subcode,omitempty"` - // Information on the last notification sent - SendNotificationInfo *BgpNotfntype_ `protobuf:"bytes,149,opt,name=send_notification_info,json=sendNotificationInfo" json:"send_notification_info,omitempty"` - // Information on the last notification received - ReceivedNotificationInfo *BgpNotfntype_ `protobuf:"bytes,150,opt,name=received_notification_info,json=receivedNotificationInfo" json:"received_notification_info,omitempty"` - // Number of error notifications received on the connection - ErrorNotifiesReceived uint32 `protobuf:"varint,151,opt,name=error_notifies_received,json=errorNotifiesReceived" json:"error_notifies_received,omitempty"` - // Number of error notifications sent on the connection - ErrorNotifiesSent uint32 `protobuf:"varint,152,opt,name=error_notifies_sent,json=errorNotifiesSent" json:"error_notifies_sent,omitempty"` - // Remote AS number - RemoteAsNumber uint32 `protobuf:"varint,153,opt,name=remote_as_number,json=remoteAsNumber" json:"remote_as_number,omitempty"` - // Bandwidth of link to single-hop eBGP peer - DmzLinkBandwidth uint32 `protobuf:"varint,154,opt,name=dmz_link_bandwidth,json=dmzLinkBandwidth" json:"dmz_link_bandwidth,omitempty"` - // Receive Bandwidth of link to single-hop eBGP peer - EbgpRecvDmz string `protobuf:"bytes,155,opt,name=ebgp_recv_dmz,json=ebgpRecvDmz" json:"ebgp_recv_dmz,omitempty"` - // Ebgp send dmz link bw mode - EbgpSendDmzMode string `protobuf:"bytes,156,opt,name=ebgp_send_dmz_mode,json=ebgpSendDmzMode" json:"ebgp_send_dmz_mode,omitempty"` - // Precedence or DSCP type - TosType uint32 `protobuf:"varint,157,opt,name=tos_type,json=tosType" json:"tos_type,omitempty"` - // Precedence or DSCP value - TosValue uint32 `protobuf:"varint,158,opt,name=tos_value,json=tosValue" json:"tos_value,omitempty"` - // Performance statistics - PerformanceStatistics *BgpPerfNbr_ `protobuf:"bytes,159,opt,name=performance_statistics,json=performanceStatistics" json:"performance_statistics,omitempty"` - // Address family specific neighbor data - AfData []*NbrAfP `protobuf:"bytes,160,rep,name=af_data,json=afData" json:"af_data,omitempty"` - // The TCP mode to be used to set up BGP session with the neighbor - TcpSessionOpenMode string `protobuf:"bytes,161,opt,name=tcp_session_open_mode,json=tcpSessionOpenMode" json:"tcp_session_open_mode,omitempty"` - // Name of the VRF - VrfName string `protobuf:"bytes,162,opt,name=vrf_name,json=vrfName" json:"vrf_name,omitempty"` - // Standby RP socket inited for Active Open - StandbyRp string `protobuf:"bytes,163,opt,name=standby_rp,json=standbyRp" json:"standby_rp,omitempty"` - // Neighbor supports NSR - NsrEnabled string `protobuf:"bytes,164,opt,name=nsr_enabled,json=nsrEnabled" json:"nsr_enabled,omitempty"` - // Neighbor supports graceful-restart - GracefulRestartEnabledNbr string `protobuf:"bytes,165,opt,name=graceful_restart_enabled_nbr,json=gracefulRestartEnabledNbr" json:"graceful_restart_enabled_nbr,omitempty"` - // Neighbor restart time (in seconds) - GrRestartTime uint32 `protobuf:"varint,166,opt,name=gr_restart_time,json=grRestartTime" json:"gr_restart_time,omitempty"` - // Neighbor stale-path time (in seconds) - GrStalePathTime uint32 `protobuf:"varint,167,opt,name=gr_stale_path_time,json=grStalePathTime" json:"gr_stale_path_time,omitempty"` - // First standby SeqNo offset - FssnOffset uint32 `protobuf:"varint,168,opt,name=fssn_offset,json=fssnOffset" json:"fssn_offset,omitempty"` - // First standby PDU boundary SeqNo offset - FpbsnOffset uint32 `protobuf:"varint,169,opt,name=fpbsn_offset,json=fpbsnOffset" json:"fpbsn_offset,omitempty"` - // SeqNo of the last Ackd byte - LastAckdSeqNo uint32 `protobuf:"varint,170,opt,name=last_ackd_seq_no,json=lastAckdSeqNo" json:"last_ackd_seq_no,omitempty"` - // Total bytes written by write thread - BytesWritten uint32 `protobuf:"varint,171,opt,name=bytes_written,json=bytesWritten" json:"bytes_written,omitempty"` - // Total bytes read - BytesRead uint32 `protobuf:"varint,172,opt,name=bytes_read,json=bytesRead" json:"bytes_read,omitempty"` - // Total read bytes value insocket-lib - SocketReadBytes uint32 `protobuf:"varint,173,opt,name=socket_read_bytes,json=socketReadBytes" json:"socket_read_bytes,omitempty"` - // If true, socket read isdisabled - IsReadDisabled string `protobuf:"bytes,174,opt,name=is_read_disabled,json=isReadDisabled" json:"is_read_disabled,omitempty"` - // Total update bytes read - UpdateBytesRead uint32 `protobuf:"varint,175,opt,name=update_bytes_read,json=updateBytesRead" json:"update_bytes_read,omitempty"` - // NSR state - NsrState string `protobuf:"bytes,176,opt,name=nsr_state,json=nsrState" json:"nsr_state,omitempty"` - // If true, active socket canbe closed if passive openis received for a GRcapable neighbor - IsPassiveClose string `protobuf:"bytes,177,opt,name=is_passive_close,json=isPassiveClose" json:"is_passive_close,omitempty"` - // Neighbor enforce first AS - NbrEnforceFirstAs string `protobuf:"bytes,178,opt,name=nbr_enforce_first_as,json=nbrEnforceFirstAs" json:"nbr_enforce_first_as,omitempty"` - // BMP Servers to which the neighbor sends logs - ActiveBmpServers uint32 `protobuf:"varint,179,opt,name=active_bmp_servers,json=activeBmpServers" json:"active_bmp_servers,omitempty"` - // Cluster id - NbrClusterId uint32 `protobuf:"varint,180,opt,name=nbr_cluster_id,json=nbrClusterId" json:"nbr_cluster_id,omitempty"` - // Type of cluster_id:undefined/number/Ip address - NbrInCluster uint32 `protobuf:"varint,181,opt,name=nbr_in_cluster,json=nbrInCluster" json:"nbr_in_cluster,omitempty"` - // If true, the VPN client isan IBGP CE peer - IgnoreConnected string `protobuf:"bytes,182,opt,name=ignore_connected,json=ignoreConnected" json:"ignore_connected,omitempty"` - // If true, don't do NHconnected check for nbr - InternalVpnClient string `protobuf:"bytes,183,opt,name=internal_vpn_client,json=internalVpnClient" json:"internal_vpn_client,omitempty"` - // If true, socket has beenauto-armed for io control - IoArmed string `protobuf:"bytes,184,opt,name=io_armed,json=ioArmed" json:"io_armed,omitempty"` - // If true, socket has beenauto-armed for read - ReadArmed string `protobuf:"bytes,185,opt,name=read_armed,json=readArmed" json:"read_armed,omitempty"` - // If true, socket has beenauto-armed for write - WriteArmed string `protobuf:"bytes,186,opt,name=write_armed,json=writeArmed" json:"write_armed,omitempty"` - // Message statistics - MessageStatistics *BgpNbrMsgStats `protobuf:"bytes,187,opt,name=message_statistics,json=messageStatistics" json:"message_statistics,omitempty"` - // Remaining discard data (bytes) on Standby - DiscardDataBytes uint32 `protobuf:"varint,188,opt,name=discard_data_bytes,json=discardDataBytes" json:"discard_data_bytes,omitempty"` - // Local AS Replace-AS option - LocalAsReplaceAs string `protobuf:"bytes,189,opt,name=local_as_replace_as,json=localAsReplaceAs" json:"local_as_replace_as,omitempty"` - // Local AS Dual-AS option - LocalAsDualAs string `protobuf:"bytes,190,opt,name=local_as_dual_as,json=localAsDualAs" json:"local_as_dual_as,omitempty"` - // Applies only if Local AS Dual-AS option is enabled. Indicates if Dual-AS mode is native. - LocalAsDualAsModeNative string `protobuf:"bytes,191,opt,name=local_as_dual_as_mode_native,json=localAsDualAsModeNative" json:"local_as_dual_as_mode_native,omitempty"` - // Indicates if Egress Peer Engineering is enabled - EgressPeerEngineeringEnabled string `protobuf:"bytes,192,opt,name=egress_peer_engineering_enabled,json=egressPeerEngineeringEnabled" json:"egress_peer_engineering_enabled,omitempty"` - // Time When neighbor entered TCP Init Sync - TcpInitSyncTimeSpec *BgpTimespec `protobuf:"bytes,193,opt,name=tcp_init_sync_time_spec,json=tcpInitSyncTimeSpec" json:"tcp_init_sync_time_spec,omitempty"` - // Time when neighbor entered TCP Init Sync Phase Two - TcpInitSyncPhaseTwoTimeSpec *BgpTimespec `protobuf:"bytes,194,opt,name=tcp_init_sync_phase_two_time_spec,json=tcpInitSyncPhaseTwoTimeSpec" json:"tcp_init_sync_phase_two_time_spec,omitempty"` - // Time when neighbor entered TCP Init Sync Done - TcpInitSyncDoneTimeSpec *BgpTimespec `protobuf:"bytes,195,opt,name=tcp_init_sync_done_time_spec,json=tcpInitSyncDoneTimeSpec" json:"tcp_init_sync_done_time_spec,omitempty"` - // Discard AS4_PATH in case there is a discrepancy in merging AS_PATH and AS4_PATH,retain ASPATH - DiscardAs4Path uint32 `protobuf:"varint,196,opt,name=discard_as4_path,json=discardAs4Path" json:"discard_as4_path,omitempty"` - // Prefix validation disabled - RpkiDisable string `protobuf:"bytes,197,opt,name=rpki_disable,json=rpkiDisable" json:"rpki_disable,omitempty"` - // Prefix v. use validity - RpkiUseValidity string `protobuf:"bytes,198,opt,name=rpki_use_validity,json=rpkiUseValidity" json:"rpki_use_validity,omitempty"` - // Prefix v. allow invalid - RpkiAllowInvalid string `protobuf:"bytes,199,opt,name=rpki_allow_invalid,json=rpkiAllowInvalid" json:"rpki_allow_invalid,omitempty"` - // Prefix v. signal ibgp - RpkiSignalIbgp string `protobuf:"bytes,200,opt,name=rpki_signal_ibgp,json=rpkiSignalIbgp" json:"rpki_signal_ibgp,omitempty"` - // Graceful Maintenance - GracefulMaintenance *BgpNbrGshut_ `protobuf:"bytes,201,opt,name=graceful_maintenance,json=gracefulMaintenance" json:"graceful_maintenance,omitempty"` -} - -func (m *BgpNbrBag) Reset() { *m = BgpNbrBag{} } -func (m *BgpNbrBag) String() string { return proto.CompactTextString(m) } -func (*BgpNbrBag) ProtoMessage() {} -func (*BgpNbrBag) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } - -func (m *BgpNbrBag) GetSpeakerId() uint32 { - if m != nil { - return m.SpeakerId - } - return 0 -} - -func (m *BgpNbrBag) GetDescription() string { - if m != nil { - return m.Description +func (x *BgpNbrBag_KEYS) GetNeighborAddress() string { + if x != nil { + return x.NeighborAddress } return "" } -func (m *BgpNbrBag) GetLocalAs() uint32 { - if m != nil { - return m.LocalAs - } - return 0 +type BgpL2VpnAddrT struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + L2VpnAddress []uint32 `protobuf:"varint,1,rep,packed,name=l2vpn_address,json=l2vpnAddress,proto3" json:"l2vpn_address,omitempty"` } -func (m *BgpNbrBag) GetRemoteAs() uint32 { - if m != nil { - return m.RemoteAs +func (x *BgpL2VpnAddrT) Reset() { + *x = BgpL2VpnAddrT{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (m *BgpNbrBag) GetHasInternalLink() string { - if m != nil { - return m.HasInternalLink +func (x *BgpL2VpnAddrT) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BgpL2VpnAddrT) ProtoMessage() {} + +func (x *BgpL2VpnAddrT) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (m *BgpNbrBag) GetIsExternalNeighborNotDirectlyConnected() string { - if m != nil { - return m.IsExternalNeighborNotDirectlyConnected +// Deprecated: Use BgpL2VpnAddrT.ProtoReflect.Descriptor instead. +func (*BgpL2VpnAddrT) Descriptor() ([]byte, []int) { + return file_proto_telemetry_bgp_bgp_nbr_bag_proto_rawDescGZIP(), []int{1} +} + +func (x *BgpL2VpnAddrT) GetL2VpnAddress() []uint32 { + if x != nil { + return x.L2VpnAddress } - return "" + return nil +} + +type BgpL2VpnEvpnAddrT struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + L2VpnEvpnAddress []uint32 `protobuf:"varint,1,rep,packed,name=l2vpn_evpn_address,json=l2vpnEvpnAddress,proto3" json:"l2vpn_evpn_address,omitempty"` } -func (m *BgpNbrBag) GetMessagesReceived() uint32 { - if m != nil { - return m.MessagesReceived +func (x *BgpL2VpnEvpnAddrT) Reset() { + *x = BgpL2VpnEvpnAddrT{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (m *BgpNbrBag) GetMessagesSent() uint32 { - if m != nil { - return m.MessagesSent +func (x *BgpL2VpnEvpnAddrT) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BgpL2VpnEvpnAddrT) ProtoMessage() {} + +func (x *BgpL2VpnEvpnAddrT) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) +} + +// Deprecated: Use BgpL2VpnEvpnAddrT.ProtoReflect.Descriptor instead. +func (*BgpL2VpnEvpnAddrT) Descriptor() ([]byte, []int) { + return file_proto_telemetry_bgp_bgp_nbr_bag_proto_rawDescGZIP(), []int{2} } -func (m *BgpNbrBag) GetUpdateMessagesIn() uint32 { - if m != nil { - return m.UpdateMessagesIn +func (x *BgpL2VpnEvpnAddrT) GetL2VpnEvpnAddress() []uint32 { + if x != nil { + return x.L2VpnEvpnAddress } - return 0 + return nil } -func (m *BgpNbrBag) GetUpdateMessagesOut() uint32 { - if m != nil { - return m.UpdateMessagesOut +type BgpL2VpnMspwAddrT struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + L2VpnAddress []uint32 `protobuf:"varint,1,rep,packed,name=l2vpn_address,json=l2vpnAddress,proto3" json:"l2vpn_address,omitempty"` +} + +func (x *BgpL2VpnMspwAddrT) Reset() { + *x = BgpL2VpnMspwAddrT{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (m *BgpNbrBag) GetMessagesQueuedIn() uint32 { - if m != nil { - return m.MessagesQueuedIn +func (x *BgpL2VpnMspwAddrT) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BgpL2VpnMspwAddrT) ProtoMessage() {} + +func (x *BgpL2VpnMspwAddrT) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (m *BgpNbrBag) GetMessagesQueuedOut() uint32 { - if m != nil { - return m.MessagesQueuedOut +// Deprecated: Use BgpL2VpnMspwAddrT.ProtoReflect.Descriptor instead. +func (*BgpL2VpnMspwAddrT) Descriptor() ([]byte, []int) { + return file_proto_telemetry_bgp_bgp_nbr_bag_proto_rawDescGZIP(), []int{3} +} + +func (x *BgpL2VpnMspwAddrT) GetL2VpnAddress() []uint32 { + if x != nil { + return x.L2VpnAddress } - return 0 + return nil +} + +type BgpIpv4SrpolicyAddrT struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ipv4SrpolicyAddress []uint32 `protobuf:"varint,1,rep,packed,name=ipv4_srpolicy_address,json=ipv4SrpolicyAddress,proto3" json:"ipv4_srpolicy_address,omitempty"` } -func (m *BgpNbrBag) GetConnectionEstablishedTime() uint32 { - if m != nil { - return m.ConnectionEstablishedTime +func (x *BgpIpv4SrpolicyAddrT) Reset() { + *x = BgpIpv4SrpolicyAddrT{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (m *BgpNbrBag) GetConnectionState() string { - if m != nil { - return m.ConnectionState +func (x *BgpIpv4SrpolicyAddrT) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BgpIpv4SrpolicyAddrT) ProtoMessage() {} + +func (x *BgpIpv4SrpolicyAddrT) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (m *BgpNbrBag) GetPreviousConnectionState() uint32 { - if m != nil { - return m.PreviousConnectionState +// Deprecated: Use BgpIpv4SrpolicyAddrT.ProtoReflect.Descriptor instead. +func (*BgpIpv4SrpolicyAddrT) Descriptor() ([]byte, []int) { + return file_proto_telemetry_bgp_bgp_nbr_bag_proto_rawDescGZIP(), []int{4} +} + +func (x *BgpIpv4SrpolicyAddrT) GetIpv4SrpolicyAddress() []uint32 { + if x != nil { + return x.Ipv4SrpolicyAddress } - return 0 + return nil } -func (m *BgpNbrBag) GetConnectionAdminStatus() uint32 { - if m != nil { - return m.ConnectionAdminStatus +type BgpIpv6SrpolicyAddrT struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ipv6SrpolicyAddress []uint32 `protobuf:"varint,1,rep,packed,name=ipv6_srpolicy_address,json=ipv6SrpolicyAddress,proto3" json:"ipv6_srpolicy_address,omitempty"` +} + +func (x *BgpIpv6SrpolicyAddrT) Reset() { + *x = BgpIpv6SrpolicyAddrT{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (m *BgpNbrBag) GetOpenCheckErrorCode() string { - if m != nil { - return m.OpenCheckErrorCode +func (x *BgpIpv6SrpolicyAddrT) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BgpIpv6SrpolicyAddrT) ProtoMessage() {} + +func (x *BgpIpv6SrpolicyAddrT) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) +} + +// Deprecated: Use BgpIpv6SrpolicyAddrT.ProtoReflect.Descriptor instead. +func (*BgpIpv6SrpolicyAddrT) Descriptor() ([]byte, []int) { + return file_proto_telemetry_bgp_bgp_nbr_bag_proto_rawDescGZIP(), []int{5} } -func (m *BgpNbrBag) GetConnectionLocalAddress() *BgpAddrtype { - if m != nil { - return m.ConnectionLocalAddress +func (x *BgpIpv6SrpolicyAddrT) GetIpv6SrpolicyAddress() []uint32 { + if x != nil { + return x.Ipv6SrpolicyAddress } return nil } -func (m *BgpNbrBag) GetIsLocalAddressConfigured() string { - if m != nil { - return m.IsLocalAddressConfigured +type BgpAddrtype struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Afi string `protobuf:"bytes,1,opt,name=afi,proto3" json:"afi,omitempty"` + Ipv4Address string `protobuf:"bytes,2,opt,name=ipv4_address,json=ipv4Address,proto3" json:"ipv4_address,omitempty"` + Ipv4McastAddress string `protobuf:"bytes,3,opt,name=ipv4_mcast_address,json=ipv4McastAddress,proto3" json:"ipv4_mcast_address,omitempty"` + Ipv4LabelAddress string `protobuf:"bytes,4,opt,name=ipv4_label_address,json=ipv4LabelAddress,proto3" json:"ipv4_label_address,omitempty"` + Ipv4TunnelAddress string `protobuf:"bytes,5,opt,name=ipv4_tunnel_address,json=ipv4TunnelAddress,proto3" json:"ipv4_tunnel_address,omitempty"` + Ipv4MdtAddress string `protobuf:"bytes,6,opt,name=ipv4mdt_address,json=ipv4mdtAddress,proto3" json:"ipv4mdt_address,omitempty"` + Ipv4VpnAddress string `protobuf:"bytes,7,opt,name=ipv4vpn_address,json=ipv4vpnAddress,proto3" json:"ipv4vpn_address,omitempty"` + Ipv4VpnaMcastddress string `protobuf:"bytes,8,opt,name=ipv4vpna_mcastddress,json=ipv4vpnaMcastddress,proto3" json:"ipv4vpna_mcastddress,omitempty"` + Ipv6Address string `protobuf:"bytes,9,opt,name=ipv6_address,json=ipv6Address,proto3" json:"ipv6_address,omitempty"` + Ipv6McastAddress string `protobuf:"bytes,10,opt,name=ipv6_mcast_address,json=ipv6McastAddress,proto3" json:"ipv6_mcast_address,omitempty"` + IPv6LabelAddress string `protobuf:"bytes,11,opt,name=i_pv6_label_address,json=iPv6LabelAddress,proto3" json:"i_pv6_label_address,omitempty"` + Ipv6VpnAddress string `protobuf:"bytes,12,opt,name=ipv6vpn_address,json=ipv6vpnAddress,proto3" json:"ipv6vpn_address,omitempty"` + Ipv6VpnMcastAddress string `protobuf:"bytes,13,opt,name=ipv6vpn_mcast_address,json=ipv6vpnMcastAddress,proto3" json:"ipv6vpn_mcast_address,omitempty"` + L2VpnvplsAddress *BgpL2VpnAddrT `protobuf:"bytes,14,opt,name=l2vpnvpls_address,json=l2vpnvplsAddress,proto3" json:"l2vpnvpls_address,omitempty"` + RtConstraintAddress string `protobuf:"bytes,15,opt,name=rt_constraint_address,json=rtConstraintAddress,proto3" json:"rt_constraint_address,omitempty"` + Ipv6MvpnAddress string `protobuf:"bytes,16,opt,name=ipv6mvpn_address,json=ipv6mvpnAddress,proto3" json:"ipv6mvpn_address,omitempty"` + Ipv4MvpnAddress string `protobuf:"bytes,17,opt,name=ipv4mvpn_address,json=ipv4mvpnAddress,proto3" json:"ipv4mvpn_address,omitempty"` + L2VpnEvpnAddress *BgpL2VpnEvpnAddrT `protobuf:"bytes,18,opt,name=l2vpn_evpn_address,json=l2vpnEvpnAddress,proto3" json:"l2vpn_evpn_address,omitempty"` + LsLsAddress string `protobuf:"bytes,19,opt,name=ls_ls_address,json=lsLsAddress,proto3" json:"ls_ls_address,omitempty"` + L2VpnMspwAddress *BgpL2VpnMspwAddrT `protobuf:"bytes,20,opt,name=l2vpn_mspw_address,json=l2vpnMspwAddress,proto3" json:"l2vpn_mspw_address,omitempty"` + Ipv4FlowspecAddress string `protobuf:"bytes,21,opt,name=ipv4_flowspec_address,json=ipv4FlowspecAddress,proto3" json:"ipv4_flowspec_address,omitempty"` + Ipv6FlowspecAddress string `protobuf:"bytes,22,opt,name=ipv6_flowspec_address,json=ipv6FlowspecAddress,proto3" json:"ipv6_flowspec_address,omitempty"` + Ipv4VpnFlowspecAddress string `protobuf:"bytes,23,opt,name=ipv4vpn_flowspec_address,json=ipv4vpnFlowspecAddress,proto3" json:"ipv4vpn_flowspec_address,omitempty"` + Ipv6VpnFlowspecAddress string `protobuf:"bytes,24,opt,name=ipv6vpn_flowspec_address,json=ipv6vpnFlowspecAddress,proto3" json:"ipv6vpn_flowspec_address,omitempty"` + Ipv4SrPolicyAddress *BgpIpv4SrpolicyAddrT `protobuf:"bytes,25,opt,name=ipv4sr_policy_address,json=ipv4srPolicyAddress,proto3" json:"ipv4sr_policy_address,omitempty"` + Ipv6SrPolicyAddress *BgpIpv6SrpolicyAddrT `protobuf:"bytes,26,opt,name=ipv6sr_policy_address,json=ipv6srPolicyAddress,proto3" json:"ipv6sr_policy_address,omitempty"` +} + +func (x *BgpAddrtype) Reset() { + *x = BgpAddrtype{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (m *BgpNbrBag) GetConnectionLocalPort() uint32 { - if m != nil { - return m.ConnectionLocalPort +func (x *BgpAddrtype) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BgpAddrtype) ProtoMessage() {} + +func (x *BgpAddrtype) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) +} + +// Deprecated: Use BgpAddrtype.ProtoReflect.Descriptor instead. +func (*BgpAddrtype) Descriptor() ([]byte, []int) { + return file_proto_telemetry_bgp_bgp_nbr_bag_proto_rawDescGZIP(), []int{6} } -func (m *BgpNbrBag) GetConnectionRemoteAddress() *BgpAddrtype { - if m != nil { - return m.ConnectionRemoteAddress +func (x *BgpAddrtype) GetAfi() string { + if x != nil { + return x.Afi } - return nil + return "" } -func (m *BgpNbrBag) GetConnectionRemotePort() uint32 { - if m != nil { - return m.ConnectionRemotePort +func (x *BgpAddrtype) GetIpv4Address() string { + if x != nil { + return x.Ipv4Address } - return 0 + return "" } -func (m *BgpNbrBag) GetNeighborInterfaceHandle() uint32 { - if m != nil { - return m.NeighborInterfaceHandle +func (x *BgpAddrtype) GetIpv4McastAddress() string { + if x != nil { + return x.Ipv4McastAddress } - return 0 + return "" } -func (m *BgpNbrBag) GetResetNotificationSent() string { - if m != nil { - return m.ResetNotificationSent +func (x *BgpAddrtype) GetIpv4LabelAddress() string { + if x != nil { + return x.Ipv4LabelAddress } return "" } -func (m *BgpNbrBag) GetIsAdministrativelyShutDown() string { - if m != nil { - return m.IsAdministrativelyShutDown +func (x *BgpAddrtype) GetIpv4TunnelAddress() string { + if x != nil { + return x.Ipv4TunnelAddress } return "" } -func (m *BgpNbrBag) GetIsNeighborMaxPrefixShutdown() string { - if m != nil { - return m.IsNeighborMaxPrefixShutdown +func (x *BgpAddrtype) GetIpv4MdtAddress() string { + if x != nil { + return x.Ipv4MdtAddress } return "" } -func (m *BgpNbrBag) GetIsOutOfMemoryShutdown() string { - if m != nil { - return m.IsOutOfMemoryShutdown +func (x *BgpAddrtype) GetIpv4VpnAddress() string { + if x != nil { + return x.Ipv4VpnAddress } return "" } -func (m *BgpNbrBag) GetIsOutOfMemoryForcedUp() string { - if m != nil { - return m.IsOutOfMemoryForcedUp +func (x *BgpAddrtype) GetIpv4VpnaMcastddress() string { + if x != nil { + return x.Ipv4VpnaMcastddress } return "" } -func (m *BgpNbrBag) GetIsEbgpPeerAsLeague() string { - if m != nil { - return m.IsEbgpPeerAsLeague +func (x *BgpAddrtype) GetIpv6Address() string { + if x != nil { + return x.Ipv6Address } return "" } -func (m *BgpNbrBag) GetIsEbgpPeerCommonAdmin() string { - if m != nil { - return m.IsEbgpPeerCommonAdmin +func (x *BgpAddrtype) GetIpv6McastAddress() string { + if x != nil { + return x.Ipv6McastAddress } return "" } -func (m *BgpNbrBag) GetTtlSecurityEnabled() string { - if m != nil { - return m.TtlSecurityEnabled +func (x *BgpAddrtype) GetIPv6LabelAddress() string { + if x != nil { + return x.IPv6LabelAddress } return "" } -func (m *BgpNbrBag) GetSuppress4ByteAs() string { - if m != nil { - return m.Suppress4ByteAs +func (x *BgpAddrtype) GetIpv6VpnAddress() string { + if x != nil { + return x.Ipv6VpnAddress } return "" } -func (m *BgpNbrBag) GetBfdSessionState() string { - if m != nil { - return m.BfdSessionState +func (x *BgpAddrtype) GetIpv6VpnMcastAddress() string { + if x != nil { + return x.Ipv6VpnMcastAddress } return "" } -func (m *BgpNbrBag) GetBfdSessionCreatedState() string { - if m != nil { - return m.BfdSessionCreatedState +func (x *BgpAddrtype) GetL2VpnvplsAddress() *BgpL2VpnAddrT { + if x != nil { + return x.L2VpnvplsAddress + } + return nil +} + +func (x *BgpAddrtype) GetRtConstraintAddress() string { + if x != nil { + return x.RtConstraintAddress } return "" } -func (m *BgpNbrBag) GetBfdSessionEnableMode() string { - if m != nil { - return m.BfdSessionEnableMode +func (x *BgpAddrtype) GetIpv6MvpnAddress() string { + if x != nil { + return x.Ipv6MvpnAddress } return "" } -func (m *BgpNbrBag) GetBfdMinintervalval() uint32 { - if m != nil { - return m.BfdMinintervalval +func (x *BgpAddrtype) GetIpv4MvpnAddress() string { + if x != nil { + return x.Ipv4MvpnAddress } - return 0 + return "" } -func (m *BgpNbrBag) GetBfdMultiplierval() uint32 { - if m != nil { - return m.BfdMultiplierval +func (x *BgpAddrtype) GetL2VpnEvpnAddress() *BgpL2VpnEvpnAddrT { + if x != nil { + return x.L2VpnEvpnAddress } - return 0 + return nil } -func (m *BgpNbrBag) GetBfdStateTs() uint64 { - if m != nil { - return m.BfdStateTs +func (x *BgpAddrtype) GetLsLsAddress() string { + if x != nil { + return x.LsLsAddress } - return 0 + return "" +} + +func (x *BgpAddrtype) GetL2VpnMspwAddress() *BgpL2VpnMspwAddrT { + if x != nil { + return x.L2VpnMspwAddress + } + return nil } -func (m *BgpNbrBag) GetRouterId() string { - if m != nil { - return m.RouterId +func (x *BgpAddrtype) GetIpv4FlowspecAddress() string { + if x != nil { + return x.Ipv4FlowspecAddress } return "" } -func (m *BgpNbrBag) GetNegotiatedProtocolVersion() uint32 { - if m != nil { - return m.NegotiatedProtocolVersion +func (x *BgpAddrtype) GetIpv6FlowspecAddress() string { + if x != nil { + return x.Ipv6FlowspecAddress } - return 0 + return "" } -func (m *BgpNbrBag) GetEbgpTimeToLive() uint32 { - if m != nil { - return m.EbgpTimeToLive +func (x *BgpAddrtype) GetIpv4VpnFlowspecAddress() string { + if x != nil { + return x.Ipv4VpnFlowspecAddress } - return 0 + return "" } -func (m *BgpNbrBag) GetIsEbgpMultihopBgpmplsForwardingDisabled() string { - if m != nil { - return m.IsEbgpMultihopBgpmplsForwardingDisabled +func (x *BgpAddrtype) GetIpv6VpnFlowspecAddress() string { + if x != nil { + return x.Ipv6VpnFlowspecAddress } return "" } -func (m *BgpNbrBag) GetTcpmss() uint32 { - if m != nil { - return m.Tcpmss +func (x *BgpAddrtype) GetIpv4SrPolicyAddress() *BgpIpv4SrpolicyAddrT { + if x != nil { + return x.Ipv4SrPolicyAddress } - return 0 + return nil } -func (m *BgpNbrBag) GetMsgLogIn() uint32 { - if m != nil { - return m.MsgLogIn +func (x *BgpAddrtype) GetIpv6SrPolicyAddress() *BgpIpv6SrpolicyAddrT { + if x != nil { + return x.Ipv6SrPolicyAddress } - return 0 + return nil +} + +type BgpNotfntype_ struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TimeSinceLastNotification uint32 `protobuf:"varint,1,opt,name=time_since_last_notification,json=timeSinceLastNotification,proto3" json:"time_since_last_notification,omitempty"` + NotificationErrorCode uint32 `protobuf:"varint,2,opt,name=notification_error_code,json=notificationErrorCode,proto3" json:"notification_error_code,omitempty"` + NotificationErrorSubcode uint32 `protobuf:"varint,3,opt,name=notification_error_subcode,json=notificationErrorSubcode,proto3" json:"notification_error_subcode,omitempty"` + LastNotificationData []uint32 `protobuf:"varint,4,rep,packed,name=last_notification_data,json=lastNotificationData,proto3" json:"last_notification_data,omitempty"` +} + +func (x *BgpNotfntype_) Reset() { + *x = BgpNotfntype_{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BgpNotfntype_) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *BgpNbrBag) GetMsgLogOut() uint32 { - if m != nil { - return m.MsgLogOut +func (*BgpNotfntype_) ProtoMessage() {} + +func (x *BgpNotfntype_) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BgpNotfntype_.ProtoReflect.Descriptor instead. +func (*BgpNotfntype_) Descriptor() ([]byte, []int) { + return file_proto_telemetry_bgp_bgp_nbr_bag_proto_rawDescGZIP(), []int{7} +} + +func (x *BgpNotfntype_) GetTimeSinceLastNotification() uint32 { + if x != nil { + return x.TimeSinceLastNotification } return 0 } -func (m *BgpNbrBag) GetNeighborLocalAs() uint32 { - if m != nil { - return m.NeighborLocalAs +func (x *BgpNotfntype_) GetNotificationErrorCode() uint32 { + if x != nil { + return x.NotificationErrorCode } return 0 } -func (m *BgpNbrBag) GetLocalAsNoPrepend() string { - if m != nil { - return m.LocalAsNoPrepend +func (x *BgpNotfntype_) GetNotificationErrorSubcode() uint32 { + if x != nil { + return x.NotificationErrorSubcode } - return "" + return 0 } -func (m *BgpNbrBag) GetIsCapabilityNegotiationSuppressed() string { - if m != nil { - return m.IsCapabilityNegotiationSuppressed +func (x *BgpNotfntype_) GetLastNotificationData() []uint32 { + if x != nil { + return x.LastNotificationData } - return "" + return nil } -func (m *BgpNbrBag) GetIsCapabilityNegotiationPerformed() string { - if m != nil { - return m.IsCapabilityNegotiationPerformed +type BgpPerfNbr_ struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ReadThrottles uint32 `protobuf:"varint,1,opt,name=read_throttles,json=readThrottles,proto3" json:"read_throttles,omitempty"` + LowThrottledRead uint32 `protobuf:"varint,2,opt,name=low_throttled_read,json=lowThrottledRead,proto3" json:"low_throttled_read,omitempty"` + HighThrottledRead uint32 `protobuf:"varint,3,opt,name=high_throttled_read,json=highThrottledRead,proto3" json:"high_throttled_read,omitempty"` + TimeSinceLastThrottledRead uint32 `protobuf:"varint,4,opt,name=time_since_last_throttled_read,json=timeSinceLastThrottledRead,proto3" json:"time_since_last_throttled_read,omitempty"` + ReadCallsCount uint32 `protobuf:"varint,5,opt,name=read_calls_count,json=readCallsCount,proto3" json:"read_calls_count,omitempty"` + ReadMessagesCount uint32 `protobuf:"varint,6,opt,name=read_messages_count,json=readMessagesCount,proto3" json:"read_messages_count,omitempty"` + DataBytesRead uint32 `protobuf:"varint,7,opt,name=data_bytes_read,json=dataBytesRead,proto3" json:"data_bytes_read,omitempty"` + IoReadTime uint32 `protobuf:"varint,8,opt,name=io_read_time,json=ioReadTime,proto3" json:"io_read_time,omitempty"` + WriteCallsCount uint32 `protobuf:"varint,9,opt,name=write_calls_count,json=writeCallsCount,proto3" json:"write_calls_count,omitempty"` + DataBytesWritten uint32 `protobuf:"varint,10,opt,name=data_bytes_written,json=dataBytesWritten,proto3" json:"data_bytes_written,omitempty"` + IoWriteTime uint32 `protobuf:"varint,11,opt,name=io_write_time,json=ioWriteTime,proto3" json:"io_write_time,omitempty"` + LastSentSeqNo uint32 `protobuf:"varint,12,opt,name=last_sent_seq_no,json=lastSentSeqNo,proto3" json:"last_sent_seq_no,omitempty"` + WriteSubgroupCallsCount uint32 `protobuf:"varint,13,opt,name=write_subgroup_calls_count,json=writeSubgroupCallsCount,proto3" json:"write_subgroup_calls_count,omitempty"` + WriteSubgroupMessagesCount uint32 `protobuf:"varint,14,opt,name=write_subgroup_messages_count,json=writeSubgroupMessagesCount,proto3" json:"write_subgroup_messages_count,omitempty"` + SubgroupListTime uint32 `protobuf:"varint,15,opt,name=subgroup_list_time,json=subgroupListTime,proto3" json:"subgroup_list_time,omitempty"` + WriteQueueCallsCount uint32 `protobuf:"varint,16,opt,name=write_queue_calls_count,json=writeQueueCallsCount,proto3" json:"write_queue_calls_count,omitempty"` + WriteQueueMessagesCount uint32 `protobuf:"varint,17,opt,name=write_queue_messages_count,json=writeQueueMessagesCount,proto3" json:"write_queue_messages_count,omitempty"` + WriteQueueTime uint32 `protobuf:"varint,18,opt,name=write_queue_time,json=writeQueueTime,proto3" json:"write_queue_time,omitempty"` + InboundUpdateMessages uint32 `protobuf:"varint,19,opt,name=inbound_update_messages,json=inboundUpdateMessages,proto3" json:"inbound_update_messages,omitempty"` + InboundUpdateMessagesTime uint32 `protobuf:"varint,20,opt,name=inbound_update_messages_time,json=inboundUpdateMessagesTime,proto3" json:"inbound_update_messages_time,omitempty"` + MaximumReadSize uint32 `protobuf:"varint,21,opt,name=maximum_read_size,json=maximumReadSize,proto3" json:"maximum_read_size,omitempty"` + Actives uint32 `protobuf:"varint,22,opt,name=actives,proto3" json:"actives,omitempty"` + FailedPostActives uint32 `protobuf:"varint,23,opt,name=failed_post_actives,json=failedPostActives,proto3" json:"failed_post_actives,omitempty"` + Passives uint32 `protobuf:"varint,24,opt,name=passives,proto3" json:"passives,omitempty"` + RejectedPassives uint32 `protobuf:"varint,25,opt,name=rejected_passives,json=rejectedPassives,proto3" json:"rejected_passives,omitempty"` + ActiveCollision uint32 `protobuf:"varint,26,opt,name=active_collision,json=activeCollision,proto3" json:"active_collision,omitempty"` + PassiveCollision uint32 `protobuf:"varint,27,opt,name=passive_collision,json=passiveCollision,proto3" json:"passive_collision,omitempty"` + ControlToReadThreadTrigger uint32 `protobuf:"varint,28,opt,name=control_to_read_thread_trigger,json=controlToReadThreadTrigger,proto3" json:"control_to_read_thread_trigger,omitempty"` + ControlToWriteThreadTrigger uint32 `protobuf:"varint,29,opt,name=control_to_write_thread_trigger,json=controlToWriteThreadTrigger,proto3" json:"control_to_write_thread_trigger,omitempty"` + NetworkStatus uint32 `protobuf:"varint,30,opt,name=network_status,json=networkStatus,proto3" json:"network_status,omitempty"` + ResetFlags uint32 `protobuf:"varint,31,opt,name=reset_flags,json=resetFlags,proto3" json:"reset_flags,omitempty"` + NbrFlags uint32 `protobuf:"varint,32,opt,name=nbr_flags,json=nbrFlags,proto3" json:"nbr_flags,omitempty"` + NbrFd int32 `protobuf:"zigzag32,33,opt,name=nbr_fd,json=nbrFd,proto3" json:"nbr_fd,omitempty"` + ResetRetries uint32 `protobuf:"varint,34,opt,name=reset_retries,json=resetRetries,proto3" json:"reset_retries,omitempty"` + SyncFlags uint32 `protobuf:"varint,35,opt,name=sync_flags,json=syncFlags,proto3" json:"sync_flags,omitempty"` + NsrOperDownCount uint32 `protobuf:"varint,36,opt,name=nsr_oper_down_count,json=nsrOperDownCount,proto3" json:"nsr_oper_down_count,omitempty"` + LastNsrScopedSync uint32 `protobuf:"varint,37,opt,name=last_nsr_scoped_sync,json=lastNsrScopedSync,proto3" json:"last_nsr_scoped_sync,omitempty"` +} + +func (x *BgpPerfNbr_) Reset() { + *x = BgpPerfNbr_{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (m *BgpNbrBag) GetIsRouteRefreshCapabilityReceived() string { - if m != nil { - return m.IsRouteRefreshCapabilityReceived +func (x *BgpPerfNbr_) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BgpPerfNbr_) ProtoMessage() {} + +func (x *BgpPerfNbr_) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (m *BgpNbrBag) GetIsRouteRefreshOldCapabilityReceived() string { - if m != nil { - return m.IsRouteRefreshOldCapabilityReceived +// Deprecated: Use BgpPerfNbr_.ProtoReflect.Descriptor instead. +func (*BgpPerfNbr_) Descriptor() ([]byte, []int) { + return file_proto_telemetry_bgp_bgp_nbr_bag_proto_rawDescGZIP(), []int{8} +} + +func (x *BgpPerfNbr_) GetReadThrottles() uint32 { + if x != nil { + return x.ReadThrottles } - return "" + return 0 } -func (m *BgpNbrBag) GetIsGrAware() string { - if m != nil { - return m.IsGrAware +func (x *BgpPerfNbr_) GetLowThrottledRead() uint32 { + if x != nil { + return x.LowThrottledRead } - return "" + return 0 } -func (m *BgpNbrBag) GetIs4ByteAsCapabilityReceived() string { - if m != nil { - return m.Is4ByteAsCapabilityReceived +func (x *BgpPerfNbr_) GetHighThrottledRead() uint32 { + if x != nil { + return x.HighThrottledRead } - return "" + return 0 } -func (m *BgpNbrBag) GetIs4ByteAsCapabilitySent() string { - if m != nil { - return m.Is4ByteAsCapabilitySent +func (x *BgpPerfNbr_) GetTimeSinceLastThrottledRead() uint32 { + if x != nil { + return x.TimeSinceLastThrottledRead } - return "" + return 0 } -func (m *BgpNbrBag) GetMultiProtocolCapabilityReceived() string { - if m != nil { - return m.MultiProtocolCapabilityReceived +func (x *BgpPerfNbr_) GetReadCallsCount() uint32 { + if x != nil { + return x.ReadCallsCount } - return "" + return 0 } -func (m *BgpNbrBag) GetHoldTime() uint32 { - if m != nil { - return m.HoldTime +func (x *BgpPerfNbr_) GetReadMessagesCount() uint32 { + if x != nil { + return x.ReadMessagesCount } return 0 } -func (m *BgpNbrBag) GetKeepAliveTime() uint32 { - if m != nil { - return m.KeepAliveTime +func (x *BgpPerfNbr_) GetDataBytesRead() uint32 { + if x != nil { + return x.DataBytesRead } return 0 } -func (m *BgpNbrBag) GetConfiguredHoldTime() uint32 { - if m != nil { - return m.ConfiguredHoldTime +func (x *BgpPerfNbr_) GetIoReadTime() uint32 { + if x != nil { + return x.IoReadTime } return 0 } -func (m *BgpNbrBag) GetConfiguredKeepalive() uint32 { - if m != nil { - return m.ConfiguredKeepalive +func (x *BgpPerfNbr_) GetWriteCallsCount() uint32 { + if x != nil { + return x.WriteCallsCount } return 0 } -func (m *BgpNbrBag) GetConfiguredMinAccHoldTime() uint32 { - if m != nil { - return m.ConfiguredMinAccHoldTime +func (x *BgpPerfNbr_) GetDataBytesWritten() uint32 { + if x != nil { + return x.DataBytesWritten } return 0 } -func (m *BgpNbrBag) GetMinAdvertiseInterval() uint32 { - if m != nil { - return m.MinAdvertiseInterval +func (x *BgpPerfNbr_) GetIoWriteTime() uint32 { + if x != nil { + return x.IoWriteTime } return 0 } -func (m *BgpNbrBag) GetMinAdvertiseIntervalMsecs() uint32 { - if m != nil { - return m.MinAdvertiseIntervalMsecs +func (x *BgpPerfNbr_) GetLastSentSeqNo() uint32 { + if x != nil { + return x.LastSentSeqNo } return 0 } -func (m *BgpNbrBag) GetMinOriginationInterval() uint32 { - if m != nil { - return m.MinOriginationInterval +func (x *BgpPerfNbr_) GetWriteSubgroupCallsCount() uint32 { + if x != nil { + return x.WriteSubgroupCallsCount } return 0 } -func (m *BgpNbrBag) GetConnectRetryInterval() uint32 { - if m != nil { - return m.ConnectRetryInterval +func (x *BgpPerfNbr_) GetWriteSubgroupMessagesCount() uint32 { + if x != nil { + return x.WriteSubgroupMessagesCount } return 0 } -func (m *BgpNbrBag) GetTimeSinceLastUpdate() uint32 { - if m != nil { - return m.TimeSinceLastUpdate +func (x *BgpPerfNbr_) GetSubgroupListTime() uint32 { + if x != nil { + return x.SubgroupListTime } return 0 } -func (m *BgpNbrBag) GetTimeSinceLastRead() uint32 { - if m != nil { - return m.TimeSinceLastRead +func (x *BgpPerfNbr_) GetWriteQueueCallsCount() uint32 { + if x != nil { + return x.WriteQueueCallsCount } return 0 } -func (m *BgpNbrBag) GetTimeSinceLastReadReset() uint32 { - if m != nil { - return m.TimeSinceLastReadReset +func (x *BgpPerfNbr_) GetWriteQueueMessagesCount() uint32 { + if x != nil { + return x.WriteQueueMessagesCount } return 0 } -func (m *BgpNbrBag) GetTimeLastCb() uint64 { - if m != nil { - return m.TimeLastCb +func (x *BgpPerfNbr_) GetWriteQueueTime() uint32 { + if x != nil { + return x.WriteQueueTime } return 0 } -func (m *BgpNbrBag) GetTimeLastCbReset() uint32 { - if m != nil { - return m.TimeLastCbReset +func (x *BgpPerfNbr_) GetInboundUpdateMessages() uint32 { + if x != nil { + return x.InboundUpdateMessages } return 0 } -func (m *BgpNbrBag) GetTimeLastFb() uint64 { - if m != nil { - return m.TimeLastFb +func (x *BgpPerfNbr_) GetInboundUpdateMessagesTime() uint32 { + if x != nil { + return x.InboundUpdateMessagesTime } return 0 } -func (m *BgpNbrBag) GetCountLastWrite() uint32 { - if m != nil { - return m.CountLastWrite +func (x *BgpPerfNbr_) GetMaximumReadSize() uint32 { + if x != nil { + return x.MaximumReadSize } return 0 } -func (m *BgpNbrBag) GetTimeSinceLastWrite() uint32 { - if m != nil { - return m.TimeSinceLastWrite +func (x *BgpPerfNbr_) GetActives() uint32 { + if x != nil { + return x.Actives } return 0 } -func (m *BgpNbrBag) GetAttemptedLastWriteBytes() uint32 { - if m != nil { - return m.AttemptedLastWriteBytes +func (x *BgpPerfNbr_) GetFailedPostActives() uint32 { + if x != nil { + return x.FailedPostActives } return 0 } -func (m *BgpNbrBag) GetActualLastWriteBytes() uint32 { - if m != nil { - return m.ActualLastWriteBytes +func (x *BgpPerfNbr_) GetPassives() uint32 { + if x != nil { + return x.Passives } return 0 } -func (m *BgpNbrBag) GetTimeSinceSecondLastWrite() uint32 { - if m != nil { - return m.TimeSinceSecondLastWrite +func (x *BgpPerfNbr_) GetRejectedPassives() uint32 { + if x != nil { + return x.RejectedPassives } return 0 } -func (m *BgpNbrBag) GetAttemptedSecondLastWriteBytes() uint32 { - if m != nil { - return m.AttemptedSecondLastWriteBytes +func (x *BgpPerfNbr_) GetActiveCollision() uint32 { + if x != nil { + return x.ActiveCollision } return 0 } -func (m *BgpNbrBag) GetActualSecondLastWriteBytes() uint32 { - if m != nil { - return m.ActualSecondLastWriteBytes +func (x *BgpPerfNbr_) GetPassiveCollision() uint32 { + if x != nil { + return x.PassiveCollision } return 0 } -func (m *BgpNbrBag) GetTimeSinceLastWriteReset() uint32 { - if m != nil { - return m.TimeSinceLastWriteReset +func (x *BgpPerfNbr_) GetControlToReadThreadTrigger() uint32 { + if x != nil { + return x.ControlToReadThreadTrigger } return 0 } -func (m *BgpNbrBag) GetAttemptedLastWriteResetBytes() uint32 { - if m != nil { - return m.AttemptedLastWriteResetBytes +func (x *BgpPerfNbr_) GetControlToWriteThreadTrigger() uint32 { + if x != nil { + return x.ControlToWriteThreadTrigger } return 0 } -func (m *BgpNbrBag) GetActualLastWriteResetBytes() uint32 { - if m != nil { - return m.ActualLastWriteResetBytes +func (x *BgpPerfNbr_) GetNetworkStatus() uint32 { + if x != nil { + return x.NetworkStatus } return 0 } -func (m *BgpNbrBag) GetTimeSinceSecondLastWriteReset() uint32 { - if m != nil { - return m.TimeSinceSecondLastWriteReset +func (x *BgpPerfNbr_) GetResetFlags() uint32 { + if x != nil { + return x.ResetFlags } return 0 } -func (m *BgpNbrBag) GetAttemptedSecondLastWriteResetBytes() uint32 { - if m != nil { - return m.AttemptedSecondLastWriteResetBytes +func (x *BgpPerfNbr_) GetNbrFlags() uint32 { + if x != nil { + return x.NbrFlags } return 0 } -func (m *BgpNbrBag) GetActualSecondLastWriteResetBytes() uint32 { - if m != nil { - return m.ActualSecondLastWriteResetBytes +func (x *BgpPerfNbr_) GetNbrFd() int32 { + if x != nil { + return x.NbrFd } return 0 } -func (m *BgpNbrBag) GetLastWriteEvent() uint32 { - if m != nil { - return m.LastWriteEvent +func (x *BgpPerfNbr_) GetResetRetries() uint32 { + if x != nil { + return x.ResetRetries } return 0 } -func (m *BgpNbrBag) GetSecondLastWriteEvent() uint32 { - if m != nil { - return m.SecondLastWriteEvent +func (x *BgpPerfNbr_) GetSyncFlags() uint32 { + if x != nil { + return x.SyncFlags } return 0 } -func (m *BgpNbrBag) GetLastKAexpiryReset() uint32 { - if m != nil { - return m.LastKAexpiryReset +func (x *BgpPerfNbr_) GetNsrOperDownCount() uint32 { + if x != nil { + return x.NsrOperDownCount } return 0 } -func (m *BgpNbrBag) GetSecondLastKAexpiryReset() uint32 { - if m != nil { - return m.SecondLastKAexpiryReset +func (x *BgpPerfNbr_) GetLastNsrScopedSync() uint32 { + if x != nil { + return x.LastNsrScopedSync } return 0 } -func (m *BgpNbrBag) GetLastKAnotsentReset() uint32 { - if m != nil { - return m.LastKAnotsentReset +type BgpPerfNbrAf_ struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SubGroupPendingMessageCount uint32 `protobuf:"varint,1,opt,name=sub_group_pending_message_count,json=subGroupPendingMessageCount,proto3" json:"sub_group_pending_message_count,omitempty"` + ProcessedMessages uint32 `protobuf:"varint,2,opt,name=processed_messages,json=processedMessages,proto3" json:"processed_messages,omitempty"` + SentMessages uint32 `protobuf:"varint,3,opt,name=sent_messages,json=sentMessages,proto3" json:"sent_messages,omitempty"` + SplitHorizonUpdateTransmit uint32 `protobuf:"varint,4,opt,name=split_horizon_update_transmit,json=splitHorizonUpdateTransmit,proto3" json:"split_horizon_update_transmit,omitempty"` + SplitHorizonUpdateBlocked uint32 `protobuf:"varint,5,opt,name=split_horizon_update_blocked,json=splitHorizonUpdateBlocked,proto3" json:"split_horizon_update_blocked,omitempty"` + SplitHorizonWithdrawTransmit uint32 `protobuf:"varint,6,opt,name=split_horizon_withdraw_transmit,json=splitHorizonWithdrawTransmit,proto3" json:"split_horizon_withdraw_transmit,omitempty"` + SplitHorizonWithdrawBlocked uint32 `protobuf:"varint,7,opt,name=split_horizon_withdraw_blocked,json=splitHorizonWithdrawBlocked,proto3" json:"split_horizon_withdraw_blocked,omitempty"` +} + +func (x *BgpPerfNbrAf_) Reset() { + *x = BgpPerfNbrAf_{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BgpPerfNbrAf_) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BgpPerfNbrAf_) ProtoMessage() {} + +func (x *BgpPerfNbrAf_) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BgpPerfNbrAf_.ProtoReflect.Descriptor instead. +func (*BgpPerfNbrAf_) Descriptor() ([]byte, []int) { + return file_proto_telemetry_bgp_bgp_nbr_bag_proto_rawDescGZIP(), []int{9} +} + +func (x *BgpPerfNbrAf_) GetSubGroupPendingMessageCount() uint32 { + if x != nil { + return x.SubGroupPendingMessageCount } return 0 } -func (m *BgpNbrBag) GetLastKAerrorReset() uint32 { - if m != nil { - return m.LastKAerrorReset +func (x *BgpPerfNbrAf_) GetProcessedMessages() uint32 { + if x != nil { + return x.ProcessedMessages } return 0 } -func (m *BgpNbrBag) GetLastKAstartReset() uint32 { - if m != nil { - return m.LastKAstartReset +func (x *BgpPerfNbrAf_) GetSentMessages() uint32 { + if x != nil { + return x.SentMessages } return 0 } -func (m *BgpNbrBag) GetSecondLastKAstartReset() uint32 { - if m != nil { - return m.SecondLastKAstartReset +func (x *BgpPerfNbrAf_) GetSplitHorizonUpdateTransmit() uint32 { + if x != nil { + return x.SplitHorizonUpdateTransmit } return 0 } -func (m *BgpNbrBag) GetConnectionUpCount() uint32 { - if m != nil { - return m.ConnectionUpCount +func (x *BgpPerfNbrAf_) GetSplitHorizonUpdateBlocked() uint32 { + if x != nil { + return x.SplitHorizonUpdateBlocked } return 0 } -func (m *BgpNbrBag) GetConnectionDownCount() uint32 { - if m != nil { - return m.ConnectionDownCount +func (x *BgpPerfNbrAf_) GetSplitHorizonWithdrawTransmit() uint32 { + if x != nil { + return x.SplitHorizonWithdrawTransmit } return 0 } -func (m *BgpNbrBag) GetTimeSinceConnectionLastDropped() uint32 { - if m != nil { - return m.TimeSinceConnectionLastDropped +func (x *BgpPerfNbrAf_) GetSplitHorizonWithdrawBlocked() uint32 { + if x != nil { + return x.SplitHorizonWithdrawBlocked } return 0 } -func (m *BgpNbrBag) GetResetReason() string { - if m != nil { - return m.ResetReason +type BgpNbrAf_ struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AfName string `protobuf:"bytes,1,opt,name=af_name,json=afName,proto3" json:"af_name,omitempty"` + IsNeighborRouteReflectorClient bool `protobuf:"varint,2,opt,name=is_neighbor_route_reflector_client,json=isNeighborRouteReflectorClient,proto3" json:"is_neighbor_route_reflector_client,omitempty"` + IsLegacyPeRt bool `protobuf:"varint,3,opt,name=is_legacy_pe_rt,json=isLegacyPeRt,proto3" json:"is_legacy_pe_rt,omitempty"` + IsNeighborAfCapable bool `protobuf:"varint,4,opt,name=is_neighbor_af_capable,json=isNeighborAfCapable,proto3" json:"is_neighbor_af_capable,omitempty"` + IsSoftReconfigurationInboundAllowed bool `protobuf:"varint,5,opt,name=is_soft_reconfiguration_inbound_allowed,json=isSoftReconfigurationInboundAllowed,proto3" json:"is_soft_reconfiguration_inbound_allowed,omitempty"` + IsUseSoftReconfigurationAlwaysOn bool `protobuf:"varint,6,opt,name=is_use_soft_reconfiguration_always_on,json=isUseSoftReconfigurationAlwaysOn,proto3" json:"is_use_soft_reconfiguration_always_on,omitempty"` + RemovePrivateAsFromUpdates bool `protobuf:"varint,7,opt,name=remove_private_as_from_updates,json=removePrivateAsFromUpdates,proto3" json:"remove_private_as_from_updates,omitempty"` + RemovePrivateAsEntireAspathFromUpdates bool `protobuf:"varint,8,opt,name=remove_private_as_entire_aspath_from_updates,json=removePrivateAsEntireAspathFromUpdates,proto3" json:"remove_private_as_entire_aspath_from_updates,omitempty"` + RemovePrivateAsFromInboundUpdates bool `protobuf:"varint,9,opt,name=remove_private_as_from_inbound_updates,json=removePrivateAsFromInboundUpdates,proto3" json:"remove_private_as_from_inbound_updates,omitempty"` + RemovePrivateAsEntireAspathFromInboundUpdates bool `protobuf:"varint,10,opt,name=remove_private_as_entire_aspath_from_inbound_updates,json=removePrivateAsEntireAspathFromInboundUpdates,proto3" json:"remove_private_as_entire_aspath_from_inbound_updates,omitempty"` + FlowspecValidationDIsable bool `protobuf:"varint,11,opt,name=flowspec_validation_d_isable,json=flowspecValidationDIsable,proto3" json:"flowspec_validation_d_isable,omitempty"` + FlowspecRedirectValidationDIsable bool `protobuf:"varint,12,opt,name=flowspec_redirect_validation_d_isable,json=flowspecRedirectValidationDIsable,proto3" json:"flowspec_redirect_validation_d_isable,omitempty"` + OrrGroupName string `protobuf:"bytes,13,opt,name=orr_group_name,json=orrGroupName,proto3" json:"orr_group_name,omitempty"` + OrrGroupIndex uint32 `protobuf:"varint,14,opt,name=orr_group_index,json=orrGroupIndex,proto3" json:"orr_group_index,omitempty"` + IsOrrRootAddressConfigured bool `protobuf:"varint,15,opt,name=is_orr_root_address_configured,json=isOrrRootAddressConfigured,proto3" json:"is_orr_root_address_configured,omitempty"` + AdvertiseAfi bool `protobuf:"varint,16,opt,name=advertise_afi,json=advertiseAfi,proto3" json:"advertise_afi,omitempty"` + AdvertiseAfiReorg bool `protobuf:"varint,17,opt,name=advertise_afi_reorg,json=advertiseAfiReorg,proto3" json:"advertise_afi_reorg,omitempty"` + AdvertiseAfiDisable bool `protobuf:"varint,18,opt,name=advertise_afi_disable,json=advertiseAfiDisable,proto3" json:"advertise_afi_disable,omitempty"` + EncapsulationType uint32 `protobuf:"varint,19,opt,name=encapsulation_type,json=encapsulationType,proto3" json:"encapsulation_type,omitempty"` + AdvertiseRtType uint32 `protobuf:"varint,20,opt,name=advertise_rt_type,json=advertiseRtType,proto3" json:"advertise_rt_type,omitempty"` + AdvertiseAfiDefVrfImpDisable bool `protobuf:"varint,21,opt,name=advertise_afi_def_vrf_imp_disable,json=advertiseAfiDefVrfImpDisable,proto3" json:"advertise_afi_def_vrf_imp_disable,omitempty"` + AdvertiseEvpNv4AfiDefVrfImpDisable bool `protobuf:"varint,22,opt,name=advertise_evp_nv4afi_def_vrf_imp_disable,json=advertiseEvpNv4afiDefVrfImpDisable,proto3" json:"advertise_evp_nv4afi_def_vrf_imp_disable,omitempty"` + AdvertiseEvpNv6AfiDefVrfImpDisable bool `protobuf:"varint,23,opt,name=advertise_evp_nv6afi_def_vrf_imp_disable,json=advertiseEvpNv6afiDefVrfImpDisable,proto3" json:"advertise_evp_nv6afi_def_vrf_imp_disable,omitempty"` + AdvertiseAfiVrfReImpDisable bool `protobuf:"varint,24,opt,name=advertise_afi_vrf_re_imp_disable,json=advertiseAfiVrfReImpDisable,proto3" json:"advertise_afi_vrf_re_imp_disable,omitempty"` + AdvertiseEvpNv4AfiVrfReImpDisable bool `protobuf:"varint,25,opt,name=advertise_evp_nv4afi_vrf_re_imp_disable,json=advertiseEvpNv4afiVrfReImpDisable,proto3" json:"advertise_evp_nv4afi_vrf_re_imp_disable,omitempty"` + AdvertiseEvpNv6AfiVrfReImpDisable bool `protobuf:"varint,26,opt,name=advertise_evp_nv6afi_vrf_re_imp_disable,json=advertiseEvpNv6afiVrfReImpDisable,proto3" json:"advertise_evp_nv6afi_vrf_re_imp_disable,omitempty"` + AdvertiseAfiEoRReady bool `protobuf:"varint,27,opt,name=advertise_afi_eo_r_ready,json=advertiseAfiEoRReady,proto3" json:"advertise_afi_eo_r_ready,omitempty"` + AlwaysUseNextHopLocal bool `protobuf:"varint,28,opt,name=always_use_next_hop_local,json=alwaysUseNextHopLocal,proto3" json:"always_use_next_hop_local,omitempty"` + SentCommunityToNeighbor bool `protobuf:"varint,29,opt,name=sent_community_to_neighbor,json=sentCommunityToNeighbor,proto3" json:"sent_community_to_neighbor,omitempty"` + SentGshutCommunityToNeighbor bool `protobuf:"varint,30,opt,name=sent_gshut_community_to_neighbor,json=sentGshutCommunityToNeighbor,proto3" json:"sent_gshut_community_to_neighbor,omitempty"` + SentExtendedCommunityToNeighbor bool `protobuf:"varint,31,opt,name=sent_extended_community_to_neighbor,json=sentExtendedCommunityToNeighbor,proto3" json:"sent_extended_community_to_neighbor,omitempty"` + DefaultOriginateVpnIndex uint32 `protobuf:"varint,32,opt,name=default_originate_vpn_index,json=defaultOriginateVpnIndex,proto3" json:"default_originate_vpn_index,omitempty"` + NeighborDefaultOriginate bool `protobuf:"varint,33,opt,name=neighbor_default_originate,json=neighborDefaultOriginate,proto3" json:"neighbor_default_originate,omitempty"` + IsOrfSent bool `protobuf:"varint,34,opt,name=is_orf_sent,json=isOrfSent,proto3" json:"is_orf_sent,omitempty"` + IsUpdateDeferred bool `protobuf:"varint,35,opt,name=is_update_deferred,json=isUpdateDeferred,proto3" json:"is_update_deferred,omitempty"` + IsOrfSendScheduled bool `protobuf:"varint,36,opt,name=is_orf_send_scheduled,json=isOrfSendScheduled,proto3" json:"is_orf_send_scheduled,omitempty"` + UpdateGroupNumber uint32 `protobuf:"varint,37,opt,name=update_group_number,json=updateGroupNumber,proto3" json:"update_group_number,omitempty"` + FilterGroupIndex uint32 `protobuf:"varint,38,opt,name=filter_group_index,json=filterGroupIndex,proto3" json:"filter_group_index,omitempty"` + IsUpdateThrottled bool `protobuf:"varint,39,opt,name=is_update_throttled,json=isUpdateThrottled,proto3" json:"is_update_throttled,omitempty"` + IsUpdateLeaving bool `protobuf:"varint,40,opt,name=is_update_leaving,json=isUpdateLeaving,proto3" json:"is_update_leaving,omitempty"` + VpnUpdateGenEnabled bool `protobuf:"varint,41,opt,name=vpn_update_gen_enabled,json=vpnUpdateGenEnabled,proto3" json:"vpn_update_gen_enabled,omitempty"` + VpnUpdateGenTriggerEnabled bool `protobuf:"varint,42,opt,name=vpn_update_gen_trigger_enabled,json=vpnUpdateGenTriggerEnabled,proto3" json:"vpn_update_gen_trigger_enabled,omitempty"` + IsAddpathSendOperational bool `protobuf:"varint,43,opt,name=is_addpath_send_operational,json=isAddpathSendOperational,proto3" json:"is_addpath_send_operational,omitempty"` + IsAddpathReceiveOperational bool `protobuf:"varint,44,opt,name=is_addpath_receive_operational,json=isAddpathReceiveOperational,proto3" json:"is_addpath_receive_operational,omitempty"` + NeighborVersion uint32 `protobuf:"varint,45,opt,name=neighbor_version,json=neighborVersion,proto3" json:"neighbor_version,omitempty"` + Weight uint32 `protobuf:"varint,46,opt,name=weight,proto3" json:"weight,omitempty"` + MaxPrefixLimit uint32 `protobuf:"varint,47,opt,name=max_prefix_limit,json=maxPrefixLimit,proto3" json:"max_prefix_limit,omitempty"` + UseMaxPrefixWarningOnly bool `protobuf:"varint,48,opt,name=use_max_prefix_warning_only,json=useMaxPrefixWarningOnly,proto3" json:"use_max_prefix_warning_only,omitempty"` + MaxPrefixDiscardExtraPaths bool `protobuf:"varint,49,opt,name=max_prefix_discard_extra_paths,json=maxPrefixDiscardExtraPaths,proto3" json:"max_prefix_discard_extra_paths,omitempty"` + MaxPrefixExceedDiscardPaths bool `protobuf:"varint,50,opt,name=max_prefix_exceed_discard_paths,json=maxPrefixExceedDiscardPaths,proto3" json:"max_prefix_exceed_discard_paths,omitempty"` + MaxPrefixThresholdPercent uint32 `protobuf:"varint,51,opt,name=max_prefix_threshold_percent,json=maxPrefixThresholdPercent,proto3" json:"max_prefix_threshold_percent,omitempty"` + MaxPrefixDiscardPathsCount uint32 `protobuf:"varint,52,opt,name=max_prefix_discard_paths_count,json=maxPrefixDiscardPathsCount,proto3" json:"max_prefix_discard_paths_count,omitempty"` + MaxPrefixRestartTime uint32 `protobuf:"varint,53,opt,name=max_prefix_restart_time,json=maxPrefixRestartTime,proto3" json:"max_prefix_restart_time,omitempty"` + PrefixesAccepted uint32 `protobuf:"varint,54,opt,name=prefixes_accepted,json=prefixesAccepted,proto3" json:"prefixes_accepted,omitempty"` + PrefixesSynced uint32 `protobuf:"varint,55,opt,name=prefixes_synced,json=prefixesSynced,proto3" json:"prefixes_synced,omitempty"` + PrefixesWithdrawnNotFound uint32 `protobuf:"varint,56,opt,name=prefixes_withdrawn_not_found,json=prefixesWithdrawnNotFound,proto3" json:"prefixes_withdrawn_not_found,omitempty"` + PrefixesDenied uint32 `protobuf:"varint,57,opt,name=prefixes_denied,json=prefixesDenied,proto3" json:"prefixes_denied,omitempty"` + PrefixesDeniedNoPolicy uint32 `protobuf:"varint,58,opt,name=prefixes_denied_no_policy,json=prefixesDeniedNoPolicy,proto3" json:"prefixes_denied_no_policy,omitempty"` + PrefixesDeniedRtPermit uint32 `protobuf:"varint,59,opt,name=prefixes_denied_rt_permit,json=prefixesDeniedRtPermit,proto3" json:"prefixes_denied_rt_permit,omitempty"` + PrefixesDeniedOrfPolicy uint32 `protobuf:"varint,60,opt,name=prefixes_denied_orf_policy,json=prefixesDeniedOrfPolicy,proto3" json:"prefixes_denied_orf_policy,omitempty"` + PrefixesDeniedPolicy uint32 `protobuf:"varint,61,opt,name=prefixes_denied_policy,json=prefixesDeniedPolicy,proto3" json:"prefixes_denied_policy,omitempty"` + NumberOfBestpaths uint32 `protobuf:"varint,62,opt,name=number_of_bestpaths,json=numberOfBestpaths,proto3" json:"number_of_bestpaths,omitempty"` + NumberOfBestExternalpaths uint32 `protobuf:"varint,63,opt,name=number_of_best_externalpaths,json=numberOfBestExternalpaths,proto3" json:"number_of_best_externalpaths,omitempty"` + PrefixesAdvertised uint32 `protobuf:"varint,64,opt,name=prefixes_advertised,json=prefixesAdvertised,proto3" json:"prefixes_advertised,omitempty"` + PrefixesBeAdvertised uint32 `protobuf:"varint,65,opt,name=prefixes_be_advertised,json=prefixesBeAdvertised,proto3" json:"prefixes_be_advertised,omitempty"` + PrefixesSuppressed uint32 `protobuf:"varint,66,opt,name=prefixes_suppressed,json=prefixesSuppressed,proto3" json:"prefixes_suppressed,omitempty"` + PrefixesWithdrawn uint32 `protobuf:"varint,67,opt,name=prefixes_withdrawn,json=prefixesWithdrawn,proto3" json:"prefixes_withdrawn,omitempty"` + IsPeerOrfCapable bool `protobuf:"varint,68,opt,name=is_peer_orf_capable,json=isPeerOrfCapable,proto3" json:"is_peer_orf_capable,omitempty"` + IsAdvertisedOrfSend bool `protobuf:"varint,69,opt,name=is_advertised_orf_send,json=isAdvertisedOrfSend,proto3" json:"is_advertised_orf_send,omitempty"` + IsReceivedOrfSendCapable bool `protobuf:"varint,70,opt,name=is_received_orf_send_capable,json=isReceivedOrfSendCapable,proto3" json:"is_received_orf_send_capable,omitempty"` + IsAdvertisedOrfReceive bool `protobuf:"varint,71,opt,name=is_advertised_orf_receive,json=isAdvertisedOrfReceive,proto3" json:"is_advertised_orf_receive,omitempty"` + IsReceivedOrfReceiveCapable bool `protobuf:"varint,72,opt,name=is_received_orf_receive_capable,json=isReceivedOrfReceiveCapable,proto3" json:"is_received_orf_receive_capable,omitempty"` + IsAdvertisedGracefulRestart bool `protobuf:"varint,73,opt,name=is_advertised_graceful_restart,json=isAdvertisedGracefulRestart,proto3" json:"is_advertised_graceful_restart,omitempty"` + IsGracefulRestartStateFlag bool `protobuf:"varint,74,opt,name=is_graceful_restart_state_flag,json=isGracefulRestartStateFlag,proto3" json:"is_graceful_restart_state_flag,omitempty"` + IsReceivedGracefulRestartCapable bool `protobuf:"varint,75,opt,name=is_received_graceful_restart_capable,json=isReceivedGracefulRestartCapable,proto3" json:"is_received_graceful_restart_capable,omitempty"` + IsAddPathSendCapabilityAdvertised bool `protobuf:"varint,76,opt,name=is_add_path_send_capability_advertised,json=isAddPathSendCapabilityAdvertised,proto3" json:"is_add_path_send_capability_advertised,omitempty"` + IsAddPathSendCapabilityReceived bool `protobuf:"varint,77,opt,name=is_add_path_send_capability_received,json=isAddPathSendCapabilityReceived,proto3" json:"is_add_path_send_capability_received,omitempty"` + IsAddPathReceiveCapabilityAdvertised bool `protobuf:"varint,78,opt,name=is_add_path_receive_capability_advertised,json=isAddPathReceiveCapabilityAdvertised,proto3" json:"is_add_path_receive_capability_advertised,omitempty"` + IsAddPathReceiveCapabilityReceived bool `protobuf:"varint,79,opt,name=is_add_path_receive_capability_received,json=isAddPathReceiveCapabilityReceived,proto3" json:"is_add_path_receive_capability_received,omitempty"` + IsExtNhEncodingCapabilityReceived bool `protobuf:"varint,80,opt,name=is_ext_nh_encoding_capability_received,json=isExtNhEncodingCapabilityReceived,proto3" json:"is_ext_nh_encoding_capability_received,omitempty"` + IsExtNhEncodingCapabilitySent bool `protobuf:"varint,81,opt,name=is_ext_nh_encoding_capability_sent,json=isExtNhEncodingCapabilitySent,proto3" json:"is_ext_nh_encoding_capability_sent,omitempty"` + RestartTime uint32 `protobuf:"varint,82,opt,name=restart_time,json=restartTime,proto3" json:"restart_time,omitempty"` + LocalRestartTime uint32 `protobuf:"varint,83,opt,name=local_restart_time,json=localRestartTime,proto3" json:"local_restart_time,omitempty"` + StalePathTimeout uint32 `protobuf:"varint,84,opt,name=stale_path_timeout,json=stalePathTimeout,proto3" json:"stale_path_timeout,omitempty"` + RibPurgeTimeoutValue uint32 `protobuf:"varint,85,opt,name=rib_purge_timeout_value,json=ribPurgeTimeoutValue,proto3" json:"rib_purge_timeout_value,omitempty"` + NeighborPreservedForwardingState bool `protobuf:"varint,86,opt,name=neighbor_preserved_forwarding_state,json=neighborPreservedForwardingState,proto3" json:"neighbor_preserved_forwarding_state,omitempty"` + LongLivedGracefulRestartStaleTimeConfigured bool `protobuf:"varint,87,opt,name=long_lived_graceful_restart_stale_time_configured,json=longLivedGracefulRestartStaleTimeConfigured,proto3" json:"long_lived_graceful_restart_stale_time_configured,omitempty"` + LongLivedGracefulRestartStaleTimeSent uint32 `protobuf:"varint,88,opt,name=long_lived_graceful_restart_stale_time_sent,json=longLivedGracefulRestartStaleTimeSent,proto3" json:"long_lived_graceful_restart_stale_time_sent,omitempty"` + LongLivedGracefulRestartStaleTimeAccept uint32 `protobuf:"varint,89,opt,name=long_lived_graceful_restart_stale_time_accept,json=longLivedGracefulRestartStaleTimeAccept,proto3" json:"long_lived_graceful_restart_stale_time_accept,omitempty"` + LongLivedGracefulRestartCapabilityReceived bool `protobuf:"varint,90,opt,name=long_lived_graceful_restart_capability_received,json=longLivedGracefulRestartCapabilityReceived,proto3" json:"long_lived_graceful_restart_capability_received,omitempty"` + LongLivedGracefulRestartStaleTimeReceived uint32 `protobuf:"varint,91,opt,name=long_lived_graceful_restart_stale_time_received,json=longLivedGracefulRestartStaleTimeReceived,proto3" json:"long_lived_graceful_restart_stale_time_received,omitempty"` + NeighborPreservedLongLivedForwardingState bool `protobuf:"varint,92,opt,name=neighbor_preserved_long_lived_forwarding_state,json=neighborPreservedLongLivedForwardingState,proto3" json:"neighbor_preserved_long_lived_forwarding_state,omitempty"` + NeighborLongLivedGracefulRestartCapable bool `protobuf:"varint,93,opt,name=neighbor_long_lived_graceful_restart_capable,json=neighborLongLivedGracefulRestartCapable,proto3" json:"neighbor_long_lived_graceful_restart_capable,omitempty"` + NeighborLongLivedGracefulRestartTimeRemaining uint32 `protobuf:"varint,94,opt,name=neighbor_long_lived_graceful_restart_time_remaining,json=neighborLongLivedGracefulRestartTimeRemaining,proto3" json:"neighbor_long_lived_graceful_restart_time_remaining,omitempty"` + RouteRefreshesReceived uint32 `protobuf:"varint,95,opt,name=route_refreshes_received,json=routeRefreshesReceived,proto3" json:"route_refreshes_received,omitempty"` + RouteRefreshesSent uint32 `protobuf:"varint,96,opt,name=route_refreshes_sent,json=routeRefreshesSent,proto3" json:"route_refreshes_sent,omitempty"` + RefreshTargetVersion uint32 `protobuf:"varint,97,opt,name=refresh_target_version,json=refreshTargetVersion,proto3" json:"refresh_target_version,omitempty"` + RefreshVersion uint32 `protobuf:"varint,98,opt,name=refresh_version,json=refreshVersion,proto3" json:"refresh_version,omitempty"` + RefreshAckedVersion uint32 `protobuf:"varint,99,opt,name=refresh_acked_version,json=refreshAckedVersion,proto3" json:"refresh_acked_version,omitempty"` + IsPrefixOrfPresent bool `protobuf:"varint,100,opt,name=is_prefix_orf_present,json=isPrefixOrfPresent,proto3" json:"is_prefix_orf_present,omitempty"` + OrfEntriesReceived uint32 `protobuf:"varint,101,opt,name=orf_entries_received,json=orfEntriesReceived,proto3" json:"orf_entries_received,omitempty"` + IsDefaultOriginateSent bool `protobuf:"varint,102,opt,name=is_default_originate_sent,json=isDefaultOriginateSent,proto3" json:"is_default_originate_sent,omitempty"` + RoutePolicyPrefixOrf string `protobuf:"bytes,103,opt,name=route_policy_prefix_orf,json=routePolicyPrefixOrf,proto3" json:"route_policy_prefix_orf,omitempty"` + RoutePolicyIn string `protobuf:"bytes,104,opt,name=route_policy_in,json=routePolicyIn,proto3" json:"route_policy_in,omitempty"` + RoutePolicyOut string `protobuf:"bytes,105,opt,name=route_policy_out,json=routePolicyOut,proto3" json:"route_policy_out,omitempty"` + RoutePolicyDefaultOriginate string `protobuf:"bytes,106,opt,name=route_policy_default_originate,json=routePolicyDefaultOriginate,proto3" json:"route_policy_default_originate,omitempty"` + IsNeighborEbgpWithoutInboundPolicy bool `protobuf:"varint,107,opt,name=is_neighbor_ebgp_without_inbound_policy,json=isNeighborEbgpWithoutInboundPolicy,proto3" json:"is_neighbor_ebgp_without_inbound_policy,omitempty"` + IsNeighborEbgpWithoutOutboundPolicy bool `protobuf:"varint,108,opt,name=is_neighbor_ebgp_without_outbound_policy,json=isNeighborEbgpWithoutOutboundPolicy,proto3" json:"is_neighbor_ebgp_without_outbound_policy,omitempty"` + IsUpdOrigLoopchkDisableSet bool `protobuf:"varint,109,opt,name=is_upd_orig_loopchk_disable_set,json=isUpdOrigLoopchkDisableSet,proto3" json:"is_upd_orig_loopchk_disable_set,omitempty"` + IsAsOverrideSet bool `protobuf:"varint,110,opt,name=is_as_override_set,json=isAsOverrideSet,proto3" json:"is_as_override_set,omitempty"` + IsAllowAsInSet bool `protobuf:"varint,111,opt,name=is_allow_as_in_set,json=isAllowAsInSet,proto3" json:"is_allow_as_in_set,omitempty"` + AllowAsInCount uint32 `protobuf:"varint,112,opt,name=allow_as_in_count,json=allowAsInCount,proto3" json:"allow_as_in_count,omitempty"` + AddressFamilyLongLivedTime uint32 `protobuf:"varint,113,opt,name=address_family_long_lived_time,json=addressFamilyLongLivedTime,proto3" json:"address_family_long_lived_time,omitempty"` + EoRReceivedInReadOnly bool `protobuf:"varint,114,opt,name=eo_r_received_in_read_only,json=eoRReceivedInReadOnly,proto3" json:"eo_r_received_in_read_only,omitempty"` + AckedVersion uint32 `protobuf:"varint,115,opt,name=acked_version,json=ackedVersion,proto3" json:"acked_version,omitempty"` + SyncedAckedVersion uint32 `protobuf:"varint,116,opt,name=synced_acked_version,json=syncedAckedVersion,proto3" json:"synced_acked_version,omitempty"` + OutstandingVersion uint32 `protobuf:"varint,117,opt,name=outstanding_version,json=outstandingVersion,proto3" json:"outstanding_version,omitempty"` + OutstandingRefreshVersion uint32 `protobuf:"varint,118,opt,name=outstanding_refresh_version,json=outstandingRefreshVersion,proto3" json:"outstanding_refresh_version,omitempty"` + OutstandingVersionMax uint32 `protobuf:"varint,119,opt,name=outstanding_version_max,json=outstandingVersionMax,proto3" json:"outstanding_version_max,omitempty"` + NeighborAfPerformanceStatistics *BgpPerfNbrAf_ `protobuf:"bytes,120,opt,name=neighbor_af_performance_statistics,json=neighborAfPerformanceStatistics,proto3" json:"neighbor_af_performance_statistics,omitempty"` + IsAigpSet bool `protobuf:"varint,121,opt,name=is_aigp_set,json=isAigpSet,proto3" json:"is_aigp_set,omitempty"` + IsRtPresent bool `protobuf:"varint,122,opt,name=is_rt_present,json=isRtPresent,proto3" json:"is_rt_present,omitempty"` + ExtendedCommunity []uint32 `protobuf:"varint,123,rep,packed,name=extended_community,json=extendedCommunity,proto3" json:"extended_community,omitempty"` + IsRtPresentStandby bool `protobuf:"varint,124,opt,name=is_rt_present_standby,json=isRtPresentStandby,proto3" json:"is_rt_present_standby,omitempty"` + ExtendedCommunityStandby []uint32 `protobuf:"varint,125,rep,packed,name=extended_community_standby,json=extendedCommunityStandby,proto3" json:"extended_community_standby,omitempty"` + AcceptOwnEnabled bool `protobuf:"varint,126,opt,name=accept_own_enabled,json=acceptOwnEnabled,proto3" json:"accept_own_enabled,omitempty"` + SelectiveMultipathEligible bool `protobuf:"varint,127,opt,name=selective_multipath_eligible,json=selectiveMultipathEligible,proto3" json:"selective_multipath_eligible,omitempty"` + AfrpkiDisable bool `protobuf:"varint,128,opt,name=afrpki_disable,json=afrpkiDisable,proto3" json:"afrpki_disable,omitempty"` + AfrpkiUseValidity bool `protobuf:"varint,129,opt,name=afrpki_use_validity,json=afrpkiUseValidity,proto3" json:"afrpki_use_validity,omitempty"` + AfrpkiAllowInvalid bool `protobuf:"varint,130,opt,name=afrpki_allow_invalid,json=afrpkiAllowInvalid,proto3" json:"afrpki_allow_invalid,omitempty"` + AfrpkiSignalIbgp bool `protobuf:"varint,131,opt,name=afrpki_signal_ibgp,json=afrpkiSignalIbgp,proto3" json:"afrpki_signal_ibgp,omitempty"` + IsAdvertisePermanentNetwork bool `protobuf:"varint,132,opt,name=is_advertise_permanent_network,json=isAdvertisePermanentNetwork,proto3" json:"is_advertise_permanent_network,omitempty"` + IsSendMcastAttr bool `protobuf:"varint,133,opt,name=is_send_mcast_attr,json=isSendMcastAttr,proto3" json:"is_send_mcast_attr,omitempty"` + ImportStitching bool `protobuf:"varint,134,opt,name=import_stitching,json=importStitching,proto3" json:"import_stitching,omitempty"` + ImportReoriginate bool `protobuf:"varint,135,opt,name=import_reoriginate,json=importReoriginate,proto3" json:"import_reoriginate,omitempty"` + ImportReoriginateStitching bool `protobuf:"varint,136,opt,name=import_reoriginate_stitching,json=importReoriginateStitching,proto3" json:"import_reoriginate_stitching,omitempty"` + AdvertiseV4Flags uint32 `protobuf:"varint,137,opt,name=advertise_v4_flags,json=advertiseV4Flags,proto3" json:"advertise_v4_flags,omitempty"` + AdvertiseV6Flags uint32 `protobuf:"varint,138,opt,name=advertise_v6_flags,json=advertiseV6Flags,proto3" json:"advertise_v6_flags,omitempty"` + AdvertiseLocalLabeledRouteUnicast bool `protobuf:"varint,139,opt,name=advertise_local_labeled_route_unicast,json=advertiseLocalLabeledRouteUnicast,proto3" json:"advertise_local_labeled_route_unicast,omitempty"` + PrefixesDeniedNonCumulative uint32 `protobuf:"varint,140,opt,name=prefixes_denied_non_cumulative,json=prefixesDeniedNonCumulative,proto3" json:"prefixes_denied_non_cumulative,omitempty"` + EnableLabelStack bool `protobuf:"varint,141,opt,name=enable_label_stack,json=enableLabelStack,proto3" json:"enable_label_stack,omitempty"` + OtProvTrackEnable bool `protobuf:"varint,142,opt,name=ot_prov_track_enable,json=otProvTrackEnable,proto3" json:"ot_prov_track_enable,omitempty"` + OtProvTrackState string `protobuf:"bytes,143,opt,name=ot_prov_track_state,json=otProvTrackState,proto3" json:"ot_prov_track_state,omitempty"` + OtProvTrackInGrState bool `protobuf:"varint,144,opt,name=ot_prov_track_in_gr_state,json=otProvTrackInGrState,proto3" json:"ot_prov_track_in_gr_state,omitempty"` + OtProvTrackEorTmrRunning bool `protobuf:"varint,145,opt,name=ot_prov_track_eor_tmr_running,json=otProvTrackEorTmrRunning,proto3" json:"ot_prov_track_eor_tmr_running,omitempty"` + SlowPeerFlags uint32 `protobuf:"varint,146,opt,name=slow_peer_flags,json=slowPeerFlags,proto3" json:"slow_peer_flags,omitempty"` + SlowPeerStatic bool `protobuf:"varint,147,opt,name=slow_peer_static,json=slowPeerStatic,proto3" json:"slow_peer_static,omitempty"` + SlowPeerDynamic bool `protobuf:"varint,148,opt,name=slow_peer_dynamic,json=slowPeerDynamic,proto3" json:"slow_peer_dynamic,omitempty"` + SlowPeerPermanent bool `protobuf:"varint,149,opt,name=slow_peer_permanent,json=slowPeerPermanent,proto3" json:"slow_peer_permanent,omitempty"` + SlowPeerCount uint32 `protobuf:"varint,150,opt,name=slow_peer_count,json=slowPeerCount,proto3" json:"slow_peer_count,omitempty"` +} + +func (x *BgpNbrAf_) Reset() { + *x = BgpNbrAf_{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BgpNbrAf_) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BgpNbrAf_) ProtoMessage() {} + +func (x *BgpNbrAf_) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BgpNbrAf_.ProtoReflect.Descriptor instead. +func (*BgpNbrAf_) Descriptor() ([]byte, []int) { + return file_proto_telemetry_bgp_bgp_nbr_bag_proto_rawDescGZIP(), []int{10} +} + +func (x *BgpNbrAf_) GetAfName() string { + if x != nil { + return x.AfName } return "" } -func (m *BgpNbrBag) GetPeerResetReason() string { - if m != nil { - return m.PeerResetReason +func (x *BgpNbrAf_) GetIsNeighborRouteReflectorClient() bool { + if x != nil { + return x.IsNeighborRouteReflectorClient + } + return false +} + +func (x *BgpNbrAf_) GetIsLegacyPeRt() bool { + if x != nil { + return x.IsLegacyPeRt + } + return false +} + +func (x *BgpNbrAf_) GetIsNeighborAfCapable() bool { + if x != nil { + return x.IsNeighborAfCapable + } + return false +} + +func (x *BgpNbrAf_) GetIsSoftReconfigurationInboundAllowed() bool { + if x != nil { + return x.IsSoftReconfigurationInboundAllowed + } + return false +} + +func (x *BgpNbrAf_) GetIsUseSoftReconfigurationAlwaysOn() bool { + if x != nil { + return x.IsUseSoftReconfigurationAlwaysOn + } + return false +} + +func (x *BgpNbrAf_) GetRemovePrivateAsFromUpdates() bool { + if x != nil { + return x.RemovePrivateAsFromUpdates + } + return false +} + +func (x *BgpNbrAf_) GetRemovePrivateAsEntireAspathFromUpdates() bool { + if x != nil { + return x.RemovePrivateAsEntireAspathFromUpdates + } + return false +} + +func (x *BgpNbrAf_) GetRemovePrivateAsFromInboundUpdates() bool { + if x != nil { + return x.RemovePrivateAsFromInboundUpdates + } + return false +} + +func (x *BgpNbrAf_) GetRemovePrivateAsEntireAspathFromInboundUpdates() bool { + if x != nil { + return x.RemovePrivateAsEntireAspathFromInboundUpdates + } + return false +} + +func (x *BgpNbrAf_) GetFlowspecValidationDIsable() bool { + if x != nil { + return x.FlowspecValidationDIsable + } + return false +} + +func (x *BgpNbrAf_) GetFlowspecRedirectValidationDIsable() bool { + if x != nil { + return x.FlowspecRedirectValidationDIsable + } + return false +} + +func (x *BgpNbrAf_) GetOrrGroupName() string { + if x != nil { + return x.OrrGroupName } return "" } -func (m *BgpNbrBag) GetPeerErrorCode() uint32 { - if m != nil { - return m.PeerErrorCode +func (x *BgpNbrAf_) GetOrrGroupIndex() uint32 { + if x != nil { + return x.OrrGroupIndex } return 0 } -func (m *BgpNbrBag) GetLastNotifyErrorCode() uint32 { - if m != nil { - return m.LastNotifyErrorCode +func (x *BgpNbrAf_) GetIsOrrRootAddressConfigured() bool { + if x != nil { + return x.IsOrrRootAddressConfigured } - return 0 + return false } -func (m *BgpNbrBag) GetLastNotifyErrorSubcode() uint32 { - if m != nil { - return m.LastNotifyErrorSubcode +func (x *BgpNbrAf_) GetAdvertiseAfi() bool { + if x != nil { + return x.AdvertiseAfi } - return 0 + return false } -func (m *BgpNbrBag) GetSendNotificationInfo() *BgpNotfntype_ { - if m != nil { - return m.SendNotificationInfo +func (x *BgpNbrAf_) GetAdvertiseAfiReorg() bool { + if x != nil { + return x.AdvertiseAfiReorg } - return nil + return false } -func (m *BgpNbrBag) GetReceivedNotificationInfo() *BgpNotfntype_ { - if m != nil { - return m.ReceivedNotificationInfo +func (x *BgpNbrAf_) GetAdvertiseAfiDisable() bool { + if x != nil { + return x.AdvertiseAfiDisable } - return nil + return false } -func (m *BgpNbrBag) GetErrorNotifiesReceived() uint32 { - if m != nil { - return m.ErrorNotifiesReceived +func (x *BgpNbrAf_) GetEncapsulationType() uint32 { + if x != nil { + return x.EncapsulationType } return 0 } -func (m *BgpNbrBag) GetErrorNotifiesSent() uint32 { - if m != nil { - return m.ErrorNotifiesSent +func (x *BgpNbrAf_) GetAdvertiseRtType() uint32 { + if x != nil { + return x.AdvertiseRtType } return 0 } -func (m *BgpNbrBag) GetRemoteAsNumber() uint32 { - if m != nil { - return m.RemoteAsNumber +func (x *BgpNbrAf_) GetAdvertiseAfiDefVrfImpDisable() bool { + if x != nil { + return x.AdvertiseAfiDefVrfImpDisable } - return 0 + return false } -func (m *BgpNbrBag) GetDmzLinkBandwidth() uint32 { - if m != nil { - return m.DmzLinkBandwidth +func (x *BgpNbrAf_) GetAdvertiseEvpNv4AfiDefVrfImpDisable() bool { + if x != nil { + return x.AdvertiseEvpNv4AfiDefVrfImpDisable + } + return false +} + +func (x *BgpNbrAf_) GetAdvertiseEvpNv6AfiDefVrfImpDisable() bool { + if x != nil { + return x.AdvertiseEvpNv6AfiDefVrfImpDisable + } + return false +} + +func (x *BgpNbrAf_) GetAdvertiseAfiVrfReImpDisable() bool { + if x != nil { + return x.AdvertiseAfiVrfReImpDisable + } + return false +} + +func (x *BgpNbrAf_) GetAdvertiseEvpNv4AfiVrfReImpDisable() bool { + if x != nil { + return x.AdvertiseEvpNv4AfiVrfReImpDisable + } + return false +} + +func (x *BgpNbrAf_) GetAdvertiseEvpNv6AfiVrfReImpDisable() bool { + if x != nil { + return x.AdvertiseEvpNv6AfiVrfReImpDisable + } + return false +} + +func (x *BgpNbrAf_) GetAdvertiseAfiEoRReady() bool { + if x != nil { + return x.AdvertiseAfiEoRReady + } + return false +} + +func (x *BgpNbrAf_) GetAlwaysUseNextHopLocal() bool { + if x != nil { + return x.AlwaysUseNextHopLocal + } + return false +} + +func (x *BgpNbrAf_) GetSentCommunityToNeighbor() bool { + if x != nil { + return x.SentCommunityToNeighbor + } + return false +} + +func (x *BgpNbrAf_) GetSentGshutCommunityToNeighbor() bool { + if x != nil { + return x.SentGshutCommunityToNeighbor + } + return false +} + +func (x *BgpNbrAf_) GetSentExtendedCommunityToNeighbor() bool { + if x != nil { + return x.SentExtendedCommunityToNeighbor + } + return false +} + +func (x *BgpNbrAf_) GetDefaultOriginateVpnIndex() uint32 { + if x != nil { + return x.DefaultOriginateVpnIndex } return 0 } -func (m *BgpNbrBag) GetEbgpRecvDmz() string { - if m != nil { - return m.EbgpRecvDmz +func (x *BgpNbrAf_) GetNeighborDefaultOriginate() bool { + if x != nil { + return x.NeighborDefaultOriginate } - return "" + return false } -func (m *BgpNbrBag) GetEbgpSendDmzMode() string { - if m != nil { - return m.EbgpSendDmzMode +func (x *BgpNbrAf_) GetIsOrfSent() bool { + if x != nil { + return x.IsOrfSent } - return "" + return false +} + +func (x *BgpNbrAf_) GetIsUpdateDeferred() bool { + if x != nil { + return x.IsUpdateDeferred + } + return false +} + +func (x *BgpNbrAf_) GetIsOrfSendScheduled() bool { + if x != nil { + return x.IsOrfSendScheduled + } + return false } -func (m *BgpNbrBag) GetTosType() uint32 { - if m != nil { - return m.TosType +func (x *BgpNbrAf_) GetUpdateGroupNumber() uint32 { + if x != nil { + return x.UpdateGroupNumber } return 0 } -func (m *BgpNbrBag) GetTosValue() uint32 { - if m != nil { - return m.TosValue +func (x *BgpNbrAf_) GetFilterGroupIndex() uint32 { + if x != nil { + return x.FilterGroupIndex } return 0 } -func (m *BgpNbrBag) GetPerformanceStatistics() *BgpPerfNbr_ { - if m != nil { - return m.PerformanceStatistics +func (x *BgpNbrAf_) GetIsUpdateThrottled() bool { + if x != nil { + return x.IsUpdateThrottled } - return nil + return false } -func (m *BgpNbrBag) GetAfData() []*NbrAfP { - if m != nil { - return m.AfData +func (x *BgpNbrAf_) GetIsUpdateLeaving() bool { + if x != nil { + return x.IsUpdateLeaving } - return nil + return false } -func (m *BgpNbrBag) GetTcpSessionOpenMode() string { - if m != nil { - return m.TcpSessionOpenMode +func (x *BgpNbrAf_) GetVpnUpdateGenEnabled() bool { + if x != nil { + return x.VpnUpdateGenEnabled } - return "" + return false } -func (m *BgpNbrBag) GetVrfName() string { - if m != nil { - return m.VrfName +func (x *BgpNbrAf_) GetVpnUpdateGenTriggerEnabled() bool { + if x != nil { + return x.VpnUpdateGenTriggerEnabled } - return "" + return false } -func (m *BgpNbrBag) GetStandbyRp() string { - if m != nil { - return m.StandbyRp +func (x *BgpNbrAf_) GetIsAddpathSendOperational() bool { + if x != nil { + return x.IsAddpathSendOperational } - return "" + return false } -func (m *BgpNbrBag) GetNsrEnabled() string { - if m != nil { - return m.NsrEnabled +func (x *BgpNbrAf_) GetIsAddpathReceiveOperational() bool { + if x != nil { + return x.IsAddpathReceiveOperational } - return "" + return false } -func (m *BgpNbrBag) GetGracefulRestartEnabledNbr() string { - if m != nil { - return m.GracefulRestartEnabledNbr +func (x *BgpNbrAf_) GetNeighborVersion() uint32 { + if x != nil { + return x.NeighborVersion } - return "" + return 0 } -func (m *BgpNbrBag) GetGrRestartTime() uint32 { - if m != nil { - return m.GrRestartTime +func (x *BgpNbrAf_) GetWeight() uint32 { + if x != nil { + return x.Weight } return 0 } -func (m *BgpNbrBag) GetGrStalePathTime() uint32 { - if m != nil { - return m.GrStalePathTime +func (x *BgpNbrAf_) GetMaxPrefixLimit() uint32 { + if x != nil { + return x.MaxPrefixLimit } return 0 } -func (m *BgpNbrBag) GetFssnOffset() uint32 { - if m != nil { - return m.FssnOffset +func (x *BgpNbrAf_) GetUseMaxPrefixWarningOnly() bool { + if x != nil { + return x.UseMaxPrefixWarningOnly + } + return false +} + +func (x *BgpNbrAf_) GetMaxPrefixDiscardExtraPaths() bool { + if x != nil { + return x.MaxPrefixDiscardExtraPaths + } + return false +} + +func (x *BgpNbrAf_) GetMaxPrefixExceedDiscardPaths() bool { + if x != nil { + return x.MaxPrefixExceedDiscardPaths + } + return false +} + +func (x *BgpNbrAf_) GetMaxPrefixThresholdPercent() uint32 { + if x != nil { + return x.MaxPrefixThresholdPercent } return 0 } -func (m *BgpNbrBag) GetFpbsnOffset() uint32 { - if m != nil { - return m.FpbsnOffset +func (x *BgpNbrAf_) GetMaxPrefixDiscardPathsCount() uint32 { + if x != nil { + return x.MaxPrefixDiscardPathsCount } return 0 } -func (m *BgpNbrBag) GetLastAckdSeqNo() uint32 { - if m != nil { - return m.LastAckdSeqNo +func (x *BgpNbrAf_) GetMaxPrefixRestartTime() uint32 { + if x != nil { + return x.MaxPrefixRestartTime } return 0 } -func (m *BgpNbrBag) GetBytesWritten() uint32 { - if m != nil { - return m.BytesWritten +func (x *BgpNbrAf_) GetPrefixesAccepted() uint32 { + if x != nil { + return x.PrefixesAccepted } return 0 } -func (m *BgpNbrBag) GetBytesRead() uint32 { - if m != nil { - return m.BytesRead +func (x *BgpNbrAf_) GetPrefixesSynced() uint32 { + if x != nil { + return x.PrefixesSynced } return 0 } -func (m *BgpNbrBag) GetSocketReadBytes() uint32 { - if m != nil { - return m.SocketReadBytes +func (x *BgpNbrAf_) GetPrefixesWithdrawnNotFound() uint32 { + if x != nil { + return x.PrefixesWithdrawnNotFound } return 0 } -func (m *BgpNbrBag) GetIsReadDisabled() string { - if m != nil { - return m.IsReadDisabled +func (x *BgpNbrAf_) GetPrefixesDenied() uint32 { + if x != nil { + return x.PrefixesDenied } - return "" + return 0 } -func (m *BgpNbrBag) GetUpdateBytesRead() uint32 { - if m != nil { - return m.UpdateBytesRead +func (x *BgpNbrAf_) GetPrefixesDeniedNoPolicy() uint32 { + if x != nil { + return x.PrefixesDeniedNoPolicy } return 0 } -func (m *BgpNbrBag) GetNsrState() string { - if m != nil { - return m.NsrState +func (x *BgpNbrAf_) GetPrefixesDeniedRtPermit() uint32 { + if x != nil { + return x.PrefixesDeniedRtPermit } - return "" + return 0 } -func (m *BgpNbrBag) GetIsPassiveClose() string { - if m != nil { - return m.IsPassiveClose +func (x *BgpNbrAf_) GetPrefixesDeniedOrfPolicy() uint32 { + if x != nil { + return x.PrefixesDeniedOrfPolicy } - return "" + return 0 } -func (m *BgpNbrBag) GetNbrEnforceFirstAs() string { - if m != nil { - return m.NbrEnforceFirstAs +func (x *BgpNbrAf_) GetPrefixesDeniedPolicy() uint32 { + if x != nil { + return x.PrefixesDeniedPolicy } - return "" + return 0 } -func (m *BgpNbrBag) GetActiveBmpServers() uint32 { - if m != nil { - return m.ActiveBmpServers +func (x *BgpNbrAf_) GetNumberOfBestpaths() uint32 { + if x != nil { + return x.NumberOfBestpaths } return 0 } -func (m *BgpNbrBag) GetNbrClusterId() uint32 { - if m != nil { - return m.NbrClusterId +func (x *BgpNbrAf_) GetNumberOfBestExternalpaths() uint32 { + if x != nil { + return x.NumberOfBestExternalpaths } return 0 } -func (m *BgpNbrBag) GetNbrInCluster() uint32 { - if m != nil { - return m.NbrInCluster +func (x *BgpNbrAf_) GetPrefixesAdvertised() uint32 { + if x != nil { + return x.PrefixesAdvertised } return 0 } -func (m *BgpNbrBag) GetIgnoreConnected() string { - if m != nil { - return m.IgnoreConnected +func (x *BgpNbrAf_) GetPrefixesBeAdvertised() uint32 { + if x != nil { + return x.PrefixesBeAdvertised } - return "" + return 0 } -func (m *BgpNbrBag) GetInternalVpnClient() string { - if m != nil { - return m.InternalVpnClient +func (x *BgpNbrAf_) GetPrefixesSuppressed() uint32 { + if x != nil { + return x.PrefixesSuppressed } - return "" + return 0 } -func (m *BgpNbrBag) GetIoArmed() string { - if m != nil { - return m.IoArmed +func (x *BgpNbrAf_) GetPrefixesWithdrawn() uint32 { + if x != nil { + return x.PrefixesWithdrawn } - return "" + return 0 } -func (m *BgpNbrBag) GetReadArmed() string { - if m != nil { - return m.ReadArmed +func (x *BgpNbrAf_) GetIsPeerOrfCapable() bool { + if x != nil { + return x.IsPeerOrfCapable } - return "" + return false } -func (m *BgpNbrBag) GetWriteArmed() string { - if m != nil { - return m.WriteArmed +func (x *BgpNbrAf_) GetIsAdvertisedOrfSend() bool { + if x != nil { + return x.IsAdvertisedOrfSend } - return "" + return false } -func (m *BgpNbrBag) GetMessageStatistics() *BgpNbrMsgStats { - if m != nil { - return m.MessageStatistics +func (x *BgpNbrAf_) GetIsReceivedOrfSendCapable() bool { + if x != nil { + return x.IsReceivedOrfSendCapable } - return nil + return false } -func (m *BgpNbrBag) GetDiscardDataBytes() uint32 { - if m != nil { - return m.DiscardDataBytes +func (x *BgpNbrAf_) GetIsAdvertisedOrfReceive() bool { + if x != nil { + return x.IsAdvertisedOrfReceive } - return 0 + return false } -func (m *BgpNbrBag) GetLocalAsReplaceAs() string { - if m != nil { - return m.LocalAsReplaceAs +func (x *BgpNbrAf_) GetIsReceivedOrfReceiveCapable() bool { + if x != nil { + return x.IsReceivedOrfReceiveCapable } - return "" + return false } -func (m *BgpNbrBag) GetLocalAsDualAs() string { - if m != nil { - return m.LocalAsDualAs +func (x *BgpNbrAf_) GetIsAdvertisedGracefulRestart() bool { + if x != nil { + return x.IsAdvertisedGracefulRestart } - return "" + return false } -func (m *BgpNbrBag) GetLocalAsDualAsModeNative() string { - if m != nil { - return m.LocalAsDualAsModeNative +func (x *BgpNbrAf_) GetIsGracefulRestartStateFlag() bool { + if x != nil { + return x.IsGracefulRestartStateFlag } - return "" + return false } -func (m *BgpNbrBag) GetEgressPeerEngineeringEnabled() string { - if m != nil { - return m.EgressPeerEngineeringEnabled +func (x *BgpNbrAf_) GetIsReceivedGracefulRestartCapable() bool { + if x != nil { + return x.IsReceivedGracefulRestartCapable } - return "" + return false } -func (m *BgpNbrBag) GetTcpInitSyncTimeSpec() *BgpTimespec { - if m != nil { - return m.TcpInitSyncTimeSpec +func (x *BgpNbrAf_) GetIsAddPathSendCapabilityAdvertised() bool { + if x != nil { + return x.IsAddPathSendCapabilityAdvertised } - return nil + return false } -func (m *BgpNbrBag) GetTcpInitSyncPhaseTwoTimeSpec() *BgpTimespec { - if m != nil { - return m.TcpInitSyncPhaseTwoTimeSpec +func (x *BgpNbrAf_) GetIsAddPathSendCapabilityReceived() bool { + if x != nil { + return x.IsAddPathSendCapabilityReceived } - return nil + return false } -func (m *BgpNbrBag) GetTcpInitSyncDoneTimeSpec() *BgpTimespec { - if m != nil { - return m.TcpInitSyncDoneTimeSpec +func (x *BgpNbrAf_) GetIsAddPathReceiveCapabilityAdvertised() bool { + if x != nil { + return x.IsAddPathReceiveCapabilityAdvertised } - return nil + return false +} + +func (x *BgpNbrAf_) GetIsAddPathReceiveCapabilityReceived() bool { + if x != nil { + return x.IsAddPathReceiveCapabilityReceived + } + return false +} + +func (x *BgpNbrAf_) GetIsExtNhEncodingCapabilityReceived() bool { + if x != nil { + return x.IsExtNhEncodingCapabilityReceived + } + return false +} + +func (x *BgpNbrAf_) GetIsExtNhEncodingCapabilitySent() bool { + if x != nil { + return x.IsExtNhEncodingCapabilitySent + } + return false } -func (m *BgpNbrBag) GetDiscardAs4Path() uint32 { - if m != nil { - return m.DiscardAs4Path +func (x *BgpNbrAf_) GetRestartTime() uint32 { + if x != nil { + return x.RestartTime } return 0 } -func (m *BgpNbrBag) GetRpkiDisable() string { - if m != nil { - return m.RpkiDisable +func (x *BgpNbrAf_) GetLocalRestartTime() uint32 { + if x != nil { + return x.LocalRestartTime } - return "" + return 0 } -func (m *BgpNbrBag) GetRpkiUseValidity() string { - if m != nil { - return m.RpkiUseValidity +func (x *BgpNbrAf_) GetStalePathTimeout() uint32 { + if x != nil { + return x.StalePathTimeout } - return "" + return 0 } -func (m *BgpNbrBag) GetRpkiAllowInvalid() string { - if m != nil { - return m.RpkiAllowInvalid +func (x *BgpNbrAf_) GetRibPurgeTimeoutValue() uint32 { + if x != nil { + return x.RibPurgeTimeoutValue } - return "" + return 0 } -func (m *BgpNbrBag) GetRpkiSignalIbgp() string { - if m != nil { - return m.RpkiSignalIbgp +func (x *BgpNbrAf_) GetNeighborPreservedForwardingState() bool { + if x != nil { + return x.NeighborPreservedForwardingState } - return "" + return false } -func (m *BgpNbrBag) GetGracefulMaintenance() *BgpNbrGshut_ { - if m != nil { - return m.GracefulMaintenance +func (x *BgpNbrAf_) GetLongLivedGracefulRestartStaleTimeConfigured() bool { + if x != nil { + return x.LongLivedGracefulRestartStaleTimeConfigured } - return nil + return false } -type BgpTimespec struct { - // Seconds part of time value - Seconds uint32 `protobuf:"varint,1,opt,name=seconds" json:"seconds,omitempty"` - // Nanoseconds part of time value - Nanoseconds uint32 `protobuf:"varint,2,opt,name=nanoseconds" json:"nanoseconds,omitempty"` +func (x *BgpNbrAf_) GetLongLivedGracefulRestartStaleTimeSent() uint32 { + if x != nil { + return x.LongLivedGracefulRestartStaleTimeSent + } + return 0 } -func (m *BgpTimespec) Reset() { *m = BgpTimespec{} } -func (m *BgpTimespec) String() string { return proto.CompactTextString(m) } -func (*BgpTimespec) ProtoMessage() {} -func (*BgpTimespec) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } +func (x *BgpNbrAf_) GetLongLivedGracefulRestartStaleTimeAccept() uint32 { + if x != nil { + return x.LongLivedGracefulRestartStaleTimeAccept + } + return 0 +} + +func (x *BgpNbrAf_) GetLongLivedGracefulRestartCapabilityReceived() bool { + if x != nil { + return x.LongLivedGracefulRestartCapabilityReceived + } + return false +} -func (m *BgpTimespec) GetSeconds() uint32 { - if m != nil { - return m.Seconds +func (x *BgpNbrAf_) GetLongLivedGracefulRestartStaleTimeReceived() uint32 { + if x != nil { + return x.LongLivedGracefulRestartStaleTimeReceived } return 0 } -func (m *BgpTimespec) GetNanoseconds() uint32 { - if m != nil { - return m.Nanoseconds +func (x *BgpNbrAf_) GetNeighborPreservedLongLivedForwardingState() bool { + if x != nil { + return x.NeighborPreservedLongLivedForwardingState + } + return false +} + +func (x *BgpNbrAf_) GetNeighborLongLivedGracefulRestartCapable() bool { + if x != nil { + return x.NeighborLongLivedGracefulRestartCapable + } + return false +} + +func (x *BgpNbrAf_) GetNeighborLongLivedGracefulRestartTimeRemaining() uint32 { + if x != nil { + return x.NeighborLongLivedGracefulRestartTimeRemaining } return 0 } -// IPV4Tunnel Address type -type IPV4TunnelAddressType struct { - Value string `protobuf:"bytes,1,opt,name=value" json:"value,omitempty"` +func (x *BgpNbrAf_) GetRouteRefreshesReceived() uint32 { + if x != nil { + return x.RouteRefreshesReceived + } + return 0 } -func (m *IPV4TunnelAddressType) Reset() { *m = IPV4TunnelAddressType{} } -func (m *IPV4TunnelAddressType) String() string { return proto.CompactTextString(m) } -func (*IPV4TunnelAddressType) ProtoMessage() {} -func (*IPV4TunnelAddressType) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } +func (x *BgpNbrAf_) GetRouteRefreshesSent() uint32 { + if x != nil { + return x.RouteRefreshesSent + } + return 0 +} -func (m *IPV4TunnelAddressType) GetValue() string { - if m != nil { - return m.Value +func (x *BgpNbrAf_) GetRefreshTargetVersion() uint32 { + if x != nil { + return x.RefreshTargetVersion } - return "" + return 0 } -// IPV4MDT Address type -type IPV4MDTAddressType struct { - Value string `protobuf:"bytes,1,opt,name=value" json:"value,omitempty"` +func (x *BgpNbrAf_) GetRefreshVersion() uint32 { + if x != nil { + return x.RefreshVersion + } + return 0 } -func (m *IPV4MDTAddressType) Reset() { *m = IPV4MDTAddressType{} } -func (m *IPV4MDTAddressType) String() string { return proto.CompactTextString(m) } -func (*IPV4MDTAddressType) ProtoMessage() {} -func (*IPV4MDTAddressType) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} } +func (x *BgpNbrAf_) GetRefreshAckedVersion() uint32 { + if x != nil { + return x.RefreshAckedVersion + } + return 0 +} -func (m *IPV4MDTAddressType) GetValue() string { - if m != nil { - return m.Value +func (x *BgpNbrAf_) GetIsPrefixOrfPresent() bool { + if x != nil { + return x.IsPrefixOrfPresent } - return "" + return false } -// IPV4 RTConstraint Address type -type RTConstraintAddressType struct { - Value string `protobuf:"bytes,1,opt,name=value" json:"value,omitempty"` +func (x *BgpNbrAf_) GetOrfEntriesReceived() uint32 { + if x != nil { + return x.OrfEntriesReceived + } + return 0 } -func (m *RTConstraintAddressType) Reset() { *m = RTConstraintAddressType{} } -func (m *RTConstraintAddressType) String() string { return proto.CompactTextString(m) } -func (*RTConstraintAddressType) ProtoMessage() {} -func (*RTConstraintAddressType) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } +func (x *BgpNbrAf_) GetIsDefaultOriginateSent() bool { + if x != nil { + return x.IsDefaultOriginateSent + } + return false +} -func (m *RTConstraintAddressType) GetValue() string { - if m != nil { - return m.Value +func (x *BgpNbrAf_) GetRoutePolicyPrefixOrf() string { + if x != nil { + return x.RoutePolicyPrefixOrf } return "" } -// IPV6 Address type -type IPV6AddressType struct { - Value string `protobuf:"bytes,1,opt,name=value" json:"value,omitempty"` +func (x *BgpNbrAf_) GetRoutePolicyIn() string { + if x != nil { + return x.RoutePolicyIn + } + return "" } -func (m *IPV6AddressType) Reset() { *m = IPV6AddressType{} } -func (m *IPV6AddressType) String() string { return proto.CompactTextString(m) } -func (*IPV6AddressType) ProtoMessage() {} -func (*IPV6AddressType) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } +func (x *BgpNbrAf_) GetRoutePolicyOut() string { + if x != nil { + return x.RoutePolicyOut + } + return "" +} -func (m *IPV6AddressType) GetValue() string { - if m != nil { - return m.Value +func (x *BgpNbrAf_) GetRoutePolicyDefaultOriginate() string { + if x != nil { + return x.RoutePolicyDefaultOriginate } return "" } -type BgpL2VpnAddrT struct { - L2VpnAddress []byte `protobuf:"bytes,1,opt,name=l2vpn_address,json=l2vpnAddress,proto3" json:"l2vpn_address,omitempty"` +func (x *BgpNbrAf_) GetIsNeighborEbgpWithoutInboundPolicy() bool { + if x != nil { + return x.IsNeighborEbgpWithoutInboundPolicy + } + return false } -func (m *BgpL2VpnAddrT) Reset() { *m = BgpL2VpnAddrT{} } -func (m *BgpL2VpnAddrT) String() string { return proto.CompactTextString(m) } -func (*BgpL2VpnAddrT) ProtoMessage() {} -func (*BgpL2VpnAddrT) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} } +func (x *BgpNbrAf_) GetIsNeighborEbgpWithoutOutboundPolicy() bool { + if x != nil { + return x.IsNeighborEbgpWithoutOutboundPolicy + } + return false +} -func (m *BgpL2VpnAddrT) GetL2VpnAddress() []byte { - if m != nil { - return m.L2VpnAddress +func (x *BgpNbrAf_) GetIsUpdOrigLoopchkDisableSet() bool { + if x != nil { + return x.IsUpdOrigLoopchkDisableSet } - return nil + return false } -// L2VPN EVPN Address type -type L2VPNEVPNAddressType struct { - Value string `protobuf:"bytes,1,opt,name=value" json:"value,omitempty"` +func (x *BgpNbrAf_) GetIsAsOverrideSet() bool { + if x != nil { + return x.IsAsOverrideSet + } + return false } -func (m *L2VPNEVPNAddressType) Reset() { *m = L2VPNEVPNAddressType{} } -func (m *L2VPNEVPNAddressType) String() string { return proto.CompactTextString(m) } -func (*L2VPNEVPNAddressType) ProtoMessage() {} -func (*L2VPNEVPNAddressType) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } +func (x *BgpNbrAf_) GetIsAllowAsInSet() bool { + if x != nil { + return x.IsAllowAsInSet + } + return false +} -func (m *L2VPNEVPNAddressType) GetValue() string { - if m != nil { - return m.Value +func (x *BgpNbrAf_) GetAllowAsInCount() uint32 { + if x != nil { + return x.AllowAsInCount } - return "" + return 0 } -type BgpL2VpnMspwAddrT struct { - L2VpnAddress []byte `protobuf:"bytes,1,opt,name=l2vpn_address,json=l2vpnAddress,proto3" json:"l2vpn_address,omitempty"` +func (x *BgpNbrAf_) GetAddressFamilyLongLivedTime() uint32 { + if x != nil { + return x.AddressFamilyLongLivedTime + } + return 0 } -func (m *BgpL2VpnMspwAddrT) Reset() { *m = BgpL2VpnMspwAddrT{} } -func (m *BgpL2VpnMspwAddrT) String() string { return proto.CompactTextString(m) } -func (*BgpL2VpnMspwAddrT) ProtoMessage() {} -func (*BgpL2VpnMspwAddrT) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } +func (x *BgpNbrAf_) GetEoRReceivedInReadOnly() bool { + if x != nil { + return x.EoRReceivedInReadOnly + } + return false +} -func (m *BgpL2VpnMspwAddrT) GetL2VpnAddress() []byte { - if m != nil { - return m.L2VpnAddress +func (x *BgpNbrAf_) GetAckedVersion() uint32 { + if x != nil { + return x.AckedVersion } - return nil + return 0 } -// IPV6 MVPN Address type -type IPV6MVPNAddressType struct { - Value string `protobuf:"bytes,1,opt,name=value" json:"value,omitempty"` +func (x *BgpNbrAf_) GetSyncedAckedVersion() uint32 { + if x != nil { + return x.SyncedAckedVersion + } + return 0 } -func (m *IPV6MVPNAddressType) Reset() { *m = IPV6MVPNAddressType{} } -func (m *IPV6MVPNAddressType) String() string { return proto.CompactTextString(m) } -func (*IPV6MVPNAddressType) ProtoMessage() {} -func (*IPV6MVPNAddressType) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} } +func (x *BgpNbrAf_) GetOutstandingVersion() uint32 { + if x != nil { + return x.OutstandingVersion + } + return 0 +} -func (m *IPV6MVPNAddressType) GetValue() string { - if m != nil { - return m.Value +func (x *BgpNbrAf_) GetOutstandingRefreshVersion() uint32 { + if x != nil { + return x.OutstandingRefreshVersion } - return "" + return 0 } -// IPV4 MVPN Address type -type IPV4MVPNAddressType struct { - Value string `protobuf:"bytes,1,opt,name=value" json:"value,omitempty"` +func (x *BgpNbrAf_) GetOutstandingVersionMax() uint32 { + if x != nil { + return x.OutstandingVersionMax + } + return 0 } -func (m *IPV4MVPNAddressType) Reset() { *m = IPV4MVPNAddressType{} } -func (m *IPV4MVPNAddressType) String() string { return proto.CompactTextString(m) } -func (*IPV4MVPNAddressType) ProtoMessage() {} -func (*IPV4MVPNAddressType) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} } +func (x *BgpNbrAf_) GetNeighborAfPerformanceStatistics() *BgpPerfNbrAf_ { + if x != nil { + return x.NeighborAfPerformanceStatistics + } + return nil +} -func (m *IPV4MVPNAddressType) GetValue() string { - if m != nil { - return m.Value +func (x *BgpNbrAf_) GetIsAigpSet() bool { + if x != nil { + return x.IsAigpSet } - return "" + return false } -// LINKSTATE LINKSTATE Address type -type LS_LSAddressType struct { - Value string `protobuf:"bytes,1,opt,name=value" json:"value,omitempty"` +func (x *BgpNbrAf_) GetIsRtPresent() bool { + if x != nil { + return x.IsRtPresent + } + return false } -func (m *LS_LSAddressType) Reset() { *m = LS_LSAddressType{} } -func (m *LS_LSAddressType) String() string { return proto.CompactTextString(m) } -func (*LS_LSAddressType) ProtoMessage() {} -func (*LS_LSAddressType) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} } +func (x *BgpNbrAf_) GetExtendedCommunity() []uint32 { + if x != nil { + return x.ExtendedCommunity + } + return nil +} -func (m *LS_LSAddressType) GetValue() string { - if m != nil { - return m.Value +func (x *BgpNbrAf_) GetIsRtPresentStandby() bool { + if x != nil { + return x.IsRtPresentStandby } - return "" + return false } -// IPv4 Flowspec Address type -type IPv4FlowspecAddressType struct { - Value string `protobuf:"bytes,1,opt,name=value" json:"value,omitempty"` +func (x *BgpNbrAf_) GetExtendedCommunityStandby() []uint32 { + if x != nil { + return x.ExtendedCommunityStandby + } + return nil } -func (m *IPv4FlowspecAddressType) Reset() { *m = IPv4FlowspecAddressType{} } -func (m *IPv4FlowspecAddressType) String() string { return proto.CompactTextString(m) } -func (*IPv4FlowspecAddressType) ProtoMessage() {} -func (*IPv4FlowspecAddressType) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} } +func (x *BgpNbrAf_) GetAcceptOwnEnabled() bool { + if x != nil { + return x.AcceptOwnEnabled + } + return false +} -func (m *IPv4FlowspecAddressType) GetValue() string { - if m != nil { - return m.Value +func (x *BgpNbrAf_) GetSelectiveMultipathEligible() bool { + if x != nil { + return x.SelectiveMultipathEligible } - return "" + return false } -// IPv6 Flowspec Address type -type IPv6FlowspecAddressType struct { - Value string `protobuf:"bytes,1,opt,name=value" json:"value,omitempty"` +func (x *BgpNbrAf_) GetAfrpkiDisable() bool { + if x != nil { + return x.AfrpkiDisable + } + return false } -func (m *IPv6FlowspecAddressType) Reset() { *m = IPv6FlowspecAddressType{} } -func (m *IPv6FlowspecAddressType) String() string { return proto.CompactTextString(m) } -func (*IPv6FlowspecAddressType) ProtoMessage() {} -func (*IPv6FlowspecAddressType) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} } +func (x *BgpNbrAf_) GetAfrpkiUseValidity() bool { + if x != nil { + return x.AfrpkiUseValidity + } + return false +} -func (m *IPv6FlowspecAddressType) GetValue() string { - if m != nil { - return m.Value +func (x *BgpNbrAf_) GetAfrpkiAllowInvalid() bool { + if x != nil { + return x.AfrpkiAllowInvalid } - return "" + return false } -type BgpAddrtype struct { - Afi string `protobuf:"bytes,1,opt,name=afi" json:"afi,omitempty"` - // IPv4 Addr - Ipv4Address string `protobuf:"bytes,2,opt,name=ipv4_address,json=ipv4Address" json:"ipv4_address,omitempty"` - // IPv4 Mcast Addr - Ipv4McastAddress string `protobuf:"bytes,3,opt,name=ipv4_mcast_address,json=ipv4McastAddress" json:"ipv4_mcast_address,omitempty"` - // IPv4 Label Addr - Ipv4LabelAddress string `protobuf:"bytes,4,opt,name=ipv4_label_address,json=ipv4LabelAddress" json:"ipv4_label_address,omitempty"` - // IPv4 Tunnel - Ipv4TunnelAddress *IPV4TunnelAddressType `protobuf:"bytes,5,opt,name=ipv4_tunnel_address,json=ipv4TunnelAddress" json:"ipv4_tunnel_address,omitempty"` - // IPv4 MDT Addr - Ipv4MdtAddress *IPV4MDTAddressType `protobuf:"bytes,6,opt,name=ipv4_mdt_address,json=ipv4MdtAddress" json:"ipv4_mdt_address,omitempty"` - // IPv4 VPN Addr - Ipv4VpnAddress string `protobuf:"bytes,7,opt,name=ipv4_vpn_address,json=ipv4VpnAddress" json:"ipv4_vpn_address,omitempty"` - // IPv4 VPN Mcast Addr - Ipv4VpnaMcastddress string `protobuf:"bytes,8,opt,name=ipv4_vpna_mcastddress,json=ipv4VpnaMcastddress" json:"ipv4_vpna_mcastddress,omitempty"` - // IPV6 Addr - Ipv6Address *IPV6AddressType `protobuf:"bytes,9,opt,name=ipv6_address,json=ipv6Address" json:"ipv6_address,omitempty"` - // IPV6 Mcast Addr - Ipv6McastAddress *IPV6AddressType `protobuf:"bytes,10,opt,name=ipv6_mcast_address,json=ipv6McastAddress" json:"ipv6_mcast_address,omitempty"` - // IPv6 Label Addr - Ipv6LabelAddress *IPV6AddressType `protobuf:"bytes,11,opt,name=ipv6_label_address,json=ipv6LabelAddress" json:"ipv6_label_address,omitempty"` - // IPv6 VPN Addr - Ipv6VpnAddress *IPV6AddressType `protobuf:"bytes,12,opt,name=ipv6_vpn_address,json=ipv6VpnAddress" json:"ipv6_vpn_address,omitempty"` - // IPv6 VPN Mcast Addr - Ipv6VpnMcastAddress *IPV6AddressType `protobuf:"bytes,13,opt,name=ipv6_vpn_mcast_address,json=ipv6VpnMcastAddress" json:"ipv6_vpn_mcast_address,omitempty"` - // L2VPN VPLS Addr - L2VpnvplsAddress *BgpL2VpnAddrT `protobuf:"bytes,14,opt,name=l2_vpnvpls_address,json=l2VpnvplsAddress" json:"l2_vpnvpls_address,omitempty"` - // RT Constrt Addr - RtConstraintAddress *RTConstraintAddressType `protobuf:"bytes,15,opt,name=rt_constraint_address,json=rtConstraintAddress" json:"rt_constraint_address,omitempty"` - // MVPN addr - Ipv6MvpnAddress *IPV6MVPNAddressType `protobuf:"bytes,16,opt,name=ipv6_mvpn_address,json=ipv6MvpnAddress" json:"ipv6_mvpn_address,omitempty"` - // MVPN4 addr - Ipv4MvpnAddress *IPV4MVPNAddressType `protobuf:"bytes,17,opt,name=ipv4_mvpn_address,json=ipv4MvpnAddress" json:"ipv4_mvpn_address,omitempty"` - // L2VPN EVPN Addr - L2VpnEvpnAddress *L2VPNEVPNAddressType `protobuf:"bytes,18,opt,name=l2_vpn_evpn_address,json=l2VpnEvpnAddress" json:"l2_vpn_evpn_address,omitempty"` - // LINKSTATE LINKSTATE Addr - LsLsAddress *LS_LSAddressType `protobuf:"bytes,19,opt,name=ls_ls_address,json=lsLsAddress" json:"ls_ls_address,omitempty"` - // L2VPN MSPW Addr - L2VpnMspwAddress *BgpL2VpnMspwAddrT `protobuf:"bytes,20,opt,name=l2_vpn_mspw_address,json=l2VpnMspwAddress" json:"l2_vpn_mspw_address,omitempty"` - // IPV4 Flowspec Addr - Ipv4FlowspecAddress *IPv4FlowspecAddressType `protobuf:"bytes,21,opt,name=ipv4_flowspec_address,json=ipv4FlowspecAddress" json:"ipv4_flowspec_address,omitempty"` - // IPV6 Flowspec Addr - Ipv6FlowspecAddress *IPv6FlowspecAddressType `protobuf:"bytes,22,opt,name=ipv6_flowspec_address,json=ipv6FlowspecAddress" json:"ipv6_flowspec_address,omitempty"` - // IPV4 VPN Flowspec Addr - Ipv4VpnFlowspecAddress *IPv4FlowspecAddressType `protobuf:"bytes,23,opt,name=ipv4_vpn_flowspec_address,json=ipv4VpnFlowspecAddress" json:"ipv4_vpn_flowspec_address,omitempty"` - // IPV6 VPN Flowspec Addr - Ipv6VpnFlowspecAddress *IPv6FlowspecAddressType `protobuf:"bytes,24,opt,name=ipv6_vpn_flowspec_address,json=ipv6VpnFlowspecAddress" json:"ipv6_vpn_flowspec_address,omitempty"` -} - -func (m *BgpAddrtype) Reset() { *m = BgpAddrtype{} } -func (m *BgpAddrtype) String() string { return proto.CompactTextString(m) } -func (*BgpAddrtype) ProtoMessage() {} -func (*BgpAddrtype) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} } - -func (m *BgpAddrtype) GetAfi() string { - if m != nil { - return m.Afi +func (x *BgpNbrAf_) GetAfrpkiSignalIbgp() bool { + if x != nil { + return x.AfrpkiSignalIbgp } - return "" + return false } -func (m *BgpAddrtype) GetIpv4Address() string { - if m != nil { - return m.Ipv4Address +func (x *BgpNbrAf_) GetIsAdvertisePermanentNetwork() bool { + if x != nil { + return x.IsAdvertisePermanentNetwork } - return "" + return false } -func (m *BgpAddrtype) GetIpv4McastAddress() string { - if m != nil { - return m.Ipv4McastAddress +func (x *BgpNbrAf_) GetIsSendMcastAttr() bool { + if x != nil { + return x.IsSendMcastAttr } - return "" + return false } -func (m *BgpAddrtype) GetIpv4LabelAddress() string { - if m != nil { - return m.Ipv4LabelAddress +func (x *BgpNbrAf_) GetImportStitching() bool { + if x != nil { + return x.ImportStitching } - return "" + return false } -func (m *BgpAddrtype) GetIpv4TunnelAddress() *IPV4TunnelAddressType { - if m != nil { - return m.Ipv4TunnelAddress +func (x *BgpNbrAf_) GetImportReoriginate() bool { + if x != nil { + return x.ImportReoriginate } - return nil + return false } -func (m *BgpAddrtype) GetIpv4MdtAddress() *IPV4MDTAddressType { - if m != nil { - return m.Ipv4MdtAddress +func (x *BgpNbrAf_) GetImportReoriginateStitching() bool { + if x != nil { + return x.ImportReoriginateStitching } - return nil + return false } -func (m *BgpAddrtype) GetIpv4VpnAddress() string { - if m != nil { - return m.Ipv4VpnAddress +func (x *BgpNbrAf_) GetAdvertiseV4Flags() uint32 { + if x != nil { + return x.AdvertiseV4Flags } - return "" + return 0 } -func (m *BgpAddrtype) GetIpv4VpnaMcastddress() string { - if m != nil { - return m.Ipv4VpnaMcastddress +func (x *BgpNbrAf_) GetAdvertiseV6Flags() uint32 { + if x != nil { + return x.AdvertiseV6Flags } - return "" + return 0 } -func (m *BgpAddrtype) GetIpv6Address() *IPV6AddressType { - if m != nil { - return m.Ipv6Address +func (x *BgpNbrAf_) GetAdvertiseLocalLabeledRouteUnicast() bool { + if x != nil { + return x.AdvertiseLocalLabeledRouteUnicast } - return nil + return false } -func (m *BgpAddrtype) GetIpv6McastAddress() *IPV6AddressType { - if m != nil { - return m.Ipv6McastAddress +func (x *BgpNbrAf_) GetPrefixesDeniedNonCumulative() uint32 { + if x != nil { + return x.PrefixesDeniedNonCumulative } - return nil + return 0 } -func (m *BgpAddrtype) GetIpv6LabelAddress() *IPV6AddressType { - if m != nil { - return m.Ipv6LabelAddress +func (x *BgpNbrAf_) GetEnableLabelStack() bool { + if x != nil { + return x.EnableLabelStack } - return nil + return false } -func (m *BgpAddrtype) GetIpv6VpnAddress() *IPV6AddressType { - if m != nil { - return m.Ipv6VpnAddress +func (x *BgpNbrAf_) GetOtProvTrackEnable() bool { + if x != nil { + return x.OtProvTrackEnable } - return nil + return false } -func (m *BgpAddrtype) GetIpv6VpnMcastAddress() *IPV6AddressType { - if m != nil { - return m.Ipv6VpnMcastAddress +func (x *BgpNbrAf_) GetOtProvTrackState() string { + if x != nil { + return x.OtProvTrackState } - return nil + return "" } -func (m *BgpAddrtype) GetL2VpnvplsAddress() *BgpL2VpnAddrT { - if m != nil { - return m.L2VpnvplsAddress +func (x *BgpNbrAf_) GetOtProvTrackInGrState() bool { + if x != nil { + return x.OtProvTrackInGrState } - return nil + return false } -func (m *BgpAddrtype) GetRtConstraintAddress() *RTConstraintAddressType { - if m != nil { - return m.RtConstraintAddress +func (x *BgpNbrAf_) GetOtProvTrackEorTmrRunning() bool { + if x != nil { + return x.OtProvTrackEorTmrRunning } - return nil + return false } -func (m *BgpAddrtype) GetIpv6MvpnAddress() *IPV6MVPNAddressType { - if m != nil { - return m.Ipv6MvpnAddress +func (x *BgpNbrAf_) GetSlowPeerFlags() uint32 { + if x != nil { + return x.SlowPeerFlags } - return nil + return 0 } -func (m *BgpAddrtype) GetIpv4MvpnAddress() *IPV4MVPNAddressType { - if m != nil { - return m.Ipv4MvpnAddress +func (x *BgpNbrAf_) GetSlowPeerStatic() bool { + if x != nil { + return x.SlowPeerStatic } - return nil + return false } -func (m *BgpAddrtype) GetL2VpnEvpnAddress() *L2VPNEVPNAddressType { - if m != nil { - return m.L2VpnEvpnAddress +func (x *BgpNbrAf_) GetSlowPeerDynamic() bool { + if x != nil { + return x.SlowPeerDynamic } - return nil + return false } -func (m *BgpAddrtype) GetLsLsAddress() *LS_LSAddressType { - if m != nil { - return m.LsLsAddress +func (x *BgpNbrAf_) GetSlowPeerPermanent() bool { + if x != nil { + return x.SlowPeerPermanent } - return nil + return false } -func (m *BgpAddrtype) GetL2VpnMspwAddress() *BgpL2VpnMspwAddrT { - if m != nil { - return m.L2VpnMspwAddress +func (x *BgpNbrAf_) GetSlowPeerCount() uint32 { + if x != nil { + return x.SlowPeerCount } - return nil + return 0 +} + +type BgpTimespec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Seconds uint32 `protobuf:"varint,1,opt,name=seconds,proto3" json:"seconds,omitempty"` + Nanoseconds uint32 `protobuf:"varint,2,opt,name=nanoseconds,proto3" json:"nanoseconds,omitempty"` } -func (m *BgpAddrtype) GetIpv4FlowspecAddress() *IPv4FlowspecAddressType { - if m != nil { - return m.Ipv4FlowspecAddress +func (x *BgpTimespec) Reset() { + *x = BgpTimespec{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (m *BgpAddrtype) GetIpv6FlowspecAddress() *IPv6FlowspecAddressType { - if m != nil { - return m.Ipv6FlowspecAddress +func (x *BgpTimespec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BgpTimespec) ProtoMessage() {} + +func (x *BgpTimespec) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BgpTimespec.ProtoReflect.Descriptor instead. +func (*BgpTimespec) Descriptor() ([]byte, []int) { + return file_proto_telemetry_bgp_bgp_nbr_bag_proto_rawDescGZIP(), []int{11} +} + +func (x *BgpTimespec) GetSeconds() uint32 { + if x != nil { + return x.Seconds + } + return 0 +} + +func (x *BgpTimespec) GetNanoseconds() uint32 { + if x != nil { + return x.Nanoseconds } - return nil + return 0 } -func (m *BgpAddrtype) GetIpv4VpnFlowspecAddress() *IPv4FlowspecAddressType { - if m != nil { - return m.Ipv4VpnFlowspecAddress - } - return nil +type BgpNbrMsgStatsUnit struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Count uint32 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` + LastTimeSpec *BgpTimespec `protobuf:"bytes,2,opt,name=last_time_spec,json=lastTimeSpec,proto3" json:"last_time_spec,omitempty"` } -func (m *BgpAddrtype) GetIpv6VpnFlowspecAddress() *IPv6FlowspecAddressType { - if m != nil { - return m.Ipv6VpnFlowspecAddress +func (x *BgpNbrMsgStatsUnit) Reset() { + *x = BgpNbrMsgStatsUnit{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -type BgpPerfNbrAf_ struct { - SubGroupPendingMessageCount uint32 `protobuf:"varint,1,opt,name=sub_group_pending_message_count,json=subGroupPendingMessageCount" json:"sub_group_pending_message_count,omitempty"` - ProcessedMessages uint32 `protobuf:"varint,2,opt,name=processed_messages,json=processedMessages" json:"processed_messages,omitempty"` - SentMessages uint32 `protobuf:"varint,3,opt,name=sent_messages,json=sentMessages" json:"sent_messages,omitempty"` - SplitHorizonUpdateTransmit uint32 `protobuf:"varint,4,opt,name=split_horizon_update_transmit,json=splitHorizonUpdateTransmit" json:"split_horizon_update_transmit,omitempty"` - SplitHorizonUpdateBlocked uint32 `protobuf:"varint,5,opt,name=split_horizon_update_blocked,json=splitHorizonUpdateBlocked" json:"split_horizon_update_blocked,omitempty"` - SplitHorizonWithdrawTransmit uint32 `protobuf:"varint,6,opt,name=split_horizon_withdraw_transmit,json=splitHorizonWithdrawTransmit" json:"split_horizon_withdraw_transmit,omitempty"` - SplitHorizonWithdrawBlocked uint32 `protobuf:"varint,7,opt,name=split_horizon_withdraw_blocked,json=splitHorizonWithdrawBlocked" json:"split_horizon_withdraw_blocked,omitempty"` +func (x *BgpNbrMsgStatsUnit) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *BgpPerfNbrAf_) Reset() { *m = BgpPerfNbrAf_{} } -func (m *BgpPerfNbrAf_) String() string { return proto.CompactTextString(m) } -func (*BgpPerfNbrAf_) ProtoMessage() {} -func (*BgpPerfNbrAf_) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} } +func (*BgpNbrMsgStatsUnit) ProtoMessage() {} -func (m *BgpPerfNbrAf_) GetSubGroupPendingMessageCount() uint32 { - if m != nil { - return m.SubGroupPendingMessageCount +func (x *BgpNbrMsgStatsUnit) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (m *BgpPerfNbrAf_) GetProcessedMessages() uint32 { - if m != nil { - return m.ProcessedMessages - } - return 0 +// Deprecated: Use BgpNbrMsgStatsUnit.ProtoReflect.Descriptor instead. +func (*BgpNbrMsgStatsUnit) Descriptor() ([]byte, []int) { + return file_proto_telemetry_bgp_bgp_nbr_bag_proto_rawDescGZIP(), []int{12} } -func (m *BgpPerfNbrAf_) GetSentMessages() uint32 { - if m != nil { - return m.SentMessages +func (x *BgpNbrMsgStatsUnit) GetCount() uint32 { + if x != nil { + return x.Count } return 0 } -func (m *BgpPerfNbrAf_) GetSplitHorizonUpdateTransmit() uint32 { - if m != nil { - return m.SplitHorizonUpdateTransmit +func (x *BgpNbrMsgStatsUnit) GetLastTimeSpec() *BgpTimespec { + if x != nil { + return x.LastTimeSpec } - return 0 + return nil } -func (m *BgpPerfNbrAf_) GetSplitHorizonUpdateBlocked() uint32 { - if m != nil { - return m.SplitHorizonUpdateBlocked - } - return 0 -} +type BgpNbrMsgStatsOp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *BgpPerfNbrAf_) GetSplitHorizonWithdrawTransmit() uint32 { - if m != nil { - return m.SplitHorizonWithdrawTransmit - } - return 0 + Tx *BgpNbrMsgStatsUnit `protobuf:"bytes,1,opt,name=tx,proto3" json:"tx,omitempty"` + Rx *BgpNbrMsgStatsUnit `protobuf:"bytes,2,opt,name=rx,proto3" json:"rx,omitempty"` } -func (m *BgpPerfNbrAf_) GetSplitHorizonWithdrawBlocked() uint32 { - if m != nil { - return m.SplitHorizonWithdrawBlocked +func (x *BgpNbrMsgStatsOp) Reset() { + *x = BgpNbrMsgStatsOp{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -type BgpPerfNbr_ struct { - // Number of partial read throttles - ReadThrottles uint32 `protobuf:"varint,1,opt,name=read_throttles,json=readThrottles" json:"read_throttles,omitempty"` - // Num socket reads after nbrs crossed low threshold - LowThrottledRead uint32 `protobuf:"varint,2,opt,name=low_throttled_read,json=lowThrottledRead" json:"low_throttled_read,omitempty"` - // Num of socket reads after nbr crossed high threshold - HighThrottledRead uint32 `protobuf:"varint,3,opt,name=high_throttled_read,json=highThrottledRead" json:"high_throttled_read,omitempty"` - // Time (in secs) since last read after being throttled - TimeSinceLastThrottledRead uint32 `protobuf:"varint,4,opt,name=time_since_last_throttled_read,json=timeSinceLastThrottledRead" json:"time_since_last_throttled_read,omitempty"` - // No. of calls to function to read inbound data - ReadCallsCount uint32 `protobuf:"varint,5,opt,name=read_calls_count,json=readCallsCount" json:"read_calls_count,omitempty"` - // Number of BGP messages read - ReadMessagesCount uint32 `protobuf:"varint,6,opt,name=read_messages_count,json=readMessagesCount" json:"read_messages_count,omitempty"` - // No. of bytes of data read - DataBytesRead uint32 `protobuf:"varint,7,opt,name=data_bytes_read,json=dataBytesRead" json:"data_bytes_read,omitempty"` - // Time spent reading inbound data (milliseconds) - IoReadTime uint32 `protobuf:"varint,8,opt,name=io_read_time,json=ioReadTime" json:"io_read_time,omitempty"` - // No. of calls to function to write outbound data - WriteCallsCount uint32 `protobuf:"varint,9,opt,name=write_calls_count,json=writeCallsCount" json:"write_calls_count,omitempty"` - // No. of data bytes written - DataBytesWritten uint32 `protobuf:"varint,10,opt,name=data_bytes_written,json=dataBytesWritten" json:"data_bytes_written,omitempty"` - // Time spent writing outbound data (milliseconds) - IoWriteTime uint32 `protobuf:"varint,11,opt,name=io_write_time,json=ioWriteTime" json:"io_write_time,omitempty"` - // Seq No of the last sent byte - LastSentSeqNo uint32 `protobuf:"varint,12,opt,name=last_sent_seq_no,json=lastSentSeqNo" json:"last_sent_seq_no,omitempty"` - // No. of calls to function to process sub-group message list - WriteSubgroupCallsCount uint32 `protobuf:"varint,13,opt,name=write_subgroup_calls_count,json=writeSubgroupCallsCount" json:"write_subgroup_calls_count,omitempty"` - // Number of sub-group msgs processed - WriteSubgroupMessagesCount uint32 `protobuf:"varint,14,opt,name=write_subgroup_messages_count,json=writeSubgroupMessagesCount" json:"write_subgroup_messages_count,omitempty"` - // Time spent processing sub-group message list (milliseconds) - SubgroupListTime uint32 `protobuf:"varint,15,opt,name=subgroup_list_time,json=subgroupListTime" json:"subgroup_list_time,omitempty"` - // No. of calls to function to process write queue - WriteQueueCallsCount uint32 `protobuf:"varint,16,opt,name=write_queue_calls_count,json=writeQueueCallsCount" json:"write_queue_calls_count,omitempty"` - // Number of write queue messages processed - WriteQueueMessagesCount uint32 `protobuf:"varint,17,opt,name=write_queue_messages_count,json=writeQueueMessagesCount" json:"write_queue_messages_count,omitempty"` - // Time spent processing write queue (milliseconds) - WriteQueueTime uint32 `protobuf:"varint,18,opt,name=write_queue_time,json=writeQueueTime" json:"write_queue_time,omitempty"` - // Number of inbound update messages processed - InboundUpdateMessages uint32 `protobuf:"varint,19,opt,name=inbound_update_messages,json=inboundUpdateMessages" json:"inbound_update_messages,omitempty"` - // Time spent processing inbound update messages (milliseconds) - InboundUpdateMessagesTime uint32 `protobuf:"varint,20,opt,name=inbound_update_messages_time,json=inboundUpdateMessagesTime" json:"inbound_update_messages_time,omitempty"` - // Size of largest socket (milliseconds) - MaximumReadSize uint32 `protobuf:"varint,21,opt,name=maximum_read_size,json=maximumReadSize" json:"maximum_read_size,omitempty"` - // Number of retried Active opens for this neighbor - Actives uint32 `protobuf:"varint,22,opt,name=actives" json:"actives,omitempty"` - // Number of Active Opens that failed in the Post Active State for this neighbor - FailedPostActives uint32 `protobuf:"varint,23,opt,name=failed_post_actives,json=failedPostActives" json:"failed_post_actives,omitempty"` - // Number of retried Passive opens for this neighbor - Passives uint32 `protobuf:"varint,24,opt,name=passives" json:"passives,omitempty"` - // Number of rejected Passive opens for this neighbor - RejectedPassives uint32 `protobuf:"varint,25,opt,name=rejected_passives,json=rejectedPassives" json:"rejected_passives,omitempty"` - // Number of Closed Active connections for this neighbor due to collision - ActiveCollision uint32 `protobuf:"varint,26,opt,name=active_collision,json=activeCollision" json:"active_collision,omitempty"` - // Number of Closed Remote opens for this neighborneighbor due to collision - PassiveCollision uint32 `protobuf:"varint,27,opt,name=passive_collision,json=passiveCollision" json:"passive_collision,omitempty"` - // Number of times io-control thread trigger read thread - ControlToReadThreadTrigger uint32 `protobuf:"varint,28,opt,name=control_to_read_thread_trigger,json=controlToReadThreadTrigger" json:"control_to_read_thread_trigger,omitempty"` - // Number of times io-control thread trigger write thread - ControlToWriteThreadTrigger uint32 `protobuf:"varint,29,opt,name=control_to_write_thread_trigger,json=controlToWriteThreadTrigger" json:"control_to_write_thread_trigger,omitempty"` - // Socket status, TRUE if socket closed - NetworkStatus uint32 `protobuf:"varint,30,opt,name=network_status,json=networkStatus" json:"network_status,omitempty"` - // Reset flags, per thread - ResetFlags uint32 `protobuf:"varint,31,opt,name=reset_flags,json=resetFlags" json:"reset_flags,omitempty"` - // Nbr flags, per thread - NbrFlags uint32 `protobuf:"varint,32,opt,name=nbr_flags,json=nbrFlags" json:"nbr_flags,omitempty"` - // Primary FD, per nbr - NbrFd int32 `protobuf:"zigzag32,33,opt,name=nbr_fd,json=nbrFd" json:"nbr_fd,omitempty"` - // Reset Retries, per nbr - ResetRetries uint32 `protobuf:"varint,34,opt,name=reset_retries,json=resetRetries" json:"reset_retries,omitempty"` - // Sync flags, per nbr - SyncFlags uint32 `protobuf:"varint,35,opt,name=sync_flags,json=syncFlags" json:"sync_flags,omitempty"` - // Number of times NSR scoped sync has been done - NsrOperDownCount uint32 `protobuf:"varint,36,opt,name=nsr_oper_down_count,json=nsrOperDownCount" json:"nsr_oper_down_count,omitempty"` - // Last time NSR scoped syncwas done for the neighbor - LastNsrScopedSync uint32 `protobuf:"varint,37,opt,name=last_nsr_scoped_sync,json=lastNsrScopedSync" json:"last_nsr_scoped_sync,omitempty"` +func (x *BgpNbrMsgStatsOp) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *BgpPerfNbr_) Reset() { *m = BgpPerfNbr_{} } -func (m *BgpPerfNbr_) String() string { return proto.CompactTextString(m) } -func (*BgpPerfNbr_) ProtoMessage() {} -func (*BgpPerfNbr_) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} } +func (*BgpNbrMsgStatsOp) ProtoMessage() {} -func (m *BgpPerfNbr_) GetReadThrottles() uint32 { - if m != nil { - return m.ReadThrottles +func (x *BgpNbrMsgStatsOp) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (m *BgpPerfNbr_) GetLowThrottledRead() uint32 { - if m != nil { - return m.LowThrottledRead - } - return 0 +// Deprecated: Use BgpNbrMsgStatsOp.ProtoReflect.Descriptor instead. +func (*BgpNbrMsgStatsOp) Descriptor() ([]byte, []int) { + return file_proto_telemetry_bgp_bgp_nbr_bag_proto_rawDescGZIP(), []int{13} } -func (m *BgpPerfNbr_) GetHighThrottledRead() uint32 { - if m != nil { - return m.HighThrottledRead +func (x *BgpNbrMsgStatsOp) GetTx() *BgpNbrMsgStatsUnit { + if x != nil { + return x.Tx } - return 0 + return nil } -func (m *BgpPerfNbr_) GetTimeSinceLastThrottledRead() uint32 { - if m != nil { - return m.TimeSinceLastThrottledRead +func (x *BgpNbrMsgStatsOp) GetRx() *BgpNbrMsgStatsUnit { + if x != nil { + return x.Rx } - return 0 + return nil } -func (m *BgpPerfNbr_) GetReadCallsCount() uint32 { - if m != nil { - return m.ReadCallsCount - } - return 0 -} +type BgpNbrMsgStats struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *BgpPerfNbr_) GetReadMessagesCount() uint32 { - if m != nil { - return m.ReadMessagesCount - } - return 0 + Open *BgpNbrMsgStatsOp `protobuf:"bytes,1,opt,name=open,proto3" json:"open,omitempty"` + Notification *BgpNbrMsgStatsOp `protobuf:"bytes,2,opt,name=notification,proto3" json:"notification,omitempty"` + Update *BgpNbrMsgStatsOp `protobuf:"bytes,3,opt,name=update,proto3" json:"update,omitempty"` + Keepalive *BgpNbrMsgStatsOp `protobuf:"bytes,4,opt,name=keepalive,proto3" json:"keepalive,omitempty"` + RouteRefresh *BgpNbrMsgStatsOp `protobuf:"bytes,5,opt,name=route_refresh,json=routeRefresh,proto3" json:"route_refresh,omitempty"` + Total *BgpNbrMsgStatsOp `protobuf:"bytes,6,opt,name=total,proto3" json:"total,omitempty"` } -func (m *BgpPerfNbr_) GetDataBytesRead() uint32 { - if m != nil { - return m.DataBytesRead +func (x *BgpNbrMsgStats) Reset() { + *x = BgpNbrMsgStats{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (m *BgpPerfNbr_) GetIoReadTime() uint32 { - if m != nil { - return m.IoReadTime - } - return 0 +func (x *BgpNbrMsgStats) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *BgpPerfNbr_) GetWriteCallsCount() uint32 { - if m != nil { - return m.WriteCallsCount +func (*BgpNbrMsgStats) ProtoMessage() {} + +func (x *BgpNbrMsgStats) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (m *BgpPerfNbr_) GetDataBytesWritten() uint32 { - if m != nil { - return m.DataBytesWritten - } - return 0 +// Deprecated: Use BgpNbrMsgStats.ProtoReflect.Descriptor instead. +func (*BgpNbrMsgStats) Descriptor() ([]byte, []int) { + return file_proto_telemetry_bgp_bgp_nbr_bag_proto_rawDescGZIP(), []int{14} } -func (m *BgpPerfNbr_) GetIoWriteTime() uint32 { - if m != nil { - return m.IoWriteTime +func (x *BgpNbrMsgStats) GetOpen() *BgpNbrMsgStatsOp { + if x != nil { + return x.Open } - return 0 + return nil } -func (m *BgpPerfNbr_) GetLastSentSeqNo() uint32 { - if m != nil { - return m.LastSentSeqNo +func (x *BgpNbrMsgStats) GetNotification() *BgpNbrMsgStatsOp { + if x != nil { + return x.Notification } - return 0 + return nil } -func (m *BgpPerfNbr_) GetWriteSubgroupCallsCount() uint32 { - if m != nil { - return m.WriteSubgroupCallsCount +func (x *BgpNbrMsgStats) GetUpdate() *BgpNbrMsgStatsOp { + if x != nil { + return x.Update } - return 0 + return nil } -func (m *BgpPerfNbr_) GetWriteSubgroupMessagesCount() uint32 { - if m != nil { - return m.WriteSubgroupMessagesCount +func (x *BgpNbrMsgStats) GetKeepalive() *BgpNbrMsgStatsOp { + if x != nil { + return x.Keepalive } - return 0 + return nil } -func (m *BgpPerfNbr_) GetSubgroupListTime() uint32 { - if m != nil { - return m.SubgroupListTime +func (x *BgpNbrMsgStats) GetRouteRefresh() *BgpNbrMsgStatsOp { + if x != nil { + return x.RouteRefresh } - return 0 + return nil } -func (m *BgpPerfNbr_) GetWriteQueueCallsCount() uint32 { - if m != nil { - return m.WriteQueueCallsCount +func (x *BgpNbrMsgStats) GetTotal() *BgpNbrMsgStatsOp { + if x != nil { + return x.Total } - return 0 + return nil } -func (m *BgpPerfNbr_) GetWriteQueueMessagesCount() uint32 { - if m != nil { - return m.WriteQueueMessagesCount - } - return 0 +type BgpNbrGshut_ struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + GshutExists bool `protobuf:"varint,1,opt,name=gshut_exists,json=gshutExists,proto3" json:"gshut_exists,omitempty"` + GshutLocalActive bool `protobuf:"varint,2,opt,name=gshut_local_active,json=gshutLocalActive,proto3" json:"gshut_local_active,omitempty"` + GshutActive bool `protobuf:"varint,3,opt,name=gshut_active,json=gshutActive,proto3" json:"gshut_active,omitempty"` + GshutLocprefSet bool `protobuf:"varint,4,opt,name=gshut_locpref_set,json=gshutLocprefSet,proto3" json:"gshut_locpref_set,omitempty"` + GshutLocpref uint32 `protobuf:"varint,5,opt,name=gshut_locpref,json=gshutLocpref,proto3" json:"gshut_locpref,omitempty"` + GshutPrepends uint32 `protobuf:"varint,6,opt,name=gshut_prepends,json=gshutPrepends,proto3" json:"gshut_prepends,omitempty"` + GshutInterfaceActive bool `protobuf:"varint,7,opt,name=gshut_interface_active,json=gshutInterfaceActive,proto3" json:"gshut_interface_active,omitempty"` + GshutLocationActive bool `protobuf:"varint,8,opt,name=gshut_location_active,json=gshutLocationActive,proto3" json:"gshut_location_active,omitempty"` } -func (m *BgpPerfNbr_) GetWriteQueueTime() uint32 { - if m != nil { - return m.WriteQueueTime +func (x *BgpNbrGshut_) Reset() { + *x = BgpNbrGshut_{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (m *BgpPerfNbr_) GetInboundUpdateMessages() uint32 { - if m != nil { - return m.InboundUpdateMessages - } - return 0 +func (x *BgpNbrGshut_) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *BgpPerfNbr_) GetInboundUpdateMessagesTime() uint32 { - if m != nil { - return m.InboundUpdateMessagesTime +func (*BgpNbrGshut_) ProtoMessage() {} + +func (x *BgpNbrGshut_) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (m *BgpPerfNbr_) GetMaximumReadSize() uint32 { - if m != nil { - return m.MaximumReadSize - } - return 0 +// Deprecated: Use BgpNbrGshut_.ProtoReflect.Descriptor instead. +func (*BgpNbrGshut_) Descriptor() ([]byte, []int) { + return file_proto_telemetry_bgp_bgp_nbr_bag_proto_rawDescGZIP(), []int{15} } -func (m *BgpPerfNbr_) GetActives() uint32 { - if m != nil { - return m.Actives +func (x *BgpNbrGshut_) GetGshutExists() bool { + if x != nil { + return x.GshutExists } - return 0 + return false } -func (m *BgpPerfNbr_) GetFailedPostActives() uint32 { - if m != nil { - return m.FailedPostActives +func (x *BgpNbrGshut_) GetGshutLocalActive() bool { + if x != nil { + return x.GshutLocalActive } - return 0 + return false } -func (m *BgpPerfNbr_) GetPassives() uint32 { - if m != nil { - return m.Passives +func (x *BgpNbrGshut_) GetGshutActive() bool { + if x != nil { + return x.GshutActive } - return 0 + return false } -func (m *BgpPerfNbr_) GetRejectedPassives() uint32 { - if m != nil { - return m.RejectedPassives +func (x *BgpNbrGshut_) GetGshutLocprefSet() bool { + if x != nil { + return x.GshutLocprefSet } - return 0 + return false } -func (m *BgpPerfNbr_) GetActiveCollision() uint32 { - if m != nil { - return m.ActiveCollision +func (x *BgpNbrGshut_) GetGshutLocpref() uint32 { + if x != nil { + return x.GshutLocpref } return 0 } -func (m *BgpPerfNbr_) GetPassiveCollision() uint32 { - if m != nil { - return m.PassiveCollision +func (x *BgpNbrGshut_) GetGshutPrepends() uint32 { + if x != nil { + return x.GshutPrepends } return 0 } -func (m *BgpPerfNbr_) GetControlToReadThreadTrigger() uint32 { - if m != nil { - return m.ControlToReadThreadTrigger +func (x *BgpNbrGshut_) GetGshutInterfaceActive() bool { + if x != nil { + return x.GshutInterfaceActive } - return 0 + return false } -func (m *BgpPerfNbr_) GetControlToWriteThreadTrigger() uint32 { - if m != nil { - return m.ControlToWriteThreadTrigger +func (x *BgpNbrGshut_) GetGshutLocationActive() bool { + if x != nil { + return x.GshutLocationActive } - return 0 + return false } -func (m *BgpPerfNbr_) GetNetworkStatus() uint32 { - if m != nil { - return m.NetworkStatus +type BgpNbrBag struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SpeakerId uint32 `protobuf:"varint,50,opt,name=speaker_id,json=speakerId,proto3" json:"speaker_id,omitempty"` + Description string `protobuf:"bytes,51,opt,name=description,proto3" json:"description,omitempty"` + LocalAs uint32 `protobuf:"varint,52,opt,name=local_as,json=localAs,proto3" json:"local_as,omitempty"` + RemoteAs uint32 `protobuf:"varint,53,opt,name=remote_as,json=remoteAs,proto3" json:"remote_as,omitempty"` + HasInternalLink bool `protobuf:"varint,54,opt,name=has_internal_link,json=hasInternalLink,proto3" json:"has_internal_link,omitempty"` + IsExternalNeighborNotDirectlyConnected bool `protobuf:"varint,55,opt,name=is_external_neighbor_not_directly_connected,json=isExternalNeighborNotDirectlyConnected,proto3" json:"is_external_neighbor_not_directly_connected,omitempty"` + MessagesReceived uint32 `protobuf:"varint,56,opt,name=messages_received,json=messagesReceived,proto3" json:"messages_received,omitempty"` + MessagesSent uint32 `protobuf:"varint,57,opt,name=messages_sent,json=messagesSent,proto3" json:"messages_sent,omitempty"` + UpdateMessagesIn uint32 `protobuf:"varint,58,opt,name=update_messages_in,json=updateMessagesIn,proto3" json:"update_messages_in,omitempty"` + UpdateMessagesOut uint32 `protobuf:"varint,59,opt,name=update_messages_out,json=updateMessagesOut,proto3" json:"update_messages_out,omitempty"` + MessagesQueuedIn uint32 `protobuf:"varint,60,opt,name=messages_queued_in,json=messagesQueuedIn,proto3" json:"messages_queued_in,omitempty"` + MessagesQueuedOut uint32 `protobuf:"varint,61,opt,name=messages_queued_out,json=messagesQueuedOut,proto3" json:"messages_queued_out,omitempty"` + ConnectionEstablishedTime uint32 `protobuf:"varint,62,opt,name=connection_established_time,json=connectionEstablishedTime,proto3" json:"connection_established_time,omitempty"` + ConnectionState string `protobuf:"bytes,63,opt,name=connection_state,json=connectionState,proto3" json:"connection_state,omitempty"` + PreviousConnectionState uint32 `protobuf:"varint,64,opt,name=previous_connection_state,json=previousConnectionState,proto3" json:"previous_connection_state,omitempty"` + ConnectionAdminStatus uint32 `protobuf:"varint,65,opt,name=connection_admin_status,json=connectionAdminStatus,proto3" json:"connection_admin_status,omitempty"` + OpenCheckErrorCode string `protobuf:"bytes,66,opt,name=open_check_error_code,json=openCheckErrorCode,proto3" json:"open_check_error_code,omitempty"` + ConnectionLocalAddress *BgpAddrtype `protobuf:"bytes,67,opt,name=connection_local_address,json=connectionLocalAddress,proto3" json:"connection_local_address,omitempty"` + IsLocalAddressConfigured bool `protobuf:"varint,68,opt,name=is_local_address_configured,json=isLocalAddressConfigured,proto3" json:"is_local_address_configured,omitempty"` + ConnectionLocalPort uint32 `protobuf:"varint,69,opt,name=connection_local_port,json=connectionLocalPort,proto3" json:"connection_local_port,omitempty"` + ConnectionRemoteAddress *BgpAddrtype `protobuf:"bytes,70,opt,name=connection_remote_address,json=connectionRemoteAddress,proto3" json:"connection_remote_address,omitempty"` + ConnectionRemotePort uint32 `protobuf:"varint,71,opt,name=connection_remote_port,json=connectionRemotePort,proto3" json:"connection_remote_port,omitempty"` + NeighborInterfaceHandle uint32 `protobuf:"varint,72,opt,name=neighbor_interface_handle,json=neighborInterfaceHandle,proto3" json:"neighbor_interface_handle,omitempty"` + ResetNotificationSent bool `protobuf:"varint,73,opt,name=reset_notification_sent,json=resetNotificationSent,proto3" json:"reset_notification_sent,omitempty"` + IsAdministrativelyShutDown bool `protobuf:"varint,74,opt,name=is_administratively_shut_down,json=isAdministrativelyShutDown,proto3" json:"is_administratively_shut_down,omitempty"` + IsNeighborMaxPrefixShutdown bool `protobuf:"varint,75,opt,name=is_neighbor_max_prefix_shutdown,json=isNeighborMaxPrefixShutdown,proto3" json:"is_neighbor_max_prefix_shutdown,omitempty"` + IsOutOfMemoryShutdown bool `protobuf:"varint,76,opt,name=is_out_of_memory_shutdown,json=isOutOfMemoryShutdown,proto3" json:"is_out_of_memory_shutdown,omitempty"` + IsOutOfMemoryForcedUp bool `protobuf:"varint,77,opt,name=is_out_of_memory_forced_up,json=isOutOfMemoryForcedUp,proto3" json:"is_out_of_memory_forced_up,omitempty"` + IsEbgpPeerAsLeague bool `protobuf:"varint,78,opt,name=is_ebgp_peer_as_league,json=isEbgpPeerAsLeague,proto3" json:"is_ebgp_peer_as_league,omitempty"` + IsEbgpPeerCommonAdmin bool `protobuf:"varint,79,opt,name=is_ebgp_peer_common_admin,json=isEbgpPeerCommonAdmin,proto3" json:"is_ebgp_peer_common_admin,omitempty"` + TtlSecurityEnabled bool `protobuf:"varint,80,opt,name=ttl_security_enabled,json=ttlSecurityEnabled,proto3" json:"ttl_security_enabled,omitempty"` + Suppress4ByteAs bool `protobuf:"varint,81,opt,name=suppress4_byte_as,json=suppress4ByteAs,proto3" json:"suppress4_byte_as,omitempty"` + BfdSessionState string `protobuf:"bytes,82,opt,name=bfd_session_state,json=bfdSessionState,proto3" json:"bfd_session_state,omitempty"` + BfdSessionCreatedState string `protobuf:"bytes,83,opt,name=bfd_session_created_state,json=bfdSessionCreatedState,proto3" json:"bfd_session_created_state,omitempty"` + BfdSessionEnableMode string `protobuf:"bytes,84,opt,name=bfd_session_enable_mode,json=bfdSessionEnableMode,proto3" json:"bfd_session_enable_mode,omitempty"` + BfdMinintervalval uint32 `protobuf:"varint,85,opt,name=bfd_minintervalval,json=bfdMinintervalval,proto3" json:"bfd_minintervalval,omitempty"` + BfdMultiplierval uint32 `protobuf:"varint,86,opt,name=bfd_multiplierval,json=bfdMultiplierval,proto3" json:"bfd_multiplierval,omitempty"` + BfdStateTs uint64 `protobuf:"varint,87,opt,name=bfd_state_ts,json=bfdStateTs,proto3" json:"bfd_state_ts,omitempty"` + RouterId string `protobuf:"bytes,88,opt,name=router_id,json=routerId,proto3" json:"router_id,omitempty"` + NegotiatedProtocolVersion uint32 `protobuf:"varint,89,opt,name=negotiated_protocol_version,json=negotiatedProtocolVersion,proto3" json:"negotiated_protocol_version,omitempty"` + EbgpTimeToLive uint32 `protobuf:"varint,90,opt,name=ebgp_time_to_live,json=ebgpTimeToLive,proto3" json:"ebgp_time_to_live,omitempty"` + IsEbgpMultihopBgpmplsForwardingDisabled bool `protobuf:"varint,91,opt,name=is_ebgp_multihop_bgpmpls_forwarding_disabled,json=isEbgpMultihopBgpmplsForwardingDisabled,proto3" json:"is_ebgp_multihop_bgpmpls_forwarding_disabled,omitempty"` + Tcpmss uint32 `protobuf:"varint,92,opt,name=tcpmss,proto3" json:"tcpmss,omitempty"` + MsgLogIn uint32 `protobuf:"varint,93,opt,name=msg_log_in,json=msgLogIn,proto3" json:"msg_log_in,omitempty"` + MsgLogOut uint32 `protobuf:"varint,94,opt,name=msg_log_out,json=msgLogOut,proto3" json:"msg_log_out,omitempty"` + NeighborLocalAs uint32 `protobuf:"varint,95,opt,name=neighbor_local_as,json=neighborLocalAs,proto3" json:"neighbor_local_as,omitempty"` + LocalAsNoPrepend bool `protobuf:"varint,96,opt,name=local_as_no_prepend,json=localAsNoPrepend,proto3" json:"local_as_no_prepend,omitempty"` + IsCapabilityNegotiationSuppressed bool `protobuf:"varint,97,opt,name=is_capability_negotiation_suppressed,json=isCapabilityNegotiationSuppressed,proto3" json:"is_capability_negotiation_suppressed,omitempty"` + IsCapabilityNegotiationPerformed bool `protobuf:"varint,98,opt,name=is_capability_negotiation_performed,json=isCapabilityNegotiationPerformed,proto3" json:"is_capability_negotiation_performed,omitempty"` + IsRouteRefreshCapabilityReceived bool `protobuf:"varint,99,opt,name=is_route_refresh_capability_received,json=isRouteRefreshCapabilityReceived,proto3" json:"is_route_refresh_capability_received,omitempty"` + IsRouteRefreshOldCapabilityReceived bool `protobuf:"varint,100,opt,name=is_route_refresh_old_capability_received,json=isRouteRefreshOldCapabilityReceived,proto3" json:"is_route_refresh_old_capability_received,omitempty"` + IsGrAware bool `protobuf:"varint,101,opt,name=is_gr_aware,json=isGrAware,proto3" json:"is_gr_aware,omitempty"` + Is4ByteAsCapabilityReceived bool `protobuf:"varint,102,opt,name=is4_byte_as_capability_received,json=is4ByteAsCapabilityReceived,proto3" json:"is4_byte_as_capability_received,omitempty"` + Is4ByteAsCapabilitySent bool `protobuf:"varint,103,opt,name=is4_byte_as_capability_sent,json=is4ByteAsCapabilitySent,proto3" json:"is4_byte_as_capability_sent,omitempty"` + MultiProtocolCapabilityReceived bool `protobuf:"varint,104,opt,name=multi_protocol_capability_received,json=multiProtocolCapabilityReceived,proto3" json:"multi_protocol_capability_received,omitempty"` + HoldTime uint32 `protobuf:"varint,105,opt,name=hold_time,json=holdTime,proto3" json:"hold_time,omitempty"` + KeepAliveTime uint32 `protobuf:"varint,106,opt,name=keep_alive_time,json=keepAliveTime,proto3" json:"keep_alive_time,omitempty"` + ConfiguredHoldTime uint32 `protobuf:"varint,107,opt,name=configured_hold_time,json=configuredHoldTime,proto3" json:"configured_hold_time,omitempty"` + ConfiguredKeepalive uint32 `protobuf:"varint,108,opt,name=configured_keepalive,json=configuredKeepalive,proto3" json:"configured_keepalive,omitempty"` + ConfiguredMinAccHoldTime uint32 `protobuf:"varint,109,opt,name=configured_min_acc_hold_time,json=configuredMinAccHoldTime,proto3" json:"configured_min_acc_hold_time,omitempty"` + MinAdvertiseInterval uint32 `protobuf:"varint,110,opt,name=min_advertise_interval,json=minAdvertiseInterval,proto3" json:"min_advertise_interval,omitempty"` + MinAdvertiseIntervalMsecs uint32 `protobuf:"varint,111,opt,name=min_advertise_interval_msecs,json=minAdvertiseIntervalMsecs,proto3" json:"min_advertise_interval_msecs,omitempty"` + MinOriginationInterval uint32 `protobuf:"varint,112,opt,name=min_origination_interval,json=minOriginationInterval,proto3" json:"min_origination_interval,omitempty"` + ConnectRetryInterval uint32 `protobuf:"varint,113,opt,name=connect_retry_interval,json=connectRetryInterval,proto3" json:"connect_retry_interval,omitempty"` + TimeSinceLastUpdate uint32 `protobuf:"varint,114,opt,name=time_since_last_update,json=timeSinceLastUpdate,proto3" json:"time_since_last_update,omitempty"` + TimeSinceLastRead uint32 `protobuf:"varint,115,opt,name=time_since_last_read,json=timeSinceLastRead,proto3" json:"time_since_last_read,omitempty"` + TimeSinceLastReadReset uint32 `protobuf:"varint,116,opt,name=time_since_last_read_reset,json=timeSinceLastReadReset,proto3" json:"time_since_last_read_reset,omitempty"` + TimeLastCb uint64 `protobuf:"varint,117,opt,name=time_last_cb,json=timeLastCb,proto3" json:"time_last_cb,omitempty"` + TimeLastCbReset uint32 `protobuf:"varint,118,opt,name=time_last_cb_reset,json=timeLastCbReset,proto3" json:"time_last_cb_reset,omitempty"` + TimeLastFb uint64 `protobuf:"varint,119,opt,name=time_last_fb,json=timeLastFb,proto3" json:"time_last_fb,omitempty"` + CountLastWrite uint32 `protobuf:"varint,120,opt,name=count_last_write,json=countLastWrite,proto3" json:"count_last_write,omitempty"` + TimeSinceLastWrite uint32 `protobuf:"varint,121,opt,name=time_since_last_write,json=timeSinceLastWrite,proto3" json:"time_since_last_write,omitempty"` + AttemptedLastWriteBytes uint32 `protobuf:"varint,122,opt,name=attempted_last_write_bytes,json=attemptedLastWriteBytes,proto3" json:"attempted_last_write_bytes,omitempty"` + ActualLastWriteBytes uint32 `protobuf:"varint,123,opt,name=actual_last_write_bytes,json=actualLastWriteBytes,proto3" json:"actual_last_write_bytes,omitempty"` + TimeSinceSecondLastWrite uint32 `protobuf:"varint,124,opt,name=time_since_second_last_write,json=timeSinceSecondLastWrite,proto3" json:"time_since_second_last_write,omitempty"` + AttemptedSecondLastWriteBytes uint32 `protobuf:"varint,125,opt,name=attempted_second_last_write_bytes,json=attemptedSecondLastWriteBytes,proto3" json:"attempted_second_last_write_bytes,omitempty"` + ActualSecondLastWriteBytes uint32 `protobuf:"varint,126,opt,name=actual_second_last_write_bytes,json=actualSecondLastWriteBytes,proto3" json:"actual_second_last_write_bytes,omitempty"` + TimeSinceLastWriteReset uint32 `protobuf:"varint,127,opt,name=time_since_last_write_reset,json=timeSinceLastWriteReset,proto3" json:"time_since_last_write_reset,omitempty"` + AttemptedLastWriteResetBytes uint32 `protobuf:"varint,128,opt,name=attempted_last_write_reset_bytes,json=attemptedLastWriteResetBytes,proto3" json:"attempted_last_write_reset_bytes,omitempty"` + ActualLastWriteResetBytes uint32 `protobuf:"varint,129,opt,name=actual_last_write_reset_bytes,json=actualLastWriteResetBytes,proto3" json:"actual_last_write_reset_bytes,omitempty"` + TimeSinceSecondLastWriteReset uint32 `protobuf:"varint,130,opt,name=time_since_second_last_write_reset,json=timeSinceSecondLastWriteReset,proto3" json:"time_since_second_last_write_reset,omitempty"` + AttemptedSecondLastWriteResetBytes uint32 `protobuf:"varint,131,opt,name=attempted_second_last_write_reset_bytes,json=attemptedSecondLastWriteResetBytes,proto3" json:"attempted_second_last_write_reset_bytes,omitempty"` + ActualSecondLastWriteResetBytes uint32 `protobuf:"varint,132,opt,name=actual_second_last_write_reset_bytes,json=actualSecondLastWriteResetBytes,proto3" json:"actual_second_last_write_reset_bytes,omitempty"` + LastWriteEvent uint32 `protobuf:"varint,133,opt,name=last_write_event,json=lastWriteEvent,proto3" json:"last_write_event,omitempty"` + SecondLastWriteEvent uint32 `protobuf:"varint,134,opt,name=second_last_write_event,json=secondLastWriteEvent,proto3" json:"second_last_write_event,omitempty"` + LastKAexpiryReset uint32 `protobuf:"varint,135,opt,name=last_k_aexpiry_reset,json=lastKAexpiryReset,proto3" json:"last_k_aexpiry_reset,omitempty"` + SecondLastKAexpiryReset uint32 `protobuf:"varint,136,opt,name=second_last_k_aexpiry_reset,json=secondLastKAexpiryReset,proto3" json:"second_last_k_aexpiry_reset,omitempty"` + LastKAnotsentReset uint32 `protobuf:"varint,137,opt,name=last_k_anotsent_reset,json=lastKAnotsentReset,proto3" json:"last_k_anotsent_reset,omitempty"` + LastKAerrorReset uint32 `protobuf:"varint,138,opt,name=last_k_aerror_reset,json=lastKAerrorReset,proto3" json:"last_k_aerror_reset,omitempty"` + LastKAstartReset uint32 `protobuf:"varint,139,opt,name=last_k_astart_reset,json=lastKAstartReset,proto3" json:"last_k_astart_reset,omitempty"` + SecondLastKAstartReset uint32 `protobuf:"varint,140,opt,name=second_last_k_astart_reset,json=secondLastKAstartReset,proto3" json:"second_last_k_astart_reset,omitempty"` + ConnectionUpCount uint32 `protobuf:"varint,141,opt,name=connection_up_count,json=connectionUpCount,proto3" json:"connection_up_count,omitempty"` + ConnectionDownCount uint32 `protobuf:"varint,142,opt,name=connection_down_count,json=connectionDownCount,proto3" json:"connection_down_count,omitempty"` + TimeSinceConnectionLastDropped uint32 `protobuf:"varint,143,opt,name=time_since_connection_last_dropped,json=timeSinceConnectionLastDropped,proto3" json:"time_since_connection_last_dropped,omitempty"` + ResetReason string `protobuf:"bytes,144,opt,name=reset_reason,json=resetReason,proto3" json:"reset_reason,omitempty"` + PeerResetReason string `protobuf:"bytes,145,opt,name=peer_reset_reason,json=peerResetReason,proto3" json:"peer_reset_reason,omitempty"` + PeerErrorCode uint32 `protobuf:"varint,146,opt,name=peer_error_code,json=peerErrorCode,proto3" json:"peer_error_code,omitempty"` + LastNotifyErrorCode uint32 `protobuf:"varint,147,opt,name=last_notify_error_code,json=lastNotifyErrorCode,proto3" json:"last_notify_error_code,omitempty"` + LastNotifyErrorSubcode uint32 `protobuf:"varint,148,opt,name=last_notify_error_subcode,json=lastNotifyErrorSubcode,proto3" json:"last_notify_error_subcode,omitempty"` + SendNotificationInfo *BgpNotfntype_ `protobuf:"bytes,149,opt,name=send_notification_info,json=sendNotificationInfo,proto3" json:"send_notification_info,omitempty"` + ReceivedNotificationInfo *BgpNotfntype_ `protobuf:"bytes,150,opt,name=received_notification_info,json=receivedNotificationInfo,proto3" json:"received_notification_info,omitempty"` + ErrorNotifiesReceived uint32 `protobuf:"varint,151,opt,name=error_notifies_received,json=errorNotifiesReceived,proto3" json:"error_notifies_received,omitempty"` + ErrorNotifiesSent uint32 `protobuf:"varint,152,opt,name=error_notifies_sent,json=errorNotifiesSent,proto3" json:"error_notifies_sent,omitempty"` + RemoteAsNumber uint32 `protobuf:"varint,153,opt,name=remote_as_number,json=remoteAsNumber,proto3" json:"remote_as_number,omitempty"` + DmzLinkBandwidth uint32 `protobuf:"varint,154,opt,name=dmz_link_bandwidth,json=dmzLinkBandwidth,proto3" json:"dmz_link_bandwidth,omitempty"` + EbgpRecvDmz bool `protobuf:"varint,155,opt,name=ebgp_recv_dmz,json=ebgpRecvDmz,proto3" json:"ebgp_recv_dmz,omitempty"` + EbgpSendDmzMode string `protobuf:"bytes,156,opt,name=ebgp_send_dmz_mode,json=ebgpSendDmzMode,proto3" json:"ebgp_send_dmz_mode,omitempty"` + TosType uint32 `protobuf:"varint,157,opt,name=tos_type,json=tosType,proto3" json:"tos_type,omitempty"` + TosValue uint32 `protobuf:"varint,158,opt,name=tos_value,json=tosValue,proto3" json:"tos_value,omitempty"` + PerformanceStatistics *BgpPerfNbr_ `protobuf:"bytes,159,opt,name=performance_statistics,json=performanceStatistics,proto3" json:"performance_statistics,omitempty"` + AfData []*BgpNbrAf_ `protobuf:"bytes,160,rep,name=af_data,json=afData,proto3" json:"af_data,omitempty"` + TcpSessionOpenMode string `protobuf:"bytes,161,opt,name=tcp_session_open_mode,json=tcpSessionOpenMode,proto3" json:"tcp_session_open_mode,omitempty"` + VrfName string `protobuf:"bytes,162,opt,name=vrf_name,json=vrfName,proto3" json:"vrf_name,omitempty"` + StandbyRp bool `protobuf:"varint,163,opt,name=standby_rp,json=standbyRp,proto3" json:"standby_rp,omitempty"` + NsrEnabled bool `protobuf:"varint,164,opt,name=nsr_enabled,json=nsrEnabled,proto3" json:"nsr_enabled,omitempty"` + GracefulRestartEnabledNbr bool `protobuf:"varint,165,opt,name=graceful_restart_enabled_nbr,json=gracefulRestartEnabledNbr,proto3" json:"graceful_restart_enabled_nbr,omitempty"` + GrRestartTime uint32 `protobuf:"varint,166,opt,name=gr_restart_time,json=grRestartTime,proto3" json:"gr_restart_time,omitempty"` + GrStalePathTime uint32 `protobuf:"varint,167,opt,name=gr_stale_path_time,json=grStalePathTime,proto3" json:"gr_stale_path_time,omitempty"` + FssnOffset uint32 `protobuf:"varint,168,opt,name=fssn_offset,json=fssnOffset,proto3" json:"fssn_offset,omitempty"` + FpbsnOffset uint32 `protobuf:"varint,169,opt,name=fpbsn_offset,json=fpbsnOffset,proto3" json:"fpbsn_offset,omitempty"` + LastAckdSeqNo uint32 `protobuf:"varint,170,opt,name=last_ackd_seq_no,json=lastAckdSeqNo,proto3" json:"last_ackd_seq_no,omitempty"` + BytesWritten uint32 `protobuf:"varint,171,opt,name=bytes_written,json=bytesWritten,proto3" json:"bytes_written,omitempty"` + BytesRead uint32 `protobuf:"varint,172,opt,name=bytes_read,json=bytesRead,proto3" json:"bytes_read,omitempty"` + SocketReadBytes uint32 `protobuf:"varint,173,opt,name=socket_read_bytes,json=socketReadBytes,proto3" json:"socket_read_bytes,omitempty"` + IsReadDisabled bool `protobuf:"varint,174,opt,name=is_read_disabled,json=isReadDisabled,proto3" json:"is_read_disabled,omitempty"` + UpdateBytesRead uint32 `protobuf:"varint,175,opt,name=update_bytes_read,json=updateBytesRead,proto3" json:"update_bytes_read,omitempty"` + NsrState string `protobuf:"bytes,176,opt,name=nsr_state,json=nsrState,proto3" json:"nsr_state,omitempty"` + IsPassiveClose bool `protobuf:"varint,177,opt,name=is_passive_close,json=isPassiveClose,proto3" json:"is_passive_close,omitempty"` + NbrEnforceFirstAs bool `protobuf:"varint,178,opt,name=nbr_enforce_first_as,json=nbrEnforceFirstAs,proto3" json:"nbr_enforce_first_as,omitempty"` + ActiveBmpServers uint32 `protobuf:"varint,179,opt,name=active_bmp_servers,json=activeBmpServers,proto3" json:"active_bmp_servers,omitempty"` + NbrClusterId uint32 `protobuf:"varint,180,opt,name=nbr_cluster_id,json=nbrClusterId,proto3" json:"nbr_cluster_id,omitempty"` + NbrInCluster uint32 `protobuf:"varint,181,opt,name=nbr_in_cluster,json=nbrInCluster,proto3" json:"nbr_in_cluster,omitempty"` + IgnoreConnected bool `protobuf:"varint,182,opt,name=ignore_connected,json=ignoreConnected,proto3" json:"ignore_connected,omitempty"` + InternalVpnClient bool `protobuf:"varint,183,opt,name=internal_vpn_client,json=internalVpnClient,proto3" json:"internal_vpn_client,omitempty"` + IoArmed bool `protobuf:"varint,184,opt,name=io_armed,json=ioArmed,proto3" json:"io_armed,omitempty"` + ReadArmed bool `protobuf:"varint,185,opt,name=read_armed,json=readArmed,proto3" json:"read_armed,omitempty"` + WriteArmed bool `protobuf:"varint,186,opt,name=write_armed,json=writeArmed,proto3" json:"write_armed,omitempty"` + MessageStatistics *BgpNbrMsgStats `protobuf:"bytes,187,opt,name=message_statistics,json=messageStatistics,proto3" json:"message_statistics,omitempty"` + DiscardDataBytes uint32 `protobuf:"varint,188,opt,name=discard_data_bytes,json=discardDataBytes,proto3" json:"discard_data_bytes,omitempty"` + LocalAsReplaceAs bool `protobuf:"varint,189,opt,name=local_as_replace_as,json=localAsReplaceAs,proto3" json:"local_as_replace_as,omitempty"` + LocalAsDualAs bool `protobuf:"varint,190,opt,name=local_as_dual_as,json=localAsDualAs,proto3" json:"local_as_dual_as,omitempty"` + LocalAsDualAsModeNative bool `protobuf:"varint,191,opt,name=local_as_dual_as_mode_native,json=localAsDualAsModeNative,proto3" json:"local_as_dual_as_mode_native,omitempty"` + EgressPeerEngineeringEnabled bool `protobuf:"varint,192,opt,name=egress_peer_engineering_enabled,json=egressPeerEngineeringEnabled,proto3" json:"egress_peer_engineering_enabled,omitempty"` + TcpInitSyncTimeSpec *BgpTimespec `protobuf:"bytes,193,opt,name=tcp_init_sync_time_spec,json=tcpInitSyncTimeSpec,proto3" json:"tcp_init_sync_time_spec,omitempty"` + TcpInitSyncPhaseTwoTimeSpec *BgpTimespec `protobuf:"bytes,194,opt,name=tcp_init_sync_phase_two_time_spec,json=tcpInitSyncPhaseTwoTimeSpec,proto3" json:"tcp_init_sync_phase_two_time_spec,omitempty"` + TcpInitSyncDoneTimeSpec *BgpTimespec `protobuf:"bytes,195,opt,name=tcp_init_sync_done_time_spec,json=tcpInitSyncDoneTimeSpec,proto3" json:"tcp_init_sync_done_time_spec,omitempty"` + DiscardAs4Path uint32 `protobuf:"varint,196,opt,name=discard_as4_path,json=discardAs4Path,proto3" json:"discard_as4_path,omitempty"` + RpkiDisable bool `protobuf:"varint,197,opt,name=rpki_disable,json=rpkiDisable,proto3" json:"rpki_disable,omitempty"` + RpkiUseValidity bool `protobuf:"varint,198,opt,name=rpki_use_validity,json=rpkiUseValidity,proto3" json:"rpki_use_validity,omitempty"` + RpkiAllowInvalid bool `protobuf:"varint,199,opt,name=rpki_allow_invalid,json=rpkiAllowInvalid,proto3" json:"rpki_allow_invalid,omitempty"` + RpkiSignalIbgp bool `protobuf:"varint,200,opt,name=rpki_signal_ibgp,json=rpkiSignalIbgp,proto3" json:"rpki_signal_ibgp,omitempty"` + GracefulMaintenance *BgpNbrGshut_ `protobuf:"bytes,201,opt,name=graceful_maintenance,json=gracefulMaintenance,proto3" json:"graceful_maintenance,omitempty"` + DynamicNeighbor bool `protobuf:"varint,202,opt,name=dynamic_neighbor,json=dynamicNeighbor,proto3" json:"dynamic_neighbor,omitempty"` + MergeInboundSafi1And4Updates bool `protobuf:"varint,203,opt,name=merge_inbound_safi1and4_updates,json=mergeInboundSafi1and4Updates,proto3" json:"merge_inbound_safi1and4_updates,omitempty"` + IsCapabilityEnheSuppressed bool `protobuf:"varint,204,opt,name=is_capability_enhe_suppressed,json=isCapabilityEnheSuppressed,proto3" json:"is_capability_enhe_suppressed,omitempty"` + DeleteTimeRemaining uint32 `protobuf:"varint,205,opt,name=delete_time_remaining,json=deleteTimeRemaining,proto3" json:"delete_time_remaining,omitempty"` +} + +func (x *BgpNbrBag) Reset() { + *x = BgpNbrBag{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (m *BgpPerfNbr_) GetResetFlags() uint32 { - if m != nil { - return m.ResetFlags - } - return 0 +func (x *BgpNbrBag) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *BgpPerfNbr_) GetNbrFlags() uint32 { - if m != nil { - return m.NbrFlags +func (*BgpNbrBag) ProtoMessage() {} + +func (x *BgpNbrBag) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (m *BgpPerfNbr_) GetNbrFd() int32 { - if m != nil { - return m.NbrFd - } - return 0 +// Deprecated: Use BgpNbrBag.ProtoReflect.Descriptor instead. +func (*BgpNbrBag) Descriptor() ([]byte, []int) { + return file_proto_telemetry_bgp_bgp_nbr_bag_proto_rawDescGZIP(), []int{16} } -func (m *BgpPerfNbr_) GetResetRetries() uint32 { - if m != nil { - return m.ResetRetries +func (x *BgpNbrBag) GetSpeakerId() uint32 { + if x != nil { + return x.SpeakerId } return 0 } -func (m *BgpPerfNbr_) GetSyncFlags() uint32 { - if m != nil { - return m.SyncFlags +func (x *BgpNbrBag) GetDescription() string { + if x != nil { + return x.Description } - return 0 + return "" } -func (m *BgpPerfNbr_) GetNsrOperDownCount() uint32 { - if m != nil { - return m.NsrOperDownCount +func (x *BgpNbrBag) GetLocalAs() uint32 { + if x != nil { + return x.LocalAs } return 0 } -func (m *BgpPerfNbr_) GetLastNsrScopedSync() uint32 { - if m != nil { - return m.LastNsrScopedSync +func (x *BgpNbrBag) GetRemoteAs() uint32 { + if x != nil { + return x.RemoteAs } return 0 } -type BgpNbrGshut_ struct { - // Graceful Maintenance enabled - GshutExists string `protobuf:"bytes,1,opt,name=gshut_exists,json=gshutExists" json:"gshut_exists,omitempty"` - // Graceful Maintenance locally activated - GshutLocalActive string `protobuf:"bytes,2,opt,name=gshut_local_active,json=gshutLocalActive" json:"gshut_local_active,omitempty"` - // Graceful Maintenance activated - GshutActive string `protobuf:"bytes,3,opt,name=gshut_active,json=gshutActive" json:"gshut_active,omitempty"` - // Graceful Maintenance Local Preference set - GshutLocprefSet string `protobuf:"bytes,4,opt,name=gshut_locpref_set,json=gshutLocprefSet" json:"gshut_locpref_set,omitempty"` - // Graceful Maintenance Local Preference - GshutLocpref uint32 `protobuf:"varint,5,opt,name=gshut_locpref,json=gshutLocpref" json:"gshut_locpref,omitempty"` - // Graceful Maintenance number of AS prepends - GshutPrepends uint32 `protobuf:"varint,6,opt,name=gshut_prepends,json=gshutPrepends" json:"gshut_prepends,omitempty"` -} - -func (m *BgpNbrGshut_) Reset() { *m = BgpNbrGshut_{} } -func (m *BgpNbrGshut_) String() string { return proto.CompactTextString(m) } -func (*BgpNbrGshut_) ProtoMessage() {} -func (*BgpNbrGshut_) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} } - -func (m *BgpNbrGshut_) GetGshutExists() string { - if m != nil { - return m.GshutExists +func (x *BgpNbrBag) GetHasInternalLink() bool { + if x != nil { + return x.HasInternalLink } - return "" + return false } -func (m *BgpNbrGshut_) GetGshutLocalActive() string { - if m != nil { - return m.GshutLocalActive +func (x *BgpNbrBag) GetIsExternalNeighborNotDirectlyConnected() bool { + if x != nil { + return x.IsExternalNeighborNotDirectlyConnected } - return "" + return false } -func (m *BgpNbrGshut_) GetGshutActive() string { - if m != nil { - return m.GshutActive +func (x *BgpNbrBag) GetMessagesReceived() uint32 { + if x != nil { + return x.MessagesReceived } - return "" + return 0 } -func (m *BgpNbrGshut_) GetGshutLocprefSet() string { - if m != nil { - return m.GshutLocprefSet +func (x *BgpNbrBag) GetMessagesSent() uint32 { + if x != nil { + return x.MessagesSent } - return "" + return 0 } -func (m *BgpNbrGshut_) GetGshutLocpref() uint32 { - if m != nil { - return m.GshutLocpref +func (x *BgpNbrBag) GetUpdateMessagesIn() uint32 { + if x != nil { + return x.UpdateMessagesIn } return 0 } -func (m *BgpNbrGshut_) GetGshutPrepends() uint32 { - if m != nil { - return m.GshutPrepends +func (x *BgpNbrBag) GetUpdateMessagesOut() uint32 { + if x != nil { + return x.UpdateMessagesOut } return 0 } -type BgpNbrAf_ struct { - AfName string `protobuf:"bytes,1,opt,name=af_name,json=afName" json:"af_name,omitempty"` - IsNeighborRouteReflectorClient string `protobuf:"bytes,2,opt,name=is_neighbor_route_reflector_client,json=isNeighborRouteReflectorClient" json:"is_neighbor_route_reflector_client,omitempty"` - IsLegacyPeRt string `protobuf:"bytes,3,opt,name=is_legacy_pe_rt,json=isLegacyPeRt" json:"is_legacy_pe_rt,omitempty"` - IsNeighborAfCapable string `protobuf:"bytes,4,opt,name=is_neighbor_af_capable,json=isNeighborAfCapable" json:"is_neighbor_af_capable,omitempty"` - IsSoftReconfigurationInboundAllowed string `protobuf:"bytes,5,opt,name=is_soft_reconfiguration_inbound_allowed,json=isSoftReconfigurationInboundAllowed" json:"is_soft_reconfiguration_inbound_allowed,omitempty"` - IsUseSoftReconfigurationAlwaysOn string `protobuf:"bytes,6,opt,name=is_use_soft_reconfiguration_always_on,json=isUseSoftReconfigurationAlwaysOn" json:"is_use_soft_reconfiguration_always_on,omitempty"` - RemovePrivateAsFromUpdates string `protobuf:"bytes,7,opt,name=remove_private_as_from_updates,json=removePrivateAsFromUpdates" json:"remove_private_as_from_updates,omitempty"` - RemovePrivateAsEntireAspathFromUpdates string `protobuf:"bytes,8,opt,name=remove_private_as_entire_aspath_from_updates,json=removePrivateAsEntireAspathFromUpdates" json:"remove_private_as_entire_aspath_from_updates,omitempty"` - RemovePrivateAsFromInboundUpdates string `protobuf:"bytes,9,opt,name=remove_private_as_from_inbound_updates,json=removePrivateAsFromInboundUpdates" json:"remove_private_as_from_inbound_updates,omitempty"` - RemovePrivateAsEntireAspathFromInboundUpdates string `protobuf:"bytes,10,opt,name=remove_private_as_entire_aspath_from_inbound_updates,json=removePrivateAsEntireAspathFromInboundUpdates" json:"remove_private_as_entire_aspath_from_inbound_updates,omitempty"` - FlowspecValidationDIsable string `protobuf:"bytes,11,opt,name=flowspec_validation_d_isable,json=flowspecValidationDIsable" json:"flowspec_validation_d_isable,omitempty"` - FlowspecRedirectValidationDIsable string `protobuf:"bytes,12,opt,name=flowspec_redirect_validation_d_isable,json=flowspecRedirectValidationDIsable" json:"flowspec_redirect_validation_d_isable,omitempty"` - OrrGroupName string `protobuf:"bytes,13,opt,name=orr_group_name,json=orrGroupName" json:"orr_group_name,omitempty"` - OrrGroupIndex uint32 `protobuf:"varint,14,opt,name=orr_group_index,json=orrGroupIndex" json:"orr_group_index,omitempty"` - IsOrrRootAddressConfigured string `protobuf:"bytes,15,opt,name=is_orr_root_address_configured,json=isOrrRootAddressConfigured" json:"is_orr_root_address_configured,omitempty"` - AdvertiseAfi string `protobuf:"bytes,16,opt,name=advertise_afi,json=advertiseAfi" json:"advertise_afi,omitempty"` - AdvertiseAfiReorg string `protobuf:"bytes,17,opt,name=advertise_afi_reorg,json=advertiseAfiReorg" json:"advertise_afi_reorg,omitempty"` - AdvertiseAfiDisable string `protobuf:"bytes,18,opt,name=advertise_afi_disable,json=advertiseAfiDisable" json:"advertise_afi_disable,omitempty"` - EncapsulationType uint32 `protobuf:"varint,19,opt,name=encapsulation_type,json=encapsulationType" json:"encapsulation_type,omitempty"` - AdvertiseRtType uint32 `protobuf:"varint,20,opt,name=advertise_rt_type,json=advertiseRtType" json:"advertise_rt_type,omitempty"` - AdvertiseAfiDefVrfImpDisable string `protobuf:"bytes,21,opt,name=advertise_afi_def_vrf_imp_disable,json=advertiseAfiDefVrfImpDisable" json:"advertise_afi_def_vrf_imp_disable,omitempty"` - AdvertiseEvpNv4AfiDefVrfImpDisable string `protobuf:"bytes,22,opt,name=advertise_evp_nv4_afi_def_vrf_imp_disable,json=advertiseEvpNv4AfiDefVrfImpDisable" json:"advertise_evp_nv4_afi_def_vrf_imp_disable,omitempty"` - AdvertiseEvpNv6AfiDefVrfImpDisable string `protobuf:"bytes,23,opt,name=advertise_evp_nv6_afi_def_vrf_imp_disable,json=advertiseEvpNv6AfiDefVrfImpDisable" json:"advertise_evp_nv6_afi_def_vrf_imp_disable,omitempty"` - AdvertiseAfiEoRReady string `protobuf:"bytes,24,opt,name=advertise_afi_eo_r_ready,json=advertiseAfiEoRReady" json:"advertise_afi_eo_r_ready,omitempty"` - AlwaysUseNextHopLocal string `protobuf:"bytes,25,opt,name=always_use_next_hop_local,json=alwaysUseNextHopLocal" json:"always_use_next_hop_local,omitempty"` - SentCommunityToNeighbor string `protobuf:"bytes,26,opt,name=sent_community_to_neighbor,json=sentCommunityToNeighbor" json:"sent_community_to_neighbor,omitempty"` - SentGshutCommunityToNeighbor string `protobuf:"bytes,27,opt,name=sent_gshut_community_to_neighbor,json=sentGshutCommunityToNeighbor" json:"sent_gshut_community_to_neighbor,omitempty"` - SentExtendedCommunityToNeighbor string `protobuf:"bytes,28,opt,name=sent_extended_community_to_neighbor,json=sentExtendedCommunityToNeighbor" json:"sent_extended_community_to_neighbor,omitempty"` - NeighborDefaultOriginate string `protobuf:"bytes,29,opt,name=neighbor_default_originate,json=neighborDefaultOriginate" json:"neighbor_default_originate,omitempty"` - IsOrfSent string `protobuf:"bytes,30,opt,name=is_orf_sent,json=isOrfSent" json:"is_orf_sent,omitempty"` - IsUpdateDeferred string `protobuf:"bytes,31,opt,name=is_update_deferred,json=isUpdateDeferred" json:"is_update_deferred,omitempty"` - IsOrfSendScheduled string `protobuf:"bytes,32,opt,name=is_orf_send_scheduled,json=isOrfSendScheduled" json:"is_orf_send_scheduled,omitempty"` - UpdateGroupNumber uint32 `protobuf:"varint,33,opt,name=update_group_number,json=updateGroupNumber" json:"update_group_number,omitempty"` - FilterGroupIndex uint32 `protobuf:"varint,34,opt,name=filter_group_index,json=filterGroupIndex" json:"filter_group_index,omitempty"` - IsUpdateThrottled string `protobuf:"bytes,35,opt,name=is_update_throttled,json=isUpdateThrottled" json:"is_update_throttled,omitempty"` - IsUpdateLeaving string `protobuf:"bytes,36,opt,name=is_update_leaving,json=isUpdateLeaving" json:"is_update_leaving,omitempty"` - VpnUpdateGenEnabled string `protobuf:"bytes,37,opt,name=vpn_update_gen_enabled,json=vpnUpdateGenEnabled" json:"vpn_update_gen_enabled,omitempty"` - VpnUpdateGenTriggerEnabled string `protobuf:"bytes,38,opt,name=vpn_update_gen_trigger_enabled,json=vpnUpdateGenTriggerEnabled" json:"vpn_update_gen_trigger_enabled,omitempty"` - IsAddpathSendOperational string `protobuf:"bytes,39,opt,name=is_addpath_send_operational,json=isAddpathSendOperational" json:"is_addpath_send_operational,omitempty"` - IsAddpathReceiveOperational string `protobuf:"bytes,40,opt,name=is_addpath_receive_operational,json=isAddpathReceiveOperational" json:"is_addpath_receive_operational,omitempty"` - NeighborVersion uint32 `protobuf:"varint,41,opt,name=neighbor_version,json=neighborVersion" json:"neighbor_version,omitempty"` - Weight uint32 `protobuf:"varint,42,opt,name=weight" json:"weight,omitempty"` - MaxPrefixLimit uint32 `protobuf:"varint,43,opt,name=max_prefix_limit,json=maxPrefixLimit" json:"max_prefix_limit,omitempty"` - UseMaxPrefixWarningOnly string `protobuf:"bytes,44,opt,name=use_max_prefix_warning_only,json=useMaxPrefixWarningOnly" json:"use_max_prefix_warning_only,omitempty"` - MaxPrefixDiscardExtraPaths string `protobuf:"bytes,45,opt,name=max_prefix_discard_extra_paths,json=maxPrefixDiscardExtraPaths" json:"max_prefix_discard_extra_paths,omitempty"` - MaxPrefixExceedDiscardPaths string `protobuf:"bytes,46,opt,name=max_prefix_exceed_discard_paths,json=maxPrefixExceedDiscardPaths" json:"max_prefix_exceed_discard_paths,omitempty"` - MaxPrefixThresholdPercent uint32 `protobuf:"varint,47,opt,name=max_prefix_threshold_percent,json=maxPrefixThresholdPercent" json:"max_prefix_threshold_percent,omitempty"` - MaxPrefixRestartTime uint32 `protobuf:"varint,48,opt,name=max_prefix_restart_time,json=maxPrefixRestartTime" json:"max_prefix_restart_time,omitempty"` - PrefixesAccepted uint32 `protobuf:"varint,49,opt,name=prefixes_accepted,json=prefixesAccepted" json:"prefixes_accepted,omitempty"` - PrefixesSynced uint32 `protobuf:"varint,50,opt,name=prefixes_synced,json=prefixesSynced" json:"prefixes_synced,omitempty"` - PrefixesWithdrawnNotFound uint32 `protobuf:"varint,51,opt,name=prefixes_withdrawn_not_found,json=prefixesWithdrawnNotFound" json:"prefixes_withdrawn_not_found,omitempty"` - PrefixesDenied uint32 `protobuf:"varint,52,opt,name=prefixes_denied,json=prefixesDenied" json:"prefixes_denied,omitempty"` - PrefixesDeniedNoPolicy uint32 `protobuf:"varint,53,opt,name=prefixes_denied_no_policy,json=prefixesDeniedNoPolicy" json:"prefixes_denied_no_policy,omitempty"` - PrefixesDeniedRtPermit uint32 `protobuf:"varint,54,opt,name=prefixes_denied_rt_permit,json=prefixesDeniedRtPermit" json:"prefixes_denied_rt_permit,omitempty"` - PrefixesDeniedOrfPolicy uint32 `protobuf:"varint,55,opt,name=prefixes_denied_orf_policy,json=prefixesDeniedOrfPolicy" json:"prefixes_denied_orf_policy,omitempty"` - PrefixesDeniedPolicy uint32 `protobuf:"varint,56,opt,name=prefixes_denied_policy,json=prefixesDeniedPolicy" json:"prefixes_denied_policy,omitempty"` - NumberOfBestpaths uint32 `protobuf:"varint,57,opt,name=number_of_bestpaths,json=numberOfBestpaths" json:"number_of_bestpaths,omitempty"` - NumberOfBestExternalpaths uint32 `protobuf:"varint,58,opt,name=number_of_best_externalpaths,json=numberOfBestExternalpaths" json:"number_of_best_externalpaths,omitempty"` - PrefixesAdvertised uint32 `protobuf:"varint,59,opt,name=prefixes_advertised,json=prefixesAdvertised" json:"prefixes_advertised,omitempty"` - PrefixesBeAdvertised uint32 `protobuf:"varint,60,opt,name=prefixes_be_advertised,json=prefixesBeAdvertised" json:"prefixes_be_advertised,omitempty"` - PrefixesSuppressed uint32 `protobuf:"varint,61,opt,name=prefixes_suppressed,json=prefixesSuppressed" json:"prefixes_suppressed,omitempty"` - PrefixesWithdrawn uint32 `protobuf:"varint,62,opt,name=prefixes_withdrawn,json=prefixesWithdrawn" json:"prefixes_withdrawn,omitempty"` - IsPeerOrfCapable string `protobuf:"bytes,63,opt,name=is_peer_orf_capable,json=isPeerOrfCapable" json:"is_peer_orf_capable,omitempty"` - IsAdvertisedOrfSend string `protobuf:"bytes,64,opt,name=is_advertised_orf_send,json=isAdvertisedOrfSend" json:"is_advertised_orf_send,omitempty"` - IsReceivedOrfSendCapable string `protobuf:"bytes,65,opt,name=is_received_orf_send_capable,json=isReceivedOrfSendCapable" json:"is_received_orf_send_capable,omitempty"` - IsAdvertisedOrfReceive string `protobuf:"bytes,66,opt,name=is_advertised_orf_receive,json=isAdvertisedOrfReceive" json:"is_advertised_orf_receive,omitempty"` - IsReceivedOrfReceiveCapable string `protobuf:"bytes,67,opt,name=is_received_orf_receive_capable,json=isReceivedOrfReceiveCapable" json:"is_received_orf_receive_capable,omitempty"` - IsAdvertisedGracefulRestart string `protobuf:"bytes,68,opt,name=is_advertised_graceful_restart,json=isAdvertisedGracefulRestart" json:"is_advertised_graceful_restart,omitempty"` - IsGracefulRestartStateFlag string `protobuf:"bytes,69,opt,name=is_graceful_restart_state_flag,json=isGracefulRestartStateFlag" json:"is_graceful_restart_state_flag,omitempty"` - IsReceivedGracefulRestartCapable string `protobuf:"bytes,70,opt,name=is_received_graceful_restart_capable,json=isReceivedGracefulRestartCapable" json:"is_received_graceful_restart_capable,omitempty"` - IsAddPathSendCapabilityAdvertised string `protobuf:"bytes,71,opt,name=is_add_path_send_capability_advertised,json=isAddPathSendCapabilityAdvertised" json:"is_add_path_send_capability_advertised,omitempty"` - IsAddPathSendCapabilityReceived string `protobuf:"bytes,72,opt,name=is_add_path_send_capability_received,json=isAddPathSendCapabilityReceived" json:"is_add_path_send_capability_received,omitempty"` - IsAddPathReceiveCapabilityAdvertised string `protobuf:"bytes,73,opt,name=is_add_path_receive_capability_advertised,json=isAddPathReceiveCapabilityAdvertised" json:"is_add_path_receive_capability_advertised,omitempty"` - IsAddPathReceiveCapabilityReceived string `protobuf:"bytes,74,opt,name=is_add_path_receive_capability_received,json=isAddPathReceiveCapabilityReceived" json:"is_add_path_receive_capability_received,omitempty"` - RestartTime uint32 `protobuf:"varint,75,opt,name=restart_time,json=restartTime" json:"restart_time,omitempty"` - LocalRestartTime uint32 `protobuf:"varint,76,opt,name=local_restart_time,json=localRestartTime" json:"local_restart_time,omitempty"` - StalePathTimeout uint32 `protobuf:"varint,77,opt,name=stale_path_timeout,json=stalePathTimeout" json:"stale_path_timeout,omitempty"` - RibPurgeTimeoutValue uint32 `protobuf:"varint,78,opt,name=rib_purge_timeout_value,json=ribPurgeTimeoutValue" json:"rib_purge_timeout_value,omitempty"` - NeighborPreservedForwardingState string `protobuf:"bytes,79,opt,name=neighbor_preserved_forwarding_state,json=neighborPreservedForwardingState" json:"neighbor_preserved_forwarding_state,omitempty"` - LongLivedGracefulRestartStaleTimeConfigured string `protobuf:"bytes,80,opt,name=long_lived_graceful_restart_stale_time_configured,json=longLivedGracefulRestartStaleTimeConfigured" json:"long_lived_graceful_restart_stale_time_configured,omitempty"` - LongLivedGracefulRestartStaleTimeSent uint32 `protobuf:"varint,81,opt,name=long_lived_graceful_restart_stale_time_sent,json=longLivedGracefulRestartStaleTimeSent" json:"long_lived_graceful_restart_stale_time_sent,omitempty"` - LongLivedGracefulRestartStaleTimeAccept uint32 `protobuf:"varint,82,opt,name=long_lived_graceful_restart_stale_time_accept,json=longLivedGracefulRestartStaleTimeAccept" json:"long_lived_graceful_restart_stale_time_accept,omitempty"` - LongLivedGracefulRestartCapabilityReceived string `protobuf:"bytes,83,opt,name=long_lived_graceful_restart_capability_received,json=longLivedGracefulRestartCapabilityReceived" json:"long_lived_graceful_restart_capability_received,omitempty"` - LongLivedGracefulRestartStaleTimeReceived uint32 `protobuf:"varint,84,opt,name=long_lived_graceful_restart_stale_time_received,json=longLivedGracefulRestartStaleTimeReceived" json:"long_lived_graceful_restart_stale_time_received,omitempty"` - NeighborPreservedLongLivedForwardingState string `protobuf:"bytes,85,opt,name=neighbor_preserved_long_lived_forwarding_state,json=neighborPreservedLongLivedForwardingState" json:"neighbor_preserved_long_lived_forwarding_state,omitempty"` - NeighborLongLivedGracefulRestartCapable string `protobuf:"bytes,86,opt,name=neighbor_long_lived_graceful_restart_capable,json=neighborLongLivedGracefulRestartCapable" json:"neighbor_long_lived_graceful_restart_capable,omitempty"` - NeighborLongLivedGracefulRestartTimeRemaining uint32 `protobuf:"varint,87,opt,name=neighbor_long_lived_graceful_restart_time_remaining,json=neighborLongLivedGracefulRestartTimeRemaining" json:"neighbor_long_lived_graceful_restart_time_remaining,omitempty"` - RouteRefreshesReceived uint32 `protobuf:"varint,88,opt,name=route_refreshes_received,json=routeRefreshesReceived" json:"route_refreshes_received,omitempty"` - RouteRefreshesSent uint32 `protobuf:"varint,89,opt,name=route_refreshes_sent,json=routeRefreshesSent" json:"route_refreshes_sent,omitempty"` - RefreshTargetVersion uint32 `protobuf:"varint,90,opt,name=refresh_target_version,json=refreshTargetVersion" json:"refresh_target_version,omitempty"` - RefreshVersion uint32 `protobuf:"varint,91,opt,name=refresh_version,json=refreshVersion" json:"refresh_version,omitempty"` - RefreshAckedVersion uint32 `protobuf:"varint,92,opt,name=refresh_acked_version,json=refreshAckedVersion" json:"refresh_acked_version,omitempty"` - IsPrefixOrfPresent string `protobuf:"bytes,93,opt,name=is_prefix_orf_present,json=isPrefixOrfPresent" json:"is_prefix_orf_present,omitempty"` - OrfEntriesReceived uint32 `protobuf:"varint,94,opt,name=orf_entries_received,json=orfEntriesReceived" json:"orf_entries_received,omitempty"` - IsDefaultOriginateSent string `protobuf:"bytes,95,opt,name=is_default_originate_sent,json=isDefaultOriginateSent" json:"is_default_originate_sent,omitempty"` - RoutePolicyPrefixOrf string `protobuf:"bytes,96,opt,name=route_policy_prefix_orf,json=routePolicyPrefixOrf" json:"route_policy_prefix_orf,omitempty"` - RoutePolicyIn string `protobuf:"bytes,97,opt,name=route_policy_in,json=routePolicyIn" json:"route_policy_in,omitempty"` - RoutePolicyOut string `protobuf:"bytes,98,opt,name=route_policy_out,json=routePolicyOut" json:"route_policy_out,omitempty"` - RoutePolicyDefaultOriginate string `protobuf:"bytes,99,opt,name=route_policy_default_originate,json=routePolicyDefaultOriginate" json:"route_policy_default_originate,omitempty"` - IsNeighborEbgpWithoutInboundPolicy string `protobuf:"bytes,100,opt,name=is_neighbor_ebgp_without_inbound_policy,json=isNeighborEbgpWithoutInboundPolicy" json:"is_neighbor_ebgp_without_inbound_policy,omitempty"` - IsNeighborEbgpWithoutOutboundPolicy string `protobuf:"bytes,101,opt,name=is_neighbor_ebgp_without_outbound_policy,json=isNeighborEbgpWithoutOutboundPolicy" json:"is_neighbor_ebgp_without_outbound_policy,omitempty"` - IsAsOverrideSet string `protobuf:"bytes,102,opt,name=is_as_override_set,json=isAsOverrideSet" json:"is_as_override_set,omitempty"` - IsAllowAsInSet string `protobuf:"bytes,103,opt,name=is_allow_as_in_set,json=isAllowAsInSet" json:"is_allow_as_in_set,omitempty"` - AllowAsInCount uint32 `protobuf:"varint,104,opt,name=allow_as_in_count,json=allowAsInCount" json:"allow_as_in_count,omitempty"` - AddressFamilyLongLivedTime uint32 `protobuf:"varint,105,opt,name=address_family_long_lived_time,json=addressFamilyLongLivedTime" json:"address_family_long_lived_time,omitempty"` - EoRReceivedInReadOnly string `protobuf:"bytes,106,opt,name=eo_r_received_in_read_only,json=eoRReceivedInReadOnly" json:"eo_r_received_in_read_only,omitempty"` - AckedVersion uint32 `protobuf:"varint,107,opt,name=acked_version,json=ackedVersion" json:"acked_version,omitempty"` - SyncedAckedVersion uint32 `protobuf:"varint,108,opt,name=synced_acked_version,json=syncedAckedVersion" json:"synced_acked_version,omitempty"` - OutstandingVersion uint32 `protobuf:"varint,109,opt,name=outstanding_version,json=outstandingVersion" json:"outstanding_version,omitempty"` - OutstandingVersionMax uint32 `protobuf:"varint,110,opt,name=outstanding_version_max,json=outstandingVersionMax" json:"outstanding_version_max,omitempty"` - NeighborAfPerformanceStatistics *BgpPerfNbrAf_ `protobuf:"bytes,111,opt,name=neighbor_af_performance_statistics,json=neighborAfPerformanceStatistics" json:"neighbor_af_performance_statistics,omitempty"` - IsAigpSet string `protobuf:"bytes,112,opt,name=is_aigp_set,json=isAigpSet" json:"is_aigp_set,omitempty"` - IsRtPresent string `protobuf:"bytes,113,opt,name=is_rt_present,json=isRtPresent" json:"is_rt_present,omitempty"` - ExtendedCommunity []uint32 `protobuf:"varint,114,rep,packed,name=extended_community,json=extendedCommunity" json:"extended_community,omitempty"` - IsRtPresentStandby string `protobuf:"bytes,115,opt,name=is_rt_present_standby,json=isRtPresentStandby" json:"is_rt_present_standby,omitempty"` - ExtendedCommunityStandby []uint32 `protobuf:"varint,116,rep,packed,name=extended_community_standby,json=extendedCommunityStandby" json:"extended_community_standby,omitempty"` - AcceptOwnEnabled string `protobuf:"bytes,117,opt,name=accept_own_enabled,json=acceptOwnEnabled" json:"accept_own_enabled,omitempty"` - SelectiveMultipathEligible string `protobuf:"bytes,118,opt,name=selective_multipath_eligible,json=selectiveMultipathEligible" json:"selective_multipath_eligible,omitempty"` - AfrpkiDisable string `protobuf:"bytes,119,opt,name=afrpki_disable,json=afrpkiDisable" json:"afrpki_disable,omitempty"` - AfrpkiUseValidity string `protobuf:"bytes,120,opt,name=afrpki_use_validity,json=afrpkiUseValidity" json:"afrpki_use_validity,omitempty"` - AfrpkiAllowInvalid string `protobuf:"bytes,121,opt,name=afrpki_allow_invalid,json=afrpkiAllowInvalid" json:"afrpki_allow_invalid,omitempty"` - AfrpkiSignalIbgp string `protobuf:"bytes,122,opt,name=afrpki_signal_ibgp,json=afrpkiSignalIbgp" json:"afrpki_signal_ibgp,omitempty"` - IsAdvertisePermanentNetwork string `protobuf:"bytes,123,opt,name=is_advertise_permanent_network,json=isAdvertisePermanentNetwork" json:"is_advertise_permanent_network,omitempty"` - IsSendMcastAttr string `protobuf:"bytes,124,opt,name=is_send_mcast_attr,json=isSendMcastAttr" json:"is_send_mcast_attr,omitempty"` - ImportStitching string `protobuf:"bytes,125,opt,name=import_stitching,json=importStitching" json:"import_stitching,omitempty"` - ImportReoriginate string `protobuf:"bytes,126,opt,name=import_reoriginate,json=importReoriginate" json:"import_reoriginate,omitempty"` - ImportReoriginateStitching string `protobuf:"bytes,127,opt,name=import_reoriginate_stitching,json=importReoriginateStitching" json:"import_reoriginate_stitching,omitempty"` - AdvertiseV4Flags uint32 `protobuf:"varint,128,opt,name=advertise_v4_flags,json=advertiseV4Flags" json:"advertise_v4_flags,omitempty"` - AdvertiseV6Flags uint32 `protobuf:"varint,129,opt,name=advertise_v6_flags,json=advertiseV6Flags" json:"advertise_v6_flags,omitempty"` - AdvertiseLocalLabeledRouteUnicast string `protobuf:"bytes,130,opt,name=advertise_local_labeled_route_unicast,json=advertiseLocalLabeledRouteUnicast" json:"advertise_local_labeled_route_unicast,omitempty"` -} - -func (m *BgpNbrAf_) Reset() { *m = BgpNbrAf_{} } -func (m *BgpNbrAf_) String() string { return proto.CompactTextString(m) } -func (*BgpNbrAf_) ProtoMessage() {} -func (*BgpNbrAf_) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} } - -func (m *BgpNbrAf_) GetAfName() string { - if m != nil { - return m.AfName +func (x *BgpNbrBag) GetMessagesQueuedIn() uint32 { + if x != nil { + return x.MessagesQueuedIn } - return "" + return 0 } -func (m *BgpNbrAf_) GetIsNeighborRouteReflectorClient() string { - if m != nil { - return m.IsNeighborRouteReflectorClient +func (x *BgpNbrBag) GetMessagesQueuedOut() uint32 { + if x != nil { + return x.MessagesQueuedOut } - return "" + return 0 } -func (m *BgpNbrAf_) GetIsLegacyPeRt() string { - if m != nil { - return m.IsLegacyPeRt +func (x *BgpNbrBag) GetConnectionEstablishedTime() uint32 { + if x != nil { + return x.ConnectionEstablishedTime } - return "" + return 0 } -func (m *BgpNbrAf_) GetIsNeighborAfCapable() string { - if m != nil { - return m.IsNeighborAfCapable +func (x *BgpNbrBag) GetConnectionState() string { + if x != nil { + return x.ConnectionState } return "" } -func (m *BgpNbrAf_) GetIsSoftReconfigurationInboundAllowed() string { - if m != nil { - return m.IsSoftReconfigurationInboundAllowed +func (x *BgpNbrBag) GetPreviousConnectionState() uint32 { + if x != nil { + return x.PreviousConnectionState } - return "" + return 0 } -func (m *BgpNbrAf_) GetIsUseSoftReconfigurationAlwaysOn() string { - if m != nil { - return m.IsUseSoftReconfigurationAlwaysOn +func (x *BgpNbrBag) GetConnectionAdminStatus() uint32 { + if x != nil { + return x.ConnectionAdminStatus } - return "" + return 0 } -func (m *BgpNbrAf_) GetRemovePrivateAsFromUpdates() string { - if m != nil { - return m.RemovePrivateAsFromUpdates +func (x *BgpNbrBag) GetOpenCheckErrorCode() string { + if x != nil { + return x.OpenCheckErrorCode } return "" } -func (m *BgpNbrAf_) GetRemovePrivateAsEntireAspathFromUpdates() string { - if m != nil { - return m.RemovePrivateAsEntireAspathFromUpdates +func (x *BgpNbrBag) GetConnectionLocalAddress() *BgpAddrtype { + if x != nil { + return x.ConnectionLocalAddress } - return "" + return nil } -func (m *BgpNbrAf_) GetRemovePrivateAsFromInboundUpdates() string { - if m != nil { - return m.RemovePrivateAsFromInboundUpdates +func (x *BgpNbrBag) GetIsLocalAddressConfigured() bool { + if x != nil { + return x.IsLocalAddressConfigured } - return "" + return false } -func (m *BgpNbrAf_) GetRemovePrivateAsEntireAspathFromInboundUpdates() string { - if m != nil { - return m.RemovePrivateAsEntireAspathFromInboundUpdates +func (x *BgpNbrBag) GetConnectionLocalPort() uint32 { + if x != nil { + return x.ConnectionLocalPort } - return "" + return 0 } -func (m *BgpNbrAf_) GetFlowspecValidationDIsable() string { - if m != nil { - return m.FlowspecValidationDIsable +func (x *BgpNbrBag) GetConnectionRemoteAddress() *BgpAddrtype { + if x != nil { + return x.ConnectionRemoteAddress } - return "" + return nil } -func (m *BgpNbrAf_) GetFlowspecRedirectValidationDIsable() string { - if m != nil { - return m.FlowspecRedirectValidationDIsable +func (x *BgpNbrBag) GetConnectionRemotePort() uint32 { + if x != nil { + return x.ConnectionRemotePort } - return "" + return 0 } -func (m *BgpNbrAf_) GetOrrGroupName() string { - if m != nil { - return m.OrrGroupName +func (x *BgpNbrBag) GetNeighborInterfaceHandle() uint32 { + if x != nil { + return x.NeighborInterfaceHandle } - return "" + return 0 } -func (m *BgpNbrAf_) GetOrrGroupIndex() uint32 { - if m != nil { - return m.OrrGroupIndex +func (x *BgpNbrBag) GetResetNotificationSent() bool { + if x != nil { + return x.ResetNotificationSent } - return 0 + return false } -func (m *BgpNbrAf_) GetIsOrrRootAddressConfigured() string { - if m != nil { - return m.IsOrrRootAddressConfigured +func (x *BgpNbrBag) GetIsAdministrativelyShutDown() bool { + if x != nil { + return x.IsAdministrativelyShutDown } - return "" + return false } -func (m *BgpNbrAf_) GetAdvertiseAfi() string { - if m != nil { - return m.AdvertiseAfi +func (x *BgpNbrBag) GetIsNeighborMaxPrefixShutdown() bool { + if x != nil { + return x.IsNeighborMaxPrefixShutdown } - return "" + return false } -func (m *BgpNbrAf_) GetAdvertiseAfiReorg() string { - if m != nil { - return m.AdvertiseAfiReorg +func (x *BgpNbrBag) GetIsOutOfMemoryShutdown() bool { + if x != nil { + return x.IsOutOfMemoryShutdown } - return "" + return false } -func (m *BgpNbrAf_) GetAdvertiseAfiDisable() string { - if m != nil { - return m.AdvertiseAfiDisable +func (x *BgpNbrBag) GetIsOutOfMemoryForcedUp() bool { + if x != nil { + return x.IsOutOfMemoryForcedUp } - return "" + return false } -func (m *BgpNbrAf_) GetEncapsulationType() uint32 { - if m != nil { - return m.EncapsulationType +func (x *BgpNbrBag) GetIsEbgpPeerAsLeague() bool { + if x != nil { + return x.IsEbgpPeerAsLeague } - return 0 + return false } -func (m *BgpNbrAf_) GetAdvertiseRtType() uint32 { - if m != nil { - return m.AdvertiseRtType +func (x *BgpNbrBag) GetIsEbgpPeerCommonAdmin() bool { + if x != nil { + return x.IsEbgpPeerCommonAdmin } - return 0 + return false } -func (m *BgpNbrAf_) GetAdvertiseAfiDefVrfImpDisable() string { - if m != nil { - return m.AdvertiseAfiDefVrfImpDisable +func (x *BgpNbrBag) GetTtlSecurityEnabled() bool { + if x != nil { + return x.TtlSecurityEnabled } - return "" + return false } -func (m *BgpNbrAf_) GetAdvertiseEvpNv4AfiDefVrfImpDisable() string { - if m != nil { - return m.AdvertiseEvpNv4AfiDefVrfImpDisable +func (x *BgpNbrBag) GetSuppress4ByteAs() bool { + if x != nil { + return x.Suppress4ByteAs } - return "" + return false } -func (m *BgpNbrAf_) GetAdvertiseEvpNv6AfiDefVrfImpDisable() string { - if m != nil { - return m.AdvertiseEvpNv6AfiDefVrfImpDisable +func (x *BgpNbrBag) GetBfdSessionState() string { + if x != nil { + return x.BfdSessionState } return "" } -func (m *BgpNbrAf_) GetAdvertiseAfiEoRReady() string { - if m != nil { - return m.AdvertiseAfiEoRReady +func (x *BgpNbrBag) GetBfdSessionCreatedState() string { + if x != nil { + return x.BfdSessionCreatedState } return "" } -func (m *BgpNbrAf_) GetAlwaysUseNextHopLocal() string { - if m != nil { - return m.AlwaysUseNextHopLocal +func (x *BgpNbrBag) GetBfdSessionEnableMode() string { + if x != nil { + return x.BfdSessionEnableMode } return "" } -func (m *BgpNbrAf_) GetSentCommunityToNeighbor() string { - if m != nil { - return m.SentCommunityToNeighbor +func (x *BgpNbrBag) GetBfdMinintervalval() uint32 { + if x != nil { + return x.BfdMinintervalval } - return "" + return 0 } -func (m *BgpNbrAf_) GetSentGshutCommunityToNeighbor() string { - if m != nil { - return m.SentGshutCommunityToNeighbor +func (x *BgpNbrBag) GetBfdMultiplierval() uint32 { + if x != nil { + return x.BfdMultiplierval } - return "" + return 0 } -func (m *BgpNbrAf_) GetSentExtendedCommunityToNeighbor() string { - if m != nil { - return m.SentExtendedCommunityToNeighbor +func (x *BgpNbrBag) GetBfdStateTs() uint64 { + if x != nil { + return x.BfdStateTs } - return "" + return 0 } -func (m *BgpNbrAf_) GetNeighborDefaultOriginate() string { - if m != nil { - return m.NeighborDefaultOriginate +func (x *BgpNbrBag) GetRouterId() string { + if x != nil { + return x.RouterId } return "" } -func (m *BgpNbrAf_) GetIsOrfSent() string { - if m != nil { - return m.IsOrfSent +func (x *BgpNbrBag) GetNegotiatedProtocolVersion() uint32 { + if x != nil { + return x.NegotiatedProtocolVersion } - return "" + return 0 } -func (m *BgpNbrAf_) GetIsUpdateDeferred() string { - if m != nil { - return m.IsUpdateDeferred +func (x *BgpNbrBag) GetEbgpTimeToLive() uint32 { + if x != nil { + return x.EbgpTimeToLive } - return "" + return 0 } -func (m *BgpNbrAf_) GetIsOrfSendScheduled() string { - if m != nil { - return m.IsOrfSendScheduled +func (x *BgpNbrBag) GetIsEbgpMultihopBgpmplsForwardingDisabled() bool { + if x != nil { + return x.IsEbgpMultihopBgpmplsForwardingDisabled } - return "" + return false } -func (m *BgpNbrAf_) GetUpdateGroupNumber() uint32 { - if m != nil { - return m.UpdateGroupNumber +func (x *BgpNbrBag) GetTcpmss() uint32 { + if x != nil { + return x.Tcpmss } return 0 } -func (m *BgpNbrAf_) GetFilterGroupIndex() uint32 { - if m != nil { - return m.FilterGroupIndex +func (x *BgpNbrBag) GetMsgLogIn() uint32 { + if x != nil { + return x.MsgLogIn } return 0 } -func (m *BgpNbrAf_) GetIsUpdateThrottled() string { - if m != nil { - return m.IsUpdateThrottled +func (x *BgpNbrBag) GetMsgLogOut() uint32 { + if x != nil { + return x.MsgLogOut } - return "" + return 0 } -func (m *BgpNbrAf_) GetIsUpdateLeaving() string { - if m != nil { - return m.IsUpdateLeaving +func (x *BgpNbrBag) GetNeighborLocalAs() uint32 { + if x != nil { + return x.NeighborLocalAs } - return "" + return 0 } -func (m *BgpNbrAf_) GetVpnUpdateGenEnabled() string { - if m != nil { - return m.VpnUpdateGenEnabled +func (x *BgpNbrBag) GetLocalAsNoPrepend() bool { + if x != nil { + return x.LocalAsNoPrepend } - return "" + return false } -func (m *BgpNbrAf_) GetVpnUpdateGenTriggerEnabled() string { - if m != nil { - return m.VpnUpdateGenTriggerEnabled +func (x *BgpNbrBag) GetIsCapabilityNegotiationSuppressed() bool { + if x != nil { + return x.IsCapabilityNegotiationSuppressed } - return "" + return false } -func (m *BgpNbrAf_) GetIsAddpathSendOperational() string { - if m != nil { - return m.IsAddpathSendOperational +func (x *BgpNbrBag) GetIsCapabilityNegotiationPerformed() bool { + if x != nil { + return x.IsCapabilityNegotiationPerformed } - return "" + return false } -func (m *BgpNbrAf_) GetIsAddpathReceiveOperational() string { - if m != nil { - return m.IsAddpathReceiveOperational +func (x *BgpNbrBag) GetIsRouteRefreshCapabilityReceived() bool { + if x != nil { + return x.IsRouteRefreshCapabilityReceived } - return "" + return false } -func (m *BgpNbrAf_) GetNeighborVersion() uint32 { - if m != nil { - return m.NeighborVersion +func (x *BgpNbrBag) GetIsRouteRefreshOldCapabilityReceived() bool { + if x != nil { + return x.IsRouteRefreshOldCapabilityReceived } - return 0 + return false } -func (m *BgpNbrAf_) GetWeight() uint32 { - if m != nil { - return m.Weight +func (x *BgpNbrBag) GetIsGrAware() bool { + if x != nil { + return x.IsGrAware } - return 0 + return false } -func (m *BgpNbrAf_) GetMaxPrefixLimit() uint32 { - if m != nil { - return m.MaxPrefixLimit +func (x *BgpNbrBag) GetIs4ByteAsCapabilityReceived() bool { + if x != nil { + return x.Is4ByteAsCapabilityReceived } - return 0 + return false } -func (m *BgpNbrAf_) GetUseMaxPrefixWarningOnly() string { - if m != nil { - return m.UseMaxPrefixWarningOnly +func (x *BgpNbrBag) GetIs4ByteAsCapabilitySent() bool { + if x != nil { + return x.Is4ByteAsCapabilitySent } - return "" + return false } -func (m *BgpNbrAf_) GetMaxPrefixDiscardExtraPaths() string { - if m != nil { - return m.MaxPrefixDiscardExtraPaths +func (x *BgpNbrBag) GetMultiProtocolCapabilityReceived() bool { + if x != nil { + return x.MultiProtocolCapabilityReceived } - return "" + return false } -func (m *BgpNbrAf_) GetMaxPrefixExceedDiscardPaths() string { - if m != nil { - return m.MaxPrefixExceedDiscardPaths +func (x *BgpNbrBag) GetHoldTime() uint32 { + if x != nil { + return x.HoldTime } - return "" + return 0 } -func (m *BgpNbrAf_) GetMaxPrefixThresholdPercent() uint32 { - if m != nil { - return m.MaxPrefixThresholdPercent +func (x *BgpNbrBag) GetKeepAliveTime() uint32 { + if x != nil { + return x.KeepAliveTime } return 0 } -func (m *BgpNbrAf_) GetMaxPrefixRestartTime() uint32 { - if m != nil { - return m.MaxPrefixRestartTime +func (x *BgpNbrBag) GetConfiguredHoldTime() uint32 { + if x != nil { + return x.ConfiguredHoldTime } return 0 } -func (m *BgpNbrAf_) GetPrefixesAccepted() uint32 { - if m != nil { - return m.PrefixesAccepted +func (x *BgpNbrBag) GetConfiguredKeepalive() uint32 { + if x != nil { + return x.ConfiguredKeepalive } return 0 } -func (m *BgpNbrAf_) GetPrefixesSynced() uint32 { - if m != nil { - return m.PrefixesSynced +func (x *BgpNbrBag) GetConfiguredMinAccHoldTime() uint32 { + if x != nil { + return x.ConfiguredMinAccHoldTime } return 0 } -func (m *BgpNbrAf_) GetPrefixesWithdrawnNotFound() uint32 { - if m != nil { - return m.PrefixesWithdrawnNotFound +func (x *BgpNbrBag) GetMinAdvertiseInterval() uint32 { + if x != nil { + return x.MinAdvertiseInterval } return 0 } -func (m *BgpNbrAf_) GetPrefixesDenied() uint32 { - if m != nil { - return m.PrefixesDenied +func (x *BgpNbrBag) GetMinAdvertiseIntervalMsecs() uint32 { + if x != nil { + return x.MinAdvertiseIntervalMsecs } return 0 } -func (m *BgpNbrAf_) GetPrefixesDeniedNoPolicy() uint32 { - if m != nil { - return m.PrefixesDeniedNoPolicy +func (x *BgpNbrBag) GetMinOriginationInterval() uint32 { + if x != nil { + return x.MinOriginationInterval } return 0 } -func (m *BgpNbrAf_) GetPrefixesDeniedRtPermit() uint32 { - if m != nil { - return m.PrefixesDeniedRtPermit +func (x *BgpNbrBag) GetConnectRetryInterval() uint32 { + if x != nil { + return x.ConnectRetryInterval } return 0 } -func (m *BgpNbrAf_) GetPrefixesDeniedOrfPolicy() uint32 { - if m != nil { - return m.PrefixesDeniedOrfPolicy +func (x *BgpNbrBag) GetTimeSinceLastUpdate() uint32 { + if x != nil { + return x.TimeSinceLastUpdate } return 0 } -func (m *BgpNbrAf_) GetPrefixesDeniedPolicy() uint32 { - if m != nil { - return m.PrefixesDeniedPolicy +func (x *BgpNbrBag) GetTimeSinceLastRead() uint32 { + if x != nil { + return x.TimeSinceLastRead } return 0 } -func (m *BgpNbrAf_) GetNumberOfBestpaths() uint32 { - if m != nil { - return m.NumberOfBestpaths +func (x *BgpNbrBag) GetTimeSinceLastReadReset() uint32 { + if x != nil { + return x.TimeSinceLastReadReset } return 0 } -func (m *BgpNbrAf_) GetNumberOfBestExternalpaths() uint32 { - if m != nil { - return m.NumberOfBestExternalpaths +func (x *BgpNbrBag) GetTimeLastCb() uint64 { + if x != nil { + return x.TimeLastCb } return 0 } -func (m *BgpNbrAf_) GetPrefixesAdvertised() uint32 { - if m != nil { - return m.PrefixesAdvertised +func (x *BgpNbrBag) GetTimeLastCbReset() uint32 { + if x != nil { + return x.TimeLastCbReset } return 0 } -func (m *BgpNbrAf_) GetPrefixesBeAdvertised() uint32 { - if m != nil { - return m.PrefixesBeAdvertised +func (x *BgpNbrBag) GetTimeLastFb() uint64 { + if x != nil { + return x.TimeLastFb } return 0 } -func (m *BgpNbrAf_) GetPrefixesSuppressed() uint32 { - if m != nil { - return m.PrefixesSuppressed +func (x *BgpNbrBag) GetCountLastWrite() uint32 { + if x != nil { + return x.CountLastWrite } return 0 } -func (m *BgpNbrAf_) GetPrefixesWithdrawn() uint32 { - if m != nil { - return m.PrefixesWithdrawn +func (x *BgpNbrBag) GetTimeSinceLastWrite() uint32 { + if x != nil { + return x.TimeSinceLastWrite } return 0 } -func (m *BgpNbrAf_) GetIsPeerOrfCapable() string { - if m != nil { - return m.IsPeerOrfCapable +func (x *BgpNbrBag) GetAttemptedLastWriteBytes() uint32 { + if x != nil { + return x.AttemptedLastWriteBytes } - return "" + return 0 } -func (m *BgpNbrAf_) GetIsAdvertisedOrfSend() string { - if m != nil { - return m.IsAdvertisedOrfSend +func (x *BgpNbrBag) GetActualLastWriteBytes() uint32 { + if x != nil { + return x.ActualLastWriteBytes } - return "" + return 0 } -func (m *BgpNbrAf_) GetIsReceivedOrfSendCapable() string { - if m != nil { - return m.IsReceivedOrfSendCapable +func (x *BgpNbrBag) GetTimeSinceSecondLastWrite() uint32 { + if x != nil { + return x.TimeSinceSecondLastWrite } - return "" + return 0 } -func (m *BgpNbrAf_) GetIsAdvertisedOrfReceive() string { - if m != nil { - return m.IsAdvertisedOrfReceive +func (x *BgpNbrBag) GetAttemptedSecondLastWriteBytes() uint32 { + if x != nil { + return x.AttemptedSecondLastWriteBytes } - return "" + return 0 } -func (m *BgpNbrAf_) GetIsReceivedOrfReceiveCapable() string { - if m != nil { - return m.IsReceivedOrfReceiveCapable +func (x *BgpNbrBag) GetActualSecondLastWriteBytes() uint32 { + if x != nil { + return x.ActualSecondLastWriteBytes } - return "" + return 0 } -func (m *BgpNbrAf_) GetIsAdvertisedGracefulRestart() string { - if m != nil { - return m.IsAdvertisedGracefulRestart +func (x *BgpNbrBag) GetTimeSinceLastWriteReset() uint32 { + if x != nil { + return x.TimeSinceLastWriteReset } - return "" + return 0 } -func (m *BgpNbrAf_) GetIsGracefulRestartStateFlag() string { - if m != nil { - return m.IsGracefulRestartStateFlag +func (x *BgpNbrBag) GetAttemptedLastWriteResetBytes() uint32 { + if x != nil { + return x.AttemptedLastWriteResetBytes } - return "" + return 0 } -func (m *BgpNbrAf_) GetIsReceivedGracefulRestartCapable() string { - if m != nil { - return m.IsReceivedGracefulRestartCapable +func (x *BgpNbrBag) GetActualLastWriteResetBytes() uint32 { + if x != nil { + return x.ActualLastWriteResetBytes } - return "" + return 0 } -func (m *BgpNbrAf_) GetIsAddPathSendCapabilityAdvertised() string { - if m != nil { - return m.IsAddPathSendCapabilityAdvertised +func (x *BgpNbrBag) GetTimeSinceSecondLastWriteReset() uint32 { + if x != nil { + return x.TimeSinceSecondLastWriteReset } - return "" + return 0 } -func (m *BgpNbrAf_) GetIsAddPathSendCapabilityReceived() string { - if m != nil { - return m.IsAddPathSendCapabilityReceived +func (x *BgpNbrBag) GetAttemptedSecondLastWriteResetBytes() uint32 { + if x != nil { + return x.AttemptedSecondLastWriteResetBytes } - return "" + return 0 } -func (m *BgpNbrAf_) GetIsAddPathReceiveCapabilityAdvertised() string { - if m != nil { - return m.IsAddPathReceiveCapabilityAdvertised +func (x *BgpNbrBag) GetActualSecondLastWriteResetBytes() uint32 { + if x != nil { + return x.ActualSecondLastWriteResetBytes } - return "" + return 0 } -func (m *BgpNbrAf_) GetIsAddPathReceiveCapabilityReceived() string { - if m != nil { - return m.IsAddPathReceiveCapabilityReceived +func (x *BgpNbrBag) GetLastWriteEvent() uint32 { + if x != nil { + return x.LastWriteEvent } - return "" + return 0 } -func (m *BgpNbrAf_) GetRestartTime() uint32 { - if m != nil { - return m.RestartTime +func (x *BgpNbrBag) GetSecondLastWriteEvent() uint32 { + if x != nil { + return x.SecondLastWriteEvent } return 0 } -func (m *BgpNbrAf_) GetLocalRestartTime() uint32 { - if m != nil { - return m.LocalRestartTime +func (x *BgpNbrBag) GetLastKAexpiryReset() uint32 { + if x != nil { + return x.LastKAexpiryReset } return 0 } -func (m *BgpNbrAf_) GetStalePathTimeout() uint32 { - if m != nil { - return m.StalePathTimeout +func (x *BgpNbrBag) GetSecondLastKAexpiryReset() uint32 { + if x != nil { + return x.SecondLastKAexpiryReset } return 0 } -func (m *BgpNbrAf_) GetRibPurgeTimeoutValue() uint32 { - if m != nil { - return m.RibPurgeTimeoutValue +func (x *BgpNbrBag) GetLastKAnotsentReset() uint32 { + if x != nil { + return x.LastKAnotsentReset } return 0 } -func (m *BgpNbrAf_) GetNeighborPreservedForwardingState() string { - if m != nil { - return m.NeighborPreservedForwardingState +func (x *BgpNbrBag) GetLastKAerrorReset() uint32 { + if x != nil { + return x.LastKAerrorReset } - return "" + return 0 } -func (m *BgpNbrAf_) GetLongLivedGracefulRestartStaleTimeConfigured() string { - if m != nil { - return m.LongLivedGracefulRestartStaleTimeConfigured +func (x *BgpNbrBag) GetLastKAstartReset() uint32 { + if x != nil { + return x.LastKAstartReset } - return "" + return 0 } -func (m *BgpNbrAf_) GetLongLivedGracefulRestartStaleTimeSent() uint32 { - if m != nil { - return m.LongLivedGracefulRestartStaleTimeSent +func (x *BgpNbrBag) GetSecondLastKAstartReset() uint32 { + if x != nil { + return x.SecondLastKAstartReset } return 0 } -func (m *BgpNbrAf_) GetLongLivedGracefulRestartStaleTimeAccept() uint32 { - if m != nil { - return m.LongLivedGracefulRestartStaleTimeAccept +func (x *BgpNbrBag) GetConnectionUpCount() uint32 { + if x != nil { + return x.ConnectionUpCount } return 0 } -func (m *BgpNbrAf_) GetLongLivedGracefulRestartCapabilityReceived() string { - if m != nil { - return m.LongLivedGracefulRestartCapabilityReceived +func (x *BgpNbrBag) GetConnectionDownCount() uint32 { + if x != nil { + return x.ConnectionDownCount } - return "" + return 0 } -func (m *BgpNbrAf_) GetLongLivedGracefulRestartStaleTimeReceived() uint32 { - if m != nil { - return m.LongLivedGracefulRestartStaleTimeReceived +func (x *BgpNbrBag) GetTimeSinceConnectionLastDropped() uint32 { + if x != nil { + return x.TimeSinceConnectionLastDropped } return 0 } -func (m *BgpNbrAf_) GetNeighborPreservedLongLivedForwardingState() string { - if m != nil { - return m.NeighborPreservedLongLivedForwardingState +func (x *BgpNbrBag) GetResetReason() string { + if x != nil { + return x.ResetReason } return "" } -func (m *BgpNbrAf_) GetNeighborLongLivedGracefulRestartCapable() string { - if m != nil { - return m.NeighborLongLivedGracefulRestartCapable +func (x *BgpNbrBag) GetPeerResetReason() string { + if x != nil { + return x.PeerResetReason } return "" } -func (m *BgpNbrAf_) GetNeighborLongLivedGracefulRestartTimeRemaining() uint32 { - if m != nil { - return m.NeighborLongLivedGracefulRestartTimeRemaining +func (x *BgpNbrBag) GetPeerErrorCode() uint32 { + if x != nil { + return x.PeerErrorCode } return 0 } -func (m *BgpNbrAf_) GetRouteRefreshesReceived() uint32 { - if m != nil { - return m.RouteRefreshesReceived +func (x *BgpNbrBag) GetLastNotifyErrorCode() uint32 { + if x != nil { + return x.LastNotifyErrorCode } return 0 } -func (m *BgpNbrAf_) GetRouteRefreshesSent() uint32 { - if m != nil { - return m.RouteRefreshesSent +func (x *BgpNbrBag) GetLastNotifyErrorSubcode() uint32 { + if x != nil { + return x.LastNotifyErrorSubcode } return 0 } -func (m *BgpNbrAf_) GetRefreshTargetVersion() uint32 { - if m != nil { - return m.RefreshTargetVersion +func (x *BgpNbrBag) GetSendNotificationInfo() *BgpNotfntype_ { + if x != nil { + return x.SendNotificationInfo } - return 0 + return nil } -func (m *BgpNbrAf_) GetRefreshVersion() uint32 { - if m != nil { - return m.RefreshVersion +func (x *BgpNbrBag) GetReceivedNotificationInfo() *BgpNotfntype_ { + if x != nil { + return x.ReceivedNotificationInfo } - return 0 + return nil } -func (m *BgpNbrAf_) GetRefreshAckedVersion() uint32 { - if m != nil { - return m.RefreshAckedVersion +func (x *BgpNbrBag) GetErrorNotifiesReceived() uint32 { + if x != nil { + return x.ErrorNotifiesReceived } return 0 } -func (m *BgpNbrAf_) GetIsPrefixOrfPresent() string { - if m != nil { - return m.IsPrefixOrfPresent +func (x *BgpNbrBag) GetErrorNotifiesSent() uint32 { + if x != nil { + return x.ErrorNotifiesSent } - return "" + return 0 } -func (m *BgpNbrAf_) GetOrfEntriesReceived() uint32 { - if m != nil { - return m.OrfEntriesReceived +func (x *BgpNbrBag) GetRemoteAsNumber() uint32 { + if x != nil { + return x.RemoteAsNumber } return 0 } -func (m *BgpNbrAf_) GetIsDefaultOriginateSent() string { - if m != nil { - return m.IsDefaultOriginateSent +func (x *BgpNbrBag) GetDmzLinkBandwidth() uint32 { + if x != nil { + return x.DmzLinkBandwidth } - return "" + return 0 } -func (m *BgpNbrAf_) GetRoutePolicyPrefixOrf() string { - if m != nil { - return m.RoutePolicyPrefixOrf +func (x *BgpNbrBag) GetEbgpRecvDmz() bool { + if x != nil { + return x.EbgpRecvDmz } - return "" + return false } -func (m *BgpNbrAf_) GetRoutePolicyIn() string { - if m != nil { - return m.RoutePolicyIn +func (x *BgpNbrBag) GetEbgpSendDmzMode() string { + if x != nil { + return x.EbgpSendDmzMode } return "" } -func (m *BgpNbrAf_) GetRoutePolicyOut() string { - if m != nil { - return m.RoutePolicyOut +func (x *BgpNbrBag) GetTosType() uint32 { + if x != nil { + return x.TosType } - return "" + return 0 } -func (m *BgpNbrAf_) GetRoutePolicyDefaultOriginate() string { - if m != nil { - return m.RoutePolicyDefaultOriginate +func (x *BgpNbrBag) GetTosValue() uint32 { + if x != nil { + return x.TosValue } - return "" + return 0 } -func (m *BgpNbrAf_) GetIsNeighborEbgpWithoutInboundPolicy() string { - if m != nil { - return m.IsNeighborEbgpWithoutInboundPolicy +func (x *BgpNbrBag) GetPerformanceStatistics() *BgpPerfNbr_ { + if x != nil { + return x.PerformanceStatistics } - return "" + return nil } -func (m *BgpNbrAf_) GetIsNeighborEbgpWithoutOutboundPolicy() string { - if m != nil { - return m.IsNeighborEbgpWithoutOutboundPolicy +func (x *BgpNbrBag) GetAfData() []*BgpNbrAf_ { + if x != nil { + return x.AfData } - return "" + return nil } -func (m *BgpNbrAf_) GetIsAsOverrideSet() string { - if m != nil { - return m.IsAsOverrideSet +func (x *BgpNbrBag) GetTcpSessionOpenMode() string { + if x != nil { + return x.TcpSessionOpenMode } return "" } -func (m *BgpNbrAf_) GetIsAllowAsInSet() string { - if m != nil { - return m.IsAllowAsInSet +func (x *BgpNbrBag) GetVrfName() string { + if x != nil { + return x.VrfName } return "" } -func (m *BgpNbrAf_) GetAllowAsInCount() uint32 { - if m != nil { - return m.AllowAsInCount +func (x *BgpNbrBag) GetStandbyRp() bool { + if x != nil { + return x.StandbyRp } - return 0 + return false } -func (m *BgpNbrAf_) GetAddressFamilyLongLivedTime() uint32 { - if m != nil { - return m.AddressFamilyLongLivedTime +func (x *BgpNbrBag) GetNsrEnabled() bool { + if x != nil { + return x.NsrEnabled } - return 0 + return false } -func (m *BgpNbrAf_) GetEoRReceivedInReadOnly() string { - if m != nil { - return m.EoRReceivedInReadOnly +func (x *BgpNbrBag) GetGracefulRestartEnabledNbr() bool { + if x != nil { + return x.GracefulRestartEnabledNbr } - return "" + return false } -func (m *BgpNbrAf_) GetAckedVersion() uint32 { - if m != nil { - return m.AckedVersion +func (x *BgpNbrBag) GetGrRestartTime() uint32 { + if x != nil { + return x.GrRestartTime } return 0 } -func (m *BgpNbrAf_) GetSyncedAckedVersion() uint32 { - if m != nil { - return m.SyncedAckedVersion +func (x *BgpNbrBag) GetGrStalePathTime() uint32 { + if x != nil { + return x.GrStalePathTime } return 0 } -func (m *BgpNbrAf_) GetOutstandingVersion() uint32 { - if m != nil { - return m.OutstandingVersion +func (x *BgpNbrBag) GetFssnOffset() uint32 { + if x != nil { + return x.FssnOffset } return 0 } -func (m *BgpNbrAf_) GetOutstandingVersionMax() uint32 { - if m != nil { - return m.OutstandingVersionMax +func (x *BgpNbrBag) GetFpbsnOffset() uint32 { + if x != nil { + return x.FpbsnOffset } return 0 } -func (m *BgpNbrAf_) GetNeighborAfPerformanceStatistics() *BgpPerfNbrAf_ { - if m != nil { - return m.NeighborAfPerformanceStatistics - } - return nil -} - -func (m *BgpNbrAf_) GetIsAigpSet() string { - if m != nil { - return m.IsAigpSet - } - return "" -} - -func (m *BgpNbrAf_) GetIsRtPresent() string { - if m != nil { - return m.IsRtPresent - } - return "" -} - -func (m *BgpNbrAf_) GetExtendedCommunity() []uint32 { - if m != nil { - return m.ExtendedCommunity +func (x *BgpNbrBag) GetLastAckdSeqNo() uint32 { + if x != nil { + return x.LastAckdSeqNo } - return nil + return 0 } -func (m *BgpNbrAf_) GetIsRtPresentStandby() string { - if m != nil { - return m.IsRtPresentStandby +func (x *BgpNbrBag) GetBytesWritten() uint32 { + if x != nil { + return x.BytesWritten } - return "" + return 0 } -func (m *BgpNbrAf_) GetExtendedCommunityStandby() []uint32 { - if m != nil { - return m.ExtendedCommunityStandby +func (x *BgpNbrBag) GetBytesRead() uint32 { + if x != nil { + return x.BytesRead } - return nil + return 0 } -func (m *BgpNbrAf_) GetAcceptOwnEnabled() string { - if m != nil { - return m.AcceptOwnEnabled +func (x *BgpNbrBag) GetSocketReadBytes() uint32 { + if x != nil { + return x.SocketReadBytes } - return "" + return 0 } -func (m *BgpNbrAf_) GetSelectiveMultipathEligible() string { - if m != nil { - return m.SelectiveMultipathEligible +func (x *BgpNbrBag) GetIsReadDisabled() bool { + if x != nil { + return x.IsReadDisabled } - return "" + return false } -func (m *BgpNbrAf_) GetAfrpkiDisable() string { - if m != nil { - return m.AfrpkiDisable +func (x *BgpNbrBag) GetUpdateBytesRead() uint32 { + if x != nil { + return x.UpdateBytesRead } - return "" + return 0 } -func (m *BgpNbrAf_) GetAfrpkiUseValidity() string { - if m != nil { - return m.AfrpkiUseValidity +func (x *BgpNbrBag) GetNsrState() string { + if x != nil { + return x.NsrState } return "" } -func (m *BgpNbrAf_) GetAfrpkiAllowInvalid() string { - if m != nil { - return m.AfrpkiAllowInvalid +func (x *BgpNbrBag) GetIsPassiveClose() bool { + if x != nil { + return x.IsPassiveClose } - return "" + return false } -func (m *BgpNbrAf_) GetAfrpkiSignalIbgp() string { - if m != nil { - return m.AfrpkiSignalIbgp +func (x *BgpNbrBag) GetNbrEnforceFirstAs() bool { + if x != nil { + return x.NbrEnforceFirstAs } - return "" + return false } -func (m *BgpNbrAf_) GetIsAdvertisePermanentNetwork() string { - if m != nil { - return m.IsAdvertisePermanentNetwork +func (x *BgpNbrBag) GetActiveBmpServers() uint32 { + if x != nil { + return x.ActiveBmpServers } - return "" + return 0 } -func (m *BgpNbrAf_) GetIsSendMcastAttr() string { - if m != nil { - return m.IsSendMcastAttr +func (x *BgpNbrBag) GetNbrClusterId() uint32 { + if x != nil { + return x.NbrClusterId } - return "" + return 0 } -func (m *BgpNbrAf_) GetImportStitching() string { - if m != nil { - return m.ImportStitching +func (x *BgpNbrBag) GetNbrInCluster() uint32 { + if x != nil { + return x.NbrInCluster } - return "" + return 0 } -func (m *BgpNbrAf_) GetImportReoriginate() string { - if m != nil { - return m.ImportReoriginate +func (x *BgpNbrBag) GetIgnoreConnected() bool { + if x != nil { + return x.IgnoreConnected } - return "" + return false } -func (m *BgpNbrAf_) GetImportReoriginateStitching() string { - if m != nil { - return m.ImportReoriginateStitching +func (x *BgpNbrBag) GetInternalVpnClient() bool { + if x != nil { + return x.InternalVpnClient } - return "" + return false } -func (m *BgpNbrAf_) GetAdvertiseV4Flags() uint32 { - if m != nil { - return m.AdvertiseV4Flags +func (x *BgpNbrBag) GetIoArmed() bool { + if x != nil { + return x.IoArmed } - return 0 + return false } -func (m *BgpNbrAf_) GetAdvertiseV6Flags() uint32 { - if m != nil { - return m.AdvertiseV6Flags +func (x *BgpNbrBag) GetReadArmed() bool { + if x != nil { + return x.ReadArmed } - return 0 + return false } -func (m *BgpNbrAf_) GetAdvertiseLocalLabeledRouteUnicast() string { - if m != nil { - return m.AdvertiseLocalLabeledRouteUnicast +func (x *BgpNbrBag) GetWriteArmed() bool { + if x != nil { + return x.WriteArmed } - return "" -} - -type NbrAfP struct { - Value *BgpNbrAf_ `protobuf:"bytes,1,opt,name=value" json:"value,omitempty"` + return false } -func (m *NbrAfP) Reset() { *m = NbrAfP{} } -func (m *NbrAfP) String() string { return proto.CompactTextString(m) } -func (*NbrAfP) ProtoMessage() {} -func (*NbrAfP) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} } - -func (m *NbrAfP) GetValue() *BgpNbrAf_ { - if m != nil { - return m.Value +func (x *BgpNbrBag) GetMessageStatistics() *BgpNbrMsgStats { + if x != nil { + return x.MessageStatistics } return nil } -type BgpNotfntype_ struct { - // Time since the last notification was sent or received (seconds) - TimeSinceLastNotification uint32 `protobuf:"varint,1,opt,name=time_since_last_notification,json=timeSinceLastNotification" json:"time_since_last_notification,omitempty"` - // Error code in last notification - NotificationErrorCode uint32 `protobuf:"varint,2,opt,name=notification_error_code,json=notificationErrorCode" json:"notification_error_code,omitempty"` - // Error subcode in last notification - NotificationErrorSubcode uint32 `protobuf:"varint,3,opt,name=notification_error_subcode,json=notificationErrorSubcode" json:"notification_error_subcode,omitempty"` - // Message data in last notification - LastNotificationData []uint32 `protobuf:"varint,4,rep,packed,name=last_notification_data,json=lastNotificationData" json:"last_notification_data,omitempty"` -} - -func (m *BgpNotfntype_) Reset() { *m = BgpNotfntype_{} } -func (m *BgpNotfntype_) String() string { return proto.CompactTextString(m) } -func (*BgpNotfntype_) ProtoMessage() {} -func (*BgpNotfntype_) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} } - -func (m *BgpNotfntype_) GetTimeSinceLastNotification() uint32 { - if m != nil { - return m.TimeSinceLastNotification +func (x *BgpNbrBag) GetDiscardDataBytes() uint32 { + if x != nil { + return x.DiscardDataBytes } return 0 } -func (m *BgpNotfntype_) GetNotificationErrorCode() uint32 { - if m != nil { - return m.NotificationErrorCode +func (x *BgpNbrBag) GetLocalAsReplaceAs() bool { + if x != nil { + return x.LocalAsReplaceAs } - return 0 + return false } -func (m *BgpNotfntype_) GetNotificationErrorSubcode() uint32 { - if m != nil { - return m.NotificationErrorSubcode +func (x *BgpNbrBag) GetLocalAsDualAs() bool { + if x != nil { + return x.LocalAsDualAs } - return 0 + return false } -func (m *BgpNotfntype_) GetLastNotificationData() []uint32 { - if m != nil { - return m.LastNotificationData +func (x *BgpNbrBag) GetLocalAsDualAsModeNative() bool { + if x != nil { + return x.LocalAsDualAsModeNative } - return nil + return false } -type BgpNbrMsgStatsUnit struct { - // Count - Count uint32 `protobuf:"varint,1,opt,name=count" json:"count,omitempty"` - // Last timespec - LastTimeSpec *BgpTimespec `protobuf:"bytes,2,opt,name=last_time_spec,json=lastTimeSpec" json:"last_time_spec,omitempty"` -} - -func (m *BgpNbrMsgStatsUnit) Reset() { *m = BgpNbrMsgStatsUnit{} } -func (m *BgpNbrMsgStatsUnit) String() string { return proto.CompactTextString(m) } -func (*BgpNbrMsgStatsUnit) ProtoMessage() {} -func (*BgpNbrMsgStatsUnit) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} } - -func (m *BgpNbrMsgStatsUnit) GetCount() uint32 { - if m != nil { - return m.Count +func (x *BgpNbrBag) GetEgressPeerEngineeringEnabled() bool { + if x != nil { + return x.EgressPeerEngineeringEnabled } - return 0 + return false } -func (m *BgpNbrMsgStatsUnit) GetLastTimeSpec() *BgpTimespec { - if m != nil { - return m.LastTimeSpec +func (x *BgpNbrBag) GetTcpInitSyncTimeSpec() *BgpTimespec { + if x != nil { + return x.TcpInitSyncTimeSpec } return nil } -type BgpNbrMsgStatsOp struct { - // Transmit - Tx *BgpNbrMsgStatsUnit `protobuf:"bytes,1,opt,name=tx" json:"tx,omitempty"` - // Receive - Rx *BgpNbrMsgStatsUnit `protobuf:"bytes,2,opt,name=rx" json:"rx,omitempty"` -} - -func (m *BgpNbrMsgStatsOp) Reset() { *m = BgpNbrMsgStatsOp{} } -func (m *BgpNbrMsgStatsOp) String() string { return proto.CompactTextString(m) } -func (*BgpNbrMsgStatsOp) ProtoMessage() {} -func (*BgpNbrMsgStatsOp) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} } - -func (m *BgpNbrMsgStatsOp) GetTx() *BgpNbrMsgStatsUnit { - if m != nil { - return m.Tx +func (x *BgpNbrBag) GetTcpInitSyncPhaseTwoTimeSpec() *BgpTimespec { + if x != nil { + return x.TcpInitSyncPhaseTwoTimeSpec } return nil } -func (m *BgpNbrMsgStatsOp) GetRx() *BgpNbrMsgStatsUnit { - if m != nil { - return m.Rx +func (x *BgpNbrBag) GetTcpInitSyncDoneTimeSpec() *BgpTimespec { + if x != nil { + return x.TcpInitSyncDoneTimeSpec } return nil } -type BgpNbrMsgStats struct { - // Open - Open *BgpNbrMsgStatsOp `protobuf:"bytes,1,opt,name=open" json:"open,omitempty"` - // Notification - Notification *BgpNbrMsgStatsOp `protobuf:"bytes,2,opt,name=notification" json:"notification,omitempty"` - // Update - Update *BgpNbrMsgStatsOp `protobuf:"bytes,3,opt,name=update" json:"update,omitempty"` - // Keepalive - Keepalive *BgpNbrMsgStatsOp `protobuf:"bytes,4,opt,name=keepalive" json:"keepalive,omitempty"` - // Route refresh - RouteRefresh *BgpNbrMsgStatsOp `protobuf:"bytes,5,opt,name=route_refresh,json=routeRefresh" json:"route_refresh,omitempty"` - // Total - Total *BgpNbrMsgStatsOp `protobuf:"bytes,6,opt,name=total" json:"total,omitempty"` -} - -func (m *BgpNbrMsgStats) Reset() { *m = BgpNbrMsgStats{} } -func (m *BgpNbrMsgStats) String() string { return proto.CompactTextString(m) } -func (*BgpNbrMsgStats) ProtoMessage() {} -func (*BgpNbrMsgStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} } - -func (m *BgpNbrMsgStats) GetOpen() *BgpNbrMsgStatsOp { - if m != nil { - return m.Open +func (x *BgpNbrBag) GetDiscardAs4Path() uint32 { + if x != nil { + return x.DiscardAs4Path } - return nil + return 0 } -func (m *BgpNbrMsgStats) GetNotification() *BgpNbrMsgStatsOp { - if m != nil { - return m.Notification +func (x *BgpNbrBag) GetRpkiDisable() bool { + if x != nil { + return x.RpkiDisable } - return nil + return false } -func (m *BgpNbrMsgStats) GetUpdate() *BgpNbrMsgStatsOp { - if m != nil { - return m.Update +func (x *BgpNbrBag) GetRpkiUseValidity() bool { + if x != nil { + return x.RpkiUseValidity } - return nil + return false } -func (m *BgpNbrMsgStats) GetKeepalive() *BgpNbrMsgStatsOp { - if m != nil { - return m.Keepalive +func (x *BgpNbrBag) GetRpkiAllowInvalid() bool { + if x != nil { + return x.RpkiAllowInvalid } - return nil + return false } -func (m *BgpNbrMsgStats) GetRouteRefresh() *BgpNbrMsgStatsOp { - if m != nil { - return m.RouteRefresh +func (x *BgpNbrBag) GetRpkiSignalIbgp() bool { + if x != nil { + return x.RpkiSignalIbgp } - return nil + return false } -func (m *BgpNbrMsgStats) GetTotal() *BgpNbrMsgStatsOp { - if m != nil { - return m.Total +func (x *BgpNbrBag) GetGracefulMaintenance() *BgpNbrGshut_ { + if x != nil { + return x.GracefulMaintenance } return nil } -func init() { - proto.RegisterType((*BgpNbrBag_KEYS)(nil), "cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_bag_KEYS") - proto.RegisterType((*BgpNbrBag)(nil), "cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_bag") - proto.RegisterType((*BgpTimespec)(nil), "cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_timespec") - proto.RegisterType((*IPV4TunnelAddressType)(nil), "cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.IPV4TunnelAddressType") - proto.RegisterType((*IPV4MDTAddressType)(nil), "cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.IPV4MDTAddressType") - proto.RegisterType((*RTConstraintAddressType)(nil), "cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.RTConstraintAddressType") - proto.RegisterType((*IPV6AddressType)(nil), "cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.IPV6AddressType") - proto.RegisterType((*BgpL2VpnAddrT)(nil), "cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_l2vpn_addr_t") - proto.RegisterType((*L2VPNEVPNAddressType)(nil), "cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.L2VPNEVPNAddressType") - proto.RegisterType((*BgpL2VpnMspwAddrT)(nil), "cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_l2vpn_mspw_addr_t") - proto.RegisterType((*IPV6MVPNAddressType)(nil), "cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.IPV6MVPNAddressType") - proto.RegisterType((*IPV4MVPNAddressType)(nil), "cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.IPV4MVPNAddressType") - proto.RegisterType((*LS_LSAddressType)(nil), "cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.LS_LSAddressType") - proto.RegisterType((*IPv4FlowspecAddressType)(nil), "cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.IPv4FlowspecAddressType") - proto.RegisterType((*IPv6FlowspecAddressType)(nil), "cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.IPv6FlowspecAddressType") - proto.RegisterType((*BgpAddrtype)(nil), "cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_addrtype") - proto.RegisterType((*BgpPerfNbrAf_)(nil), "cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_perf_nbr_af_") - proto.RegisterType((*BgpPerfNbr_)(nil), "cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_perf_nbr_") - proto.RegisterType((*BgpNbrGshut_)(nil), "cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_gshut_") - proto.RegisterType((*BgpNbrAf_)(nil), "cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_af_") - proto.RegisterType((*NbrAfP)(nil), "cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.nbr_af_p") - proto.RegisterType((*BgpNotfntype_)(nil), "cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_notfntype_") - proto.RegisterType((*BgpNbrMsgStatsUnit)(nil), "cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_msg_stats_unit") - proto.RegisterType((*BgpNbrMsgStatsOp)(nil), "cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_msg_stats_op") - proto.RegisterType((*BgpNbrMsgStats)(nil), "cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_msg_stats") -} - -func init() { proto.RegisterFile("bgp_nbr_bag.proto", fileDescriptor0) } - -var fileDescriptor0 = []byte{ - // 7872 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xc4, 0x7c, 0xe9, 0x77, 0x1c, 0x49, - 0x72, 0xdf, 0xeb, 0x39, 0x48, 0x22, 0x01, 0x10, 0x40, 0xe1, 0x2a, 0x80, 0x20, 0x09, 0x82, 0xc3, - 0xfb, 0x9a, 0xe1, 0x60, 0xb1, 0x33, 0xb3, 0x9c, 0x19, 0x35, 0x01, 0x90, 0x83, 0x1d, 0x5c, 0x53, - 0x0d, 0x72, 0xa4, 0x5d, 0xad, 0x4a, 0xd5, 0x55, 0xd9, 0x8d, 0x1c, 0x54, 0x57, 0xd5, 0x64, 0x66, - 0x37, 0xd0, 0xb4, 0x25, 0x59, 0x96, 0x6c, 0xcb, 0xb2, 0x2c, 0xcb, 0xf2, 0x5a, 0xb6, 0x35, 0xb6, - 0x0e, 0x4b, 0xab, 0x95, 0x64, 0x1d, 0x3e, 0x64, 0xcb, 0x87, 0x64, 0xf9, 0x5a, 0x1f, 0xff, 0x90, - 0x3f, 0xd9, 0xef, 0xf9, 0x65, 0x44, 0x66, 0x55, 0x56, 0x77, 0x63, 0x48, 0x7f, 0x18, 0xe2, 0x13, - 0xd0, 0x19, 0xbf, 0x88, 0x8c, 0xca, 0x23, 0x32, 0x32, 0x32, 0x23, 0xc9, 0x44, 0xbd, 0x99, 0xf9, - 0x49, 0x9d, 0xfb, 0xf5, 0xa0, 0x79, 0x37, 0xe3, 0xa9, 0x4c, 0x9d, 0x1f, 0x0f, 0x99, 0x08, 0x53, - 0x9f, 0xa5, 0xc2, 0x3f, 0xe2, 0x3e, 0xcb, 0x3a, 0xcb, 0xbe, 0x02, 0xa5, 0x19, 0xe5, 0x77, 0xeb, - 0xcd, 0xec, 0x2e, 0x4b, 0x84, 0x0c, 0x92, 0x90, 0x8a, 0xfc, 0xbf, 0xfc, 0x1f, 0x3f, 0x08, 0x25, - 0xeb, 0xd0, 0xbb, 0x11, 0x6d, 0x04, 0xed, 0x58, 0xfa, 0x1d, 0xde, 0xb8, 0x9b, 0x50, 0xd6, 0xdc, - 0xaf, 0xa7, 0x5c, 0xe4, 0xff, 0x2d, 0xd5, 0xc9, 0xb8, 0x55, 0xad, 0xff, 0xf1, 0xfa, 0x8f, 0xd4, - 0x9c, 0xcb, 0x64, 0x34, 0x97, 0x92, 0x04, 0x2d, 0xea, 0x56, 0x16, 0x2b, 0xd7, 0x87, 0xbc, 0x11, - 0x53, 0xb8, 0x1d, 0xb4, 0xa8, 0x73, 0x83, 0x8c, 0x1b, 0x21, 0x7e, 0x10, 0x45, 0x9c, 0x0a, 0xe1, - 0xbe, 0x02, 0xb8, 0x31, 0x53, 0x5e, 0xc5, 0xe2, 0xa5, 0x2f, 0x1e, 0x91, 0x61, 0xab, 0x12, 0xe7, - 0x3c, 0x21, 0x22, 0xa3, 0xc1, 0x01, 0xe5, 0x3e, 0x8b, 0xdc, 0xfb, 0x8b, 0x95, 0xeb, 0xa3, 0xde, - 0x90, 0x2e, 0xd9, 0x88, 0x9c, 0x45, 0x32, 0x1c, 0x51, 0x11, 0x72, 0x96, 0x49, 0x96, 0x26, 0xee, - 0xdb, 0x20, 0xd4, 0x2e, 0x72, 0xe6, 0xc8, 0x99, 0x38, 0x0d, 0x83, 0xd8, 0x0f, 0x84, 0xbb, 0x0c, - 0xec, 0xa7, 0xe1, 0x77, 0x55, 0x38, 0xe7, 0xc8, 0x10, 0xa7, 0xad, 0x54, 0x52, 0x45, 0xfb, 0x1a, - 0xd0, 0xce, 0x60, 0x41, 0x55, 0x38, 0x37, 0xc9, 0xc4, 0x7e, 0x20, 0x7c, 0x96, 0x48, 0xca, 0x93, - 0x20, 0xf6, 0x63, 0x96, 0x1c, 0xb8, 0x2b, 0xa8, 0xf4, 0x7e, 0x20, 0x36, 0x74, 0xf9, 0x26, 0x4b, - 0x0e, 0x9c, 0x6f, 0x93, 0x5b, 0x4c, 0xf8, 0xf4, 0x48, 0x43, 0xf3, 0x6f, 0x4d, 0x52, 0xe9, 0x47, - 0x8c, 0xd3, 0x50, 0xc6, 0x5d, 0x3f, 0x4c, 0x93, 0x84, 0x86, 0x92, 0x46, 0xee, 0xd7, 0x41, 0xca, - 0x55, 0x26, 0xd6, 0x35, 0xc7, 0xb6, 0x66, 0xd8, 0x4e, 0xe5, 0x9a, 0x86, 0xaf, 0x1a, 0xb4, 0x73, - 0x8b, 0x4c, 0xb4, 0xa8, 0x10, 0x41, 0x93, 0x0a, 0x9f, 0xd3, 0x90, 0xb2, 0x0e, 0x8d, 0xdc, 0x77, - 0x40, 0xdb, 0x71, 0x43, 0xf0, 0x74, 0xb9, 0xea, 0x8e, 0x1c, 0x2c, 0x68, 0x22, 0xdd, 0x77, 0x01, - 0x38, 0x62, 0x0a, 0x6b, 0x34, 0x91, 0xce, 0x6d, 0xe2, 0xb4, 0xb3, 0x28, 0x90, 0xd4, 0xcf, 0xb1, - 0x2c, 0x71, 0xdf, 0x43, 0x91, 0x48, 0xd9, 0xd2, 0x84, 0x8d, 0xc4, 0xb9, 0x4b, 0x26, 0x7b, 0xd1, - 0x69, 0x5b, 0xba, 0xdf, 0x00, 0xf8, 0x44, 0x19, 0xbe, 0xd3, 0x06, 0xe9, 0x39, 0xf0, 0xf3, 0x36, - 0x6d, 0xd3, 0x48, 0x49, 0x7f, 0x50, 0x56, 0xf8, 0x13, 0x20, 0xa0, 0xf4, 0x5e, 0xb4, 0x92, 0xfe, - 0x3e, 0x4a, 0x2f, 0xc3, 0x95, 0xf4, 0x0f, 0xc8, 0x39, 0xdd, 0x90, 0x2c, 0x4d, 0x7c, 0x2a, 0x64, - 0x50, 0x8f, 0x99, 0xd8, 0xa7, 0x91, 0x2f, 0x59, 0x8b, 0xba, 0x1f, 0x00, 0xdf, 0x5c, 0x01, 0x59, - 0x2f, 0x10, 0x7b, 0x0c, 0x87, 0xa2, 0xc5, 0x2f, 0x64, 0x20, 0xa9, 0xfb, 0x21, 0xf6, 0x6a, 0x51, - 0x5e, 0x53, 0xc5, 0xce, 0x7b, 0x64, 0x2e, 0xe3, 0xb4, 0xc3, 0xd2, 0xb6, 0xf0, 0xfb, 0x78, 0x7e, - 0x08, 0x2a, 0x9a, 0x35, 0x80, 0xd5, 0x1e, 0xde, 0x15, 0x32, 0x6b, 0xb1, 0x04, 0x51, 0x8b, 0x21, - 0x63, 0x5b, 0xb8, 0x55, 0xe0, 0x9c, 0x2e, 0xc8, 0x55, 0x45, 0xad, 0x01, 0xd1, 0x79, 0x8b, 0x4c, - 0xa7, 0x19, 0x4d, 0xfc, 0x70, 0x9f, 0x86, 0x07, 0x3e, 0xe5, 0x3c, 0xe5, 0x7e, 0x98, 0x46, 0xd4, - 0x7d, 0x08, 0x3a, 0x3a, 0x8a, 0xb8, 0xaa, 0x68, 0xeb, 0x8a, 0xb4, 0x9a, 0x46, 0xd4, 0xf9, 0xdd, - 0x0a, 0x71, 0xad, 0xba, 0xf4, 0x60, 0xd7, 0xb3, 0x6c, 0x75, 0xb1, 0x72, 0x7d, 0xf8, 0x7e, 0x72, - 0xf7, 0xab, 0xb6, 0x0d, 0x4a, 0x0a, 0x54, 0x2a, 0xbb, 0x19, 0xf5, 0x66, 0x0a, 0x7d, 0x36, 0x61, - 0xae, 0xa1, 0x36, 0xce, 0xfb, 0xe4, 0x1c, 0x13, 0x65, 0x0d, 0x55, 0xcb, 0x36, 0x58, 0xb3, 0xcd, - 0x69, 0xe4, 0xae, 0xc1, 0x37, 0xba, 0x4c, 0xd8, 0x4c, 0xab, 0x39, 0xdd, 0xb9, 0x4f, 0xa6, 0xfb, - 0x3e, 0x34, 0x4b, 0xb9, 0x74, 0xd7, 0xa1, 0x49, 0x27, 0x7b, 0x6a, 0xdd, 0x4d, 0xb9, 0x74, 0x7e, - 0xbf, 0x42, 0xac, 0xd1, 0xe0, 0x9b, 0xf9, 0xae, 0x9b, 0xe7, 0xd1, 0x89, 0x34, 0x8f, 0x35, 0x34, - 0x3c, 0x34, 0x37, 0xba, 0x7d, 0x96, 0xc9, 0x4c, 0xbf, 0xae, 0xf0, 0x85, 0x8f, 0xe1, 0x0b, 0xa7, - 0x7a, 0x19, 0xe1, 0x13, 0xdf, 0x23, 0x73, 0xb9, 0xc5, 0x01, 0x73, 0xd5, 0x08, 0x42, 0xea, 0xef, - 0x07, 0x49, 0x14, 0x53, 0xf7, 0x23, 0x1c, 0xa7, 0x06, 0xb0, 0x61, 0xe8, 0x1f, 0x01, 0x59, 0x8d, - 0x53, 0x4e, 0x05, 0x95, 0xca, 0x54, 0xb1, 0x06, 0x0b, 0x03, 0x1c, 0xe2, 0xca, 0x72, 0x6c, 0x40, - 0x6f, 0x4c, 0x03, 0x79, 0xdb, 0xa2, 0x82, 0x09, 0xa9, 0x92, 0xf3, 0x4c, 0xe0, 0xb8, 0x66, 0x42, - 0xf2, 0x40, 0xb5, 0x41, 0xdc, 0xf5, 0xc5, 0x7e, 0x5b, 0xfa, 0x51, 0x7a, 0x98, 0xb8, 0xdf, 0x04, - 0xee, 0x79, 0x26, 0xaa, 0x3d, 0x98, 0xda, 0x7e, 0x5b, 0xae, 0xa5, 0x87, 0x89, 0xb3, 0x46, 0x2e, - 0x32, 0x51, 0xd8, 0xca, 0x56, 0x70, 0xe4, 0x67, 0x9c, 0x36, 0xd8, 0x11, 0x48, 0x01, 0x21, 0x1f, - 0x83, 0x90, 0x73, 0x4c, 0x18, 0x03, 0xb9, 0x15, 0x1c, 0xed, 0x02, 0xa6, 0xa6, 0x21, 0xce, 0x3b, - 0x64, 0x8e, 0x81, 0x41, 0xf2, 0xd3, 0x86, 0xdf, 0xa2, 0xad, 0x94, 0x77, 0x0b, 0xfe, 0x4d, 0xfc, - 0x04, 0xa6, 0xec, 0xd2, 0x4e, 0x63, 0x0b, 0xa8, 0x39, 0xe7, 0xbb, 0x64, 0xbe, 0x8f, 0xb3, 0x91, - 0xf2, 0x90, 0x46, 0x7e, 0x3b, 0x73, 0xb7, 0x06, 0xb0, 0x3e, 0x02, 0xea, 0x93, 0xcc, 0xb9, 0x4f, - 0x66, 0x94, 0xbd, 0x57, 0x9d, 0x9a, 0x51, 0xca, 0xfd, 0x40, 0xf8, 0x31, 0x0d, 0x9a, 0x6d, 0xea, - 0x6e, 0xe3, 0x34, 0x65, 0x62, 0xbd, 0xde, 0xcc, 0x76, 0x29, 0xe5, 0x55, 0xb1, 0x09, 0x14, 0xad, - 0x68, 0xc1, 0x13, 0xa6, 0xad, 0x96, 0x31, 0x0d, 0xee, 0x8e, 0xa9, 0xcd, 0xb0, 0xad, 0x02, 0x15, - 0xda, 0xce, 0x79, 0x93, 0x4c, 0x49, 0x19, 0xfb, 0x82, 0x86, 0x6d, 0xce, 0x64, 0xd7, 0xa7, 0x49, - 0x50, 0x8f, 0x69, 0xe4, 0xee, 0x62, 0x5d, 0x52, 0xc6, 0x35, 0x4d, 0x5a, 0x47, 0x8a, 0x5a, 0xbb, - 0x44, 0x3b, 0xcb, 0xd4, 0x98, 0x5a, 0xf6, 0xeb, 0x5d, 0x5c, 0xe0, 0x3e, 0x41, 0x2b, 0x97, 0x13, - 0x1e, 0x76, 0xcd, 0x3a, 0x57, 0x6f, 0x44, 0xbe, 0xa0, 0x42, 0x14, 0xd6, 0xcd, 0x43, 0x6c, 0xbd, - 0x11, 0xd5, 0xb0, 0x1c, 0xad, 0xda, 0xbb, 0x64, 0xce, 0xc6, 0x86, 0x9c, 0x06, 0x92, 0x46, 0x9a, - 0xa7, 0x06, 0x3c, 0x33, 0x05, 0xcf, 0x2a, 0x92, 0x91, 0xf5, 0x6b, 0x64, 0xd6, 0x66, 0xc5, 0x6f, - 0xf0, 0x5b, 0xca, 0xb4, 0xed, 0x01, 0xe3, 0x54, 0xc1, 0x88, 0x9f, 0xb1, 0xa5, 0x8c, 0xdb, 0x1d, - 0xe2, 0x28, 0x36, 0x35, 0x84, 0xd4, 0xc8, 0xed, 0x04, 0x71, 0x27, 0x88, 0xdd, 0x27, 0xb8, 0x3a, - 0xd4, 0x1b, 0xd1, 0x56, 0x89, 0xa0, 0xd6, 0x4a, 0x80, 0xb7, 0x63, 0xc9, 0xb2, 0x98, 0x41, 0xb9, - 0xfb, 0x14, 0x97, 0x1e, 0x85, 0xb6, 0xcb, 0x9d, 0x45, 0x32, 0x02, 0x2a, 0x29, 0xfd, 0x7c, 0x29, - 0xdc, 0x4f, 0x17, 0x2b, 0xd7, 0x5f, 0xf3, 0x88, 0xd2, 0x43, 0x15, 0xed, 0xa1, 0x83, 0x90, 0xb6, - 0x25, 0xfa, 0x1e, 0x3f, 0x0c, 0x6a, 0x9e, 0xc1, 0x82, 0x8d, 0x48, 0xad, 0x44, 0x09, 0x6d, 0xa6, - 0x92, 0x41, 0x1b, 0x80, 0x0f, 0x16, 0xa6, 0xb1, 0xdf, 0xa1, 0x5c, 0x7d, 0x83, 0xfb, 0x23, 0xb8, - 0x12, 0x15, 0x90, 0x5d, 0x8d, 0x78, 0x8a, 0x00, 0xe7, 0x06, 0x99, 0x80, 0xd1, 0xa0, 0xd6, 0x2d, - 0x5f, 0xa6, 0x7e, 0xcc, 0x3a, 0xd4, 0xfd, 0x16, 0x70, 0x9d, 0x55, 0x04, 0xb5, 0x5c, 0xed, 0xa5, - 0x9b, 0xac, 0x43, 0x9d, 0xef, 0x90, 0xdb, 0x66, 0xec, 0xc0, 0xa7, 0xed, 0xa7, 0x99, 0x32, 0x50, - 0xad, 0x2c, 0x16, 0x6a, 0xc8, 0x1e, 0x06, 0x3c, 0x62, 0x49, 0xd3, 0x8f, 0x98, 0xc0, 0x91, 0xf1, - 0x6d, 0x50, 0xf5, 0x1a, 0x0e, 0xa7, 0x2d, 0xcd, 0xf1, 0x10, 0x19, 0x1e, 0xe5, 0xf8, 0x35, 0x0d, - 0x77, 0x66, 0xc8, 0x29, 0x19, 0x66, 0x2d, 0x21, 0xdc, 0x1f, 0x85, 0xea, 0xf5, 0x2f, 0x67, 0x81, - 0x90, 0x96, 0x68, 0xfa, 0x71, 0xda, 0x54, 0x2b, 0xf8, 0x77, 0xd0, 0x41, 0x6a, 0x89, 0xe6, 0x66, - 0xda, 0xdc, 0x48, 0x9c, 0x0b, 0x64, 0xd8, 0x50, 0xd5, 0x8a, 0xfd, 0x63, 0xe8, 0x9a, 0x21, 0x59, - 0xad, 0xd4, 0x37, 0xc9, 0x44, 0x3e, 0xb9, 0x73, 0x0f, 0xcc, 0x07, 0x54, 0xee, 0xf5, 0x6d, 0x6a, - 0x4f, 0xec, 0x0e, 0x99, 0x34, 0x10, 0x3f, 0x49, 0x95, 0x1d, 0xc8, 0x68, 0x12, 0xb9, 0x3f, 0x0e, - 0xdf, 0x31, 0xae, 0xfd, 0xb5, 0xed, 0x74, 0x17, 0xcb, 0x9d, 0x1d, 0xf2, 0x06, 0x13, 0x7e, 0x18, - 0x64, 0x41, 0x9d, 0xc5, 0x6a, 0x4a, 0x98, 0x56, 0x86, 0x11, 0xac, 0x07, 0x38, 0x8d, 0xdc, 0x00, - 0xf8, 0x2f, 0x31, 0xb1, 0x9a, 0x43, 0xb7, 0x0b, 0x64, 0x2d, 0x07, 0x3a, 0x5b, 0xe4, 0xf2, 0xf1, - 0x02, 0x33, 0xca, 0x1b, 0x29, 0x6f, 0xd1, 0xc8, 0xad, 0x83, 0xbc, 0xc5, 0x63, 0xe4, 0xed, 0x1a, - 0x9c, 0xb3, 0x0d, 0xfa, 0xc1, 0x48, 0xf1, 0x39, 0x6d, 0x70, 0x2a, 0xf6, 0x6d, 0xe1, 0xb9, 0x17, - 0x17, 0x1a, 0x79, 0x9e, 0x82, 0x7a, 0x88, 0x2c, 0x64, 0xe7, 0x5e, 0xdd, 0x13, 0x72, 0xbd, 0x4f, - 0x5e, 0x1a, 0x47, 0x03, 0x65, 0x46, 0x20, 0xf3, 0x72, 0x59, 0xe6, 0x4e, 0x1c, 0x0d, 0x10, 0x7b, - 0x81, 0x0c, 0x33, 0xe1, 0x37, 0xb9, 0x1f, 0x1c, 0x06, 0x9c, 0xba, 0x14, 0x38, 0x87, 0x98, 0x78, - 0xcc, 0xab, 0xaa, 0x00, 0x2d, 0x74, 0x6e, 0x40, 0x06, 0xd6, 0xd6, 0x30, 0x16, 0x5a, 0x9b, 0x93, - 0x01, 0xb5, 0x3c, 0x50, 0x8b, 0xfe, 0x40, 0x29, 0xb0, 0xcc, 0x34, 0x41, 0xc2, 0xec, 0x00, 0x09, - 0xb0, 0xd0, 0x7c, 0x4c, 0x96, 0x60, 0xc8, 0x17, 0x13, 0x6c, 0x90, 0x1a, 0xfb, 0x20, 0xe4, 0x22, - 0x20, 0xcd, 0x3c, 0x1b, 0xa0, 0xca, 0x39, 0x32, 0xb4, 0xaf, 0xda, 0x0d, 0x5c, 0x45, 0x86, 0xe3, - 0x59, 0x15, 0x80, 0x67, 0x78, 0x95, 0x8c, 0x1d, 0x50, 0x9a, 0xf9, 0x81, 0x9a, 0x88, 0x08, 0xf9, - 0x0c, 0x20, 0xa3, 0xaa, 0xb8, 0xaa, 0x4a, 0x01, 0xf7, 0x26, 0x99, 0x2a, 0x7c, 0x16, 0xbf, 0x90, - 0x77, 0x00, 0x60, 0xa7, 0xa0, 0x7d, 0x64, 0x24, 0xbf, 0x55, 0xe2, 0x50, 0xd2, 0xa0, 0x0e, 0x37, - 0xce, 0xdd, 0x16, 0x4d, 0xfb, 0xd8, 0x90, 0x9c, 0x0f, 0xc8, 0x82, 0xc5, 0xa2, 0xbc, 0xc7, 0x20, - 0x0c, 0xad, 0xca, 0x5a, 0xc0, 0xea, 0x16, 0x98, 0x2d, 0x96, 0x54, 0xc3, 0x30, 0xaf, 0x72, 0x99, - 0xcc, 0x00, 0x53, 0xd4, 0xa1, 0x5c, 0x32, 0x41, 0x7d, 0x63, 0x25, 0xdd, 0x04, 0x3d, 0x89, 0x16, - 0x4b, 0xaa, 0x86, 0xb8, 0xa1, 0x69, 0xce, 0x87, 0x64, 0x61, 0x30, 0x97, 0xdf, 0x12, 0x34, 0x14, - 0x6e, 0x8a, 0x36, 0x6d, 0x10, 0xef, 0x96, 0x02, 0x38, 0xef, 0x10, 0x57, 0x09, 0x48, 0x39, 0x6b, - 0xb2, 0x04, 0x67, 0x4f, 0x5e, 0x71, 0x06, 0xcc, 0x4a, 0xad, 0x9d, 0x82, 0x9c, 0x57, 0x5d, 0xb8, - 0x3e, 0x3e, 0xa7, 0x92, 0x77, 0x0b, 0xbe, 0xcf, 0x4b, 0xae, 0x8f, 0xa7, 0x88, 0x39, 0xd7, 0xdb, - 0x64, 0x06, 0xcc, 0xa7, 0x60, 0xca, 0x15, 0x8b, 0x03, 0x21, 0x7d, 0xdc, 0x90, 0xb8, 0x1c, 0xdb, - 0x56, 0x51, 0x6b, 0x8a, 0xb8, 0x19, 0x08, 0xf9, 0x04, 0x48, 0xce, 0x3d, 0x32, 0xd5, 0xcb, 0xc4, - 0x69, 0x10, 0xb9, 0x02, 0x57, 0x95, 0x12, 0x8b, 0x47, 0x83, 0xc8, 0x79, 0x8f, 0xcc, 0x0f, 0x62, - 0xf0, 0xc1, 0x35, 0x72, 0x25, 0x7e, 0x57, 0x1f, 0x9b, 0xa7, 0xa8, 0x6a, 0x91, 0x01, 0x5e, 0xe0, - 0x0a, 0xeb, 0x6e, 0x1b, 0x17, 0x19, 0x55, 0xa6, 0x80, 0xab, 0x75, 0xe7, 0x16, 0x71, 0x6c, 0x84, - 0x96, 0xda, 0x41, 0x43, 0x59, 0xe0, 0x06, 0x88, 0x6b, 0xd4, 0xdd, 0xc3, 0xb2, 0xb8, 0x47, 0x75, - 0xe7, 0xba, 0xda, 0xe0, 0xb4, 0x13, 0x89, 0x90, 0x43, 0xce, 0x24, 0x75, 0x8f, 0x70, 0x55, 0x81, - 0x72, 0x05, 0xfb, 0x54, 0x95, 0xaa, 0xbd, 0x46, 0xef, 0x67, 0x21, 0xbc, 0x8b, 0x23, 0xb9, 0xf4, - 0x45, 0xc8, 0xf2, 0x0d, 0x32, 0x1f, 0x48, 0x49, 0x5b, 0x99, 0x5a, 0xf2, 0x0a, 0x0e, 0x98, 0xdc, - 0xc2, 0x7d, 0x86, 0xbe, 0x66, 0x8e, 0xc8, 0xf9, 0xd4, 0xcc, 0x16, 0xca, 0x05, 0x08, 0x42, 0xd9, - 0x56, 0x7b, 0xe9, 0x5e, 0xce, 0xbf, 0x84, 0x7d, 0x8c, 0xe4, 0x1e, 0xb6, 0x0f, 0xc8, 0x82, 0xa5, - 0xa6, 0xa0, 0x61, 0x9a, 0xd8, 0x75, 0xbb, 0x7f, 0x19, 0xa7, 0x42, 0xae, 0x6d, 0x0d, 0x10, 0x85, - 0xce, 0x1f, 0x91, 0x4b, 0x85, 0xce, 0x7d, 0xec, 0x5a, 0x81, 0x9f, 0x00, 0x21, 0xe7, 0x73, 0x60, - 0x8f, 0x10, 0xd4, 0xe4, 0x21, 0xb9, 0xa0, 0x3f, 0xe0, 0x38, 0x31, 0x3f, 0x09, 0x62, 0xe6, 0x11, - 0x35, 0x50, 0xc6, 0x03, 0x72, 0x6e, 0x60, 0xa3, 0xeb, 0x6e, 0xff, 0x29, 0x6c, 0xc2, 0xfe, 0xa6, - 0xc7, 0xee, 0x7f, 0x4c, 0x16, 0x07, 0xb6, 0x3f, 0xfa, 0xf0, 0xa8, 0xc3, 0x5f, 0xa9, 0x80, 0x8c, - 0x85, 0xfe, 0x6e, 0x00, 0x19, 0xa8, 0x46, 0x95, 0x9c, 0xef, 0xef, 0x0b, 0x5b, 0xca, 0x4f, 0xa3, - 0x94, 0xb9, 0x9e, 0x2e, 0xb1, 0x44, 0x7c, 0x93, 0x2c, 0x7d, 0x59, 0xbf, 0xe8, 0x0f, 0xfa, 0xab, - 0x28, 0xe7, 0xfc, 0x71, 0xdd, 0x83, 0xdf, 0xb5, 0x47, 0xae, 0x7d, 0x59, 0x1f, 0xd9, 0x8a, 0xfd, - 0x0c, 0x0a, 0x5c, 0x3a, 0xae, 0xab, 0x2c, 0x0d, 0xb7, 0xc9, 0x1b, 0xc7, 0xf6, 0x97, 0x2d, 0xf2, - 0x67, 0x51, 0xe4, 0xc5, 0x81, 0xdd, 0x66, 0xc9, 0xbb, 0x41, 0xc6, 0x2d, 0x09, 0xb4, 0xa3, 0x96, - 0xaf, 0xbf, 0x86, 0xbc, 0x67, 0x63, 0x83, 0x5f, 0x57, 0xc5, 0x6a, 0x5f, 0xd5, 0x5f, 0x27, 0x72, - 0xfc, 0x75, 0xe4, 0x98, 0x12, 0xe5, 0x7a, 0x90, 0xef, 0x4d, 0x32, 0x05, 0x0c, 0x07, 0x7e, 0x40, - 0x8f, 0x32, 0xc6, 0xbb, 0xba, 0x19, 0xff, 0x06, 0x32, 0x4d, 0x28, 0xe2, 0xc7, 0x55, 0x24, 0x61, - 0xd3, 0xbd, 0x4f, 0xce, 0xd9, 0x35, 0xf5, 0x32, 0xfe, 0x1c, 0x32, 0xce, 0x16, 0xb5, 0x95, 0xd9, - 0xef, 0x93, 0x69, 0xc3, 0x97, 0xa4, 0x52, 0xad, 0xc8, 0x9a, 0xf1, 0x6f, 0x22, 0xa3, 0x83, 0x35, - 0x6a, 0x1a, 0xf2, 0xdc, 0x25, 0x93, 0x79, 0x5d, 0x10, 0xa1, 0x40, 0x8e, 0x9f, 0x47, 0x8e, 0x71, - 0xad, 0xa3, 0xa2, 0xf4, 0xe1, 0x85, 0x0c, 0xb8, 0xa9, 0xe1, 0x6f, 0x95, 0xf0, 0x40, 0x41, 0xfc, - 0x37, 0xc8, 0x7c, 0xcf, 0x27, 0xd9, 0x6c, 0xbf, 0x80, 0x6c, 0x33, 0xf6, 0x17, 0x59, 0xcc, 0xf7, - 0x88, 0x15, 0x07, 0xf0, 0xdb, 0x99, 0x0f, 0x56, 0xcf, 0xfd, 0xdb, 0xba, 0x01, 0x0b, 0xda, 0x93, - 0x6c, 0x55, 0x51, 0x9c, 0xb7, 0x4b, 0x51, 0x05, 0xb5, 0x35, 0xd4, 0x2c, 0xbf, 0x58, 0xe9, 0x0d, - 0x2b, 0xa8, 0x7d, 0x2b, 0x32, 0x7d, 0x5c, 0x1a, 0xfc, 0x76, 0x54, 0x42, 0x69, 0x1c, 0xf1, 0x34, - 0xcb, 0x68, 0xe4, 0xfe, 0x1d, 0x94, 0x70, 0x21, 0x1f, 0xfc, 0x45, 0x98, 0x48, 0xe9, 0xbd, 0x86, - 0x30, 0x67, 0x89, 0x8c, 0xe0, 0x70, 0xe4, 0x34, 0x10, 0x69, 0xe2, 0xfe, 0x12, 0xc6, 0x50, 0x87, - 0xa1, 0xd0, 0x83, 0x32, 0xb5, 0xb3, 0x81, 0x6d, 0x63, 0x09, 0xf8, 0x77, 0x11, 0x38, 0xa6, 0x28, - 0x9e, 0x05, 0xbe, 0x46, 0xa0, 0xc8, 0x8e, 0x1f, 0xfd, 0x32, 0xaa, 0x32, 0xaa, 0xca, 0x8b, 0xd8, - 0xd1, 0x32, 0x99, 0x01, 0x85, 0x61, 0xf7, 0xdf, 0xb5, 0xf1, 0x7f, 0x4f, 0x7f, 0xbc, 0x22, 0xc3, - 0xee, 0xbf, 0x5b, 0x70, 0xbd, 0x47, 0xe6, 0xfa, 0xb9, 0x44, 0xbb, 0x0e, 0x8c, 0xdf, 0xd5, 0xdd, - 0xd3, 0xc3, 0x58, 0x43, 0xb2, 0xf3, 0xfd, 0x0a, 0x99, 0x11, 0x34, 0x89, 0xca, 0x01, 0x07, 0x96, - 0x34, 0x52, 0xf7, 0xef, 0x57, 0x20, 0x1a, 0x93, 0xbd, 0x9c, 0x68, 0x4c, 0x92, 0xca, 0x46, 0x22, - 0xbb, 0x19, 0xf5, 0xd5, 0x54, 0x4c, 0x22, 0x3b, 0xc4, 0xb1, 0x91, 0x34, 0x52, 0xe7, 0x8f, 0x2b, - 0x64, 0xde, 0x38, 0x98, 0x03, 0xb4, 0xfd, 0x95, 0x93, 0xd2, 0xd6, 0x35, 0x4a, 0xf5, 0x69, 0xfc, - 0x75, 0x32, 0x8b, 0x7d, 0x81, 0xda, 0xda, 0xf1, 0xe2, 0x7f, 0x80, 0xbd, 0x32, 0x0d, 0xf4, 0x6d, - 0x4d, 0xce, 0xfd, 0xe2, 0x7b, 0x64, 0xb2, 0x87, 0x11, 0x5c, 0xf3, 0x7f, 0xa8, 0xe7, 0x4c, 0x89, - 0x09, 0xbc, 0xf2, 0x1b, 0x64, 0x3c, 0x8f, 0x9c, 0xfb, 0x49, 0xbb, 0x55, 0xa7, 0xdc, 0xfd, 0x47, - 0xda, 0x12, 0x9a, 0x08, 0xfa, 0x36, 0x14, 0xab, 0x1d, 0x7c, 0xd4, 0x7a, 0x06, 0xe1, 0x73, 0xbf, - 0x1e, 0x24, 0xd1, 0x21, 0x8b, 0xe4, 0xbe, 0xfb, 0xab, 0x7a, 0xee, 0x47, 0xad, 0x67, 0x9b, 0x2c, - 0x39, 0x78, 0x68, 0x08, 0xce, 0x65, 0x32, 0x0a, 0xfb, 0x5c, 0x4e, 0xc3, 0x8e, 0x1f, 0xb5, 0x9e, - 0xb9, 0x5f, 0xe8, 0xc9, 0xa0, 0x4a, 0x3d, 0x1a, 0x76, 0xd6, 0x5a, 0xcf, 0x9c, 0xdb, 0xc4, 0x01, - 0x10, 0x0c, 0x24, 0x25, 0x1d, 0xe2, 0x08, 0xff, 0x58, 0xcf, 0x06, 0x45, 0xaa, 0xd1, 0x24, 0x5a, - 0x6b, 0x3d, 0x83, 0x18, 0xc2, 0x3c, 0x39, 0x23, 0x53, 0xe1, 0xab, 0xd6, 0x73, 0xff, 0x09, 0xd6, - 0x7b, 0x5a, 0xa6, 0x62, 0xaf, 0x9b, 0x51, 0x67, 0x81, 0x0c, 0x29, 0x5a, 0x27, 0x88, 0xdb, 0xd4, - 0xfd, 0x35, 0x24, 0x2a, 0xf4, 0x53, 0x55, 0x00, 0x83, 0x55, 0xef, 0xfe, 0xa0, 0xbf, 0x84, 0x0c, - 0x24, 0x13, 0x92, 0x85, 0xc2, 0xfd, 0x75, 0xec, 0xfe, 0xf4, 0xe5, 0x74, 0xbf, 0x52, 0x02, 0x8e, - 0x44, 0xbc, 0x69, 0x4b, 0x9f, 0x5a, 0xae, 0x8e, 0xf3, 0xb3, 0x15, 0x72, 0x3a, 0x68, 0xf8, 0x51, - 0x20, 0x03, 0xf7, 0x37, 0x2a, 0x8b, 0xaf, 0x5e, 0x1f, 0xbe, 0xff, 0xd9, 0x57, 0xaf, 0x9a, 0xd2, - 0x28, 0x68, 0xf8, 0x99, 0x77, 0x2a, 0x68, 0xac, 0x05, 0x32, 0x50, 0xab, 0x89, 0x0c, 0xb3, 0x3c, - 0xca, 0x03, 0xa1, 0x6c, 0xe8, 0x9b, 0xdf, 0xac, 0xe8, 0x60, 0x55, 0x98, 0xe9, 0x20, 0xcf, 0x4e, - 0x46, 0x13, 0xd3, 0x3d, 0x1d, 0xf5, 0x75, 0x41, 0x8b, 0xba, 0xff, 0x14, 0x61, 0xa7, 0x3b, 0xbc, - 0x01, 0x07, 0x47, 0x17, 0x08, 0x51, 0x0a, 0x45, 0xf5, 0xae, 0xcf, 0x33, 0xf7, 0xb7, 0x90, 0x3a, - 0xa4, 0x8b, 0xbc, 0xcc, 0x59, 0x24, 0xc3, 0x89, 0xe0, 0x79, 0x44, 0xec, 0xb7, 0x11, 0x40, 0x12, - 0xc1, 0x4d, 0x28, 0xec, 0x87, 0xc8, 0x42, 0x93, 0x07, 0x21, 0x6d, 0xb4, 0x63, 0x65, 0x3b, 0x61, - 0x1d, 0xd1, 0x70, 0xd5, 0xa0, 0xee, 0xf7, 0x90, 0x65, 0xce, 0x80, 0x3c, 0xc4, 0x68, 0xf6, 0xed, - 0x3a, 0x57, 0xc6, 0xb4, 0xc9, 0x73, 0x5e, 0xd8, 0x7d, 0xfd, 0x8e, 0x36, 0xa6, 0x4d, 0xae, 0xe1, - 0xb0, 0xe7, 0xba, 0x4d, 0x9c, 0x26, 0x57, 0x63, 0x24, 0xa6, 0x7e, 0x16, 0xc8, 0x7d, 0xc4, 0x7e, - 0x1f, 0xb1, 0x63, 0x4d, 0x5e, 0x53, 0x94, 0xdd, 0x40, 0xee, 0x03, 0x7a, 0x91, 0x0c, 0x37, 0x84, - 0x48, 0xfc, 0xb4, 0xd1, 0x50, 0xab, 0xda, 0xef, 0x22, 0x8c, 0xa8, 0xb2, 0x1d, 0x28, 0x52, 0xcb, - 0x42, 0x23, 0xab, 0x17, 0x90, 0xdf, 0x43, 0xc8, 0x30, 0x14, 0x6a, 0xcc, 0x75, 0xed, 0x92, 0x04, - 0xe1, 0x81, 0x72, 0x9c, 0x3e, 0xf7, 0x93, 0xd4, 0xfd, 0x7d, 0xad, 0x9d, 0x22, 0x54, 0xc3, 0x83, - 0xa8, 0x46, 0x3f, 0xdf, 0x4e, 0x9d, 0x37, 0xc8, 0x28, 0x78, 0x3b, 0xe0, 0x8b, 0x48, 0x9a, 0xb8, - 0xff, 0x0c, 0x61, 0x23, 0x50, 0xfa, 0x29, 0x16, 0xaa, 0x06, 0x47, 0x14, 0xec, 0x88, 0xfe, 0x00, - 0x21, 0x43, 0x50, 0x04, 0x5b, 0xa1, 0x5b, 0x64, 0x42, 0xa4, 0xe1, 0x01, 0xd5, 0x3b, 0x20, 0xf4, - 0x9f, 0xfe, 0x50, 0x7f, 0x22, 0x52, 0x14, 0x2e, 0xf7, 0x97, 0x18, 0x4a, 0x2a, 0x42, 0x53, 0x7f, - 0x84, 0xed, 0x7d, 0x96, 0x81, 0xbc, 0x3c, 0x04, 0x75, 0x8b, 0xe8, 0x93, 0x24, 0xdf, 0xaa, 0xfe, - 0x8f, 0xb5, 0x5c, 0xa4, 0x3c, 0xcc, 0x95, 0x58, 0x20, 0x43, 0xaa, 0xd7, 0x31, 0xec, 0xf8, 0xcf, - 0x51, 0xe0, 0x99, 0x44, 0x70, 0x8c, 0x34, 0x62, 0xad, 0x59, 0x20, 0x84, 0xda, 0xc7, 0x87, 0x71, - 0x2a, 0xa8, 0xfb, 0x2f, 0xf2, 0x5a, 0x77, 0xb1, 0x7c, 0x55, 0x15, 0x2b, 0x6f, 0x4b, 0x0d, 0x61, - 0x9a, 0x40, 0xdc, 0xd7, 0x6f, 0x30, 0xae, 0x9a, 0x52, 0xb8, 0xff, 0x12, 0xe1, 0x13, 0x49, 0x9d, - 0xaf, 0x23, 0xed, 0x91, 0x22, 0x41, 0xa0, 0xca, 0xc1, 0xa9, 0xe1, 0xd7, 0x5b, 0x6a, 0x9c, 0xf3, - 0x0e, 0xe5, 0xc2, 0xfd, 0x57, 0xda, 0x9a, 0x21, 0xe9, 0x61, 0x2b, 0xab, 0x21, 0xc1, 0xb9, 0x42, - 0xce, 0xaa, 0x0a, 0xc2, 0xb8, 0x2d, 0x74, 0x14, 0xf1, 0x4f, 0x74, 0xab, 0x27, 0x75, 0xbe, 0x8a, - 0xa5, 0x1b, 0x91, 0x81, 0xb1, 0xc4, 0x20, 0xdd, 0x7f, 0x5d, 0xc0, 0x36, 0x12, 0x0d, 0x74, 0x6e, - 0x92, 0x71, 0xd6, 0x4c, 0x52, 0x4e, 0xad, 0xb3, 0xc4, 0x7f, 0xa3, 0x8d, 0x1e, 0x12, 0x8a, 0x53, - 0xc3, 0x7b, 0x64, 0x32, 0x3f, 0xba, 0xec, 0x64, 0x4a, 0x30, 0x53, 0x26, 0xfd, 0x4f, 0xf5, 0x97, - 0x19, 0xda, 0xd3, 0x2c, 0x59, 0x05, 0x8a, 0x9a, 0x86, 0x2c, 0xf5, 0x03, 0x88, 0x73, 0xfd, 0x5b, - 0x3d, 0x0d, 0x59, 0x5a, 0x85, 0x78, 0xd6, 0x05, 0x42, 0xa0, 0x17, 0x91, 0xfa, 0xef, 0xf4, 0x34, - 0x54, 0x45, 0x48, 0x5f, 0x24, 0xc3, 0xe8, 0xe1, 0x22, 0xe0, 0xdf, 0xeb, 0x69, 0x08, 0x65, 0x88, - 0xf8, 0xad, 0x4a, 0x7e, 0x2a, 0x68, 0x5b, 0xd1, 0xff, 0x80, 0x56, 0x54, 0xbc, 0xa4, 0x45, 0xb4, - 0xce, 0xfd, 0x96, 0x68, 0x82, 0x02, 0x22, 0x3f, 0x5c, 0xb4, 0xac, 0xa8, 0x5a, 0xab, 0x98, 0x08, - 0x03, 0x1e, 0x81, 0x25, 0xd5, 0xc3, 0xfb, 0xcf, 0xcc, 0x5a, 0x85, 0x24, 0x65, 0xe8, 0x70, 0x7c, - 0xdf, 0xb5, 0xa2, 0x96, 0x9c, 0x66, 0x71, 0x10, 0x42, 0xa0, 0xfd, 0xcf, 0x2b, 0xa5, 0xb0, 0xa5, - 0x87, 0x94, 0xaa, 0x80, 0xc9, 0x6a, 0xf0, 0x51, 0x1b, 0x03, 0xa2, 0xff, 0x11, 0xc1, 0xa3, 0x1a, - 0xbc, 0xd6, 0x86, 0x78, 0xe8, 0x07, 0x64, 0xa1, 0x17, 0x09, 0x76, 0xd4, 0x4f, 0xe0, 0x14, 0xc5, - 0xfd, 0x0b, 0xe4, 0x9a, 0x2d, 0x71, 0x29, 0x6b, 0xba, 0x0d, 0x74, 0xe7, 0x11, 0xb9, 0x48, 0x9b, - 0x70, 0xbc, 0x86, 0x7e, 0x60, 0xd2, 0x64, 0x09, 0xa5, 0x9c, 0x25, 0xcd, 0xdc, 0x56, 0xfe, 0x27, - 0x14, 0xb1, 0x80, 0xb8, 0x5d, 0xe5, 0x16, 0x16, 0x28, 0x63, 0x3d, 0xbf, 0x57, 0x21, 0xb3, 0xca, - 0xa0, 0xb3, 0x84, 0x49, 0x5f, 0x74, 0x93, 0x10, 0xa3, 0xd5, 0x22, 0xa3, 0xa1, 0xfb, 0x9f, 0x2b, - 0x2f, 0xf3, 0xf0, 0x4c, 0xd5, 0xab, 0xaa, 0xf5, 0x26, 0x65, 0x98, 0x6d, 0x24, 0x4c, 0xd6, 0xba, - 0x49, 0xa8, 0x0c, 0x69, 0x2d, 0xa3, 0xa1, 0xf3, 0xa7, 0x15, 0x72, 0xa9, 0xac, 0x67, 0xb6, 0x1f, - 0x08, 0xea, 0xcb, 0xc3, 0xd4, 0xd2, 0xf8, 0xbf, 0x9c, 0x8c, 0xc6, 0xe7, 0x2c, 0x8d, 0x77, 0x95, - 0x5a, 0x7b, 0x87, 0x69, 0xae, 0xf9, 0x1f, 0x55, 0xc8, 0x42, 0x59, 0xf3, 0x28, 0x4d, 0xa8, 0xa5, - 0xf4, 0x7f, 0x3d, 0x19, 0xa5, 0x67, 0x2d, 0xa5, 0xd7, 0xd2, 0x84, 0xe6, 0x0a, 0xdf, 0x20, 0x66, - 0x22, 0xf8, 0x81, 0x58, 0x86, 0x85, 0xce, 0xfd, 0x6f, 0xda, 0xf5, 0xd3, 0x84, 0xaa, 0x58, 0x56, - 0xcb, 0x1c, 0xec, 0x6b, 0xb2, 0x03, 0x66, 0x8c, 0xbf, 0xfb, 0x03, 0xb3, 0xaf, 0xc9, 0x0e, 0x98, - 0xb6, 0xfc, 0xca, 0xf0, 0x03, 0xa6, 0x2d, 0xa8, 0xf2, 0xc2, 0x58, 0xc4, 0x64, 0xd7, 0xfd, 0xef, - 0xda, 0xa8, 0x29, 0xca, 0x13, 0x41, 0x9f, 0xea, 0x72, 0x35, 0x3f, 0x01, 0x1c, 0xc4, 0x71, 0x7a, - 0xe8, 0xb3, 0x04, 0x18, 0xdc, 0xff, 0xa1, 0xe7, 0x9b, 0x22, 0x55, 0x15, 0x65, 0x03, 0x09, 0xe0, - 0xa5, 0x2a, 0xb8, 0x60, 0x4d, 0x65, 0x06, 0x59, 0xbd, 0x99, 0xb9, 0xff, 0x53, 0xaf, 0x04, 0x8a, - 0x50, 0x83, 0xf2, 0x8d, 0x7a, 0x33, 0x73, 0x7e, 0xbb, 0x42, 0xa6, 0x72, 0x3f, 0xa1, 0x15, 0x28, - 0xf3, 0x98, 0xa8, 0xa6, 0x73, 0xff, 0xd7, 0xcb, 0x75, 0xf3, 0xeb, 0xdc, 0x6f, 0xc2, 0x21, 0xaa, - 0x37, 0x69, 0xd4, 0xd9, 0x2a, 0xb4, 0x59, 0xfa, 0x26, 0x19, 0xb1, 0x7b, 0xc9, 0x71, 0xc9, 0x69, - 0xdc, 0x06, 0x0b, 0x57, 0x3b, 0xb6, 0xfa, 0x27, 0x78, 0x46, 0x41, 0x92, 0x1a, 0xea, 0x2b, 0xe8, - 0x3a, 0x58, 0x45, 0x4b, 0x77, 0xc8, 0xf4, 0xc6, 0xee, 0xd3, 0xe5, 0xbd, 0x76, 0x92, 0x50, 0x73, - 0xd8, 0x0e, 0x3e, 0xf1, 0x14, 0x79, 0x1d, 0xfd, 0x61, 0x6c, 0x2a, 0xfc, 0xb1, 0x74, 0x93, 0x38, - 0x0a, 0xbe, 0xb5, 0xb6, 0xf7, 0x7c, 0xec, 0x3d, 0x32, 0xeb, 0xed, 0xad, 0xa6, 0x89, 0x90, 0x5c, - 0x29, 0xff, 0x7c, 0x86, 0x6b, 0x64, 0x6c, 0x63, 0xf7, 0xe9, 0xca, 0xf3, 0x81, 0x5f, 0xc7, 0x2b, - 0x48, 0xf1, 0x7d, 0xb5, 0xa6, 0x05, 0x51, 0xc4, 0x7d, 0xa9, 0xb6, 0x0c, 0xc5, 0x6f, 0x2a, 0xb0, - 0x29, 0x46, 0xbc, 0x11, 0x28, 0x34, 0xf7, 0x8a, 0x6e, 0x93, 0xa9, 0xcd, 0xfb, 0x4f, 0x77, 0xb7, - 0xd7, 0x9f, 0xee, 0x6e, 0x3f, 0xbf, 0x9a, 0x07, 0x64, 0xba, 0xa8, 0xa6, 0x25, 0xb2, 0xc3, 0xff, - 0xaf, 0xba, 0x6e, 0x91, 0x49, 0xf5, 0x35, 0x5b, 0x2f, 0x54, 0x15, 0x82, 0x97, 0x5f, 0x0c, 0x7c, - 0x9d, 0x8c, 0x6f, 0xd6, 0xfc, 0xcd, 0xda, 0x0b, 0x75, 0xc1, 0xc6, 0x6e, 0x67, 0xf9, 0x51, 0x9c, - 0x1e, 0xaa, 0x91, 0xf2, 0xa2, 0x0c, 0x2b, 0x2f, 0xce, 0xf0, 0xe7, 0x73, 0x38, 0x18, 0xcd, 0xb5, - 0x06, 0x67, 0x9c, 0xbc, 0x1a, 0x34, 0x98, 0x06, 0xa9, 0x7f, 0x9d, 0x4b, 0x64, 0x04, 0x66, 0x4a, - 0xf9, 0xce, 0xd7, 0xb0, 0x2a, 0x33, 0x57, 0x1e, 0x6e, 0x13, 0x07, 0x20, 0xad, 0x10, 0xdc, 0x58, - 0x0d, 0x7c, 0x15, 0x67, 0xb4, 0xa2, 0x6c, 0x29, 0x42, 0x2f, 0x3a, 0x0e, 0xea, 0xb4, 0xb8, 0xe4, - 0xf2, 0x5a, 0x81, 0xde, 0x54, 0x04, 0x83, 0xfe, 0x7e, 0x85, 0x4c, 0x02, 0x5c, 0xc2, 0x18, 0xcf, - 0xf1, 0xaf, 0xc3, 0x94, 0x3e, 0xfc, 0xea, 0xa7, 0xf4, 0xc0, 0xf9, 0xe5, 0x4d, 0xa8, 0xaa, 0x4a, - 0xc5, 0xce, 0xaf, 0x55, 0xc8, 0x38, 0x36, 0x43, 0x54, 0x34, 0xc2, 0x29, 0x50, 0x53, 0xbe, 0x1c, - 0x35, 0xcb, 0xf3, 0xda, 0x3b, 0x0b, 0x4d, 0x1f, 0xe5, 0x0d, 0x7f, 0x5d, 0xeb, 0x67, 0x0f, 0xfd, - 0xd3, 0xda, 0xa7, 0xce, 0x3a, 0xcb, 0x4f, 0xf3, 0xc1, 0xaf, 0xb6, 0x80, 0x06, 0x19, 0x60, 0xaf, - 0x6a, 0xf8, 0x19, 0x80, 0x4f, 0x6a, 0x78, 0xb0, 0x55, 0x90, 0x9c, 0xef, 0x56, 0x60, 0xa0, 0xac, - 0xe4, 0xa2, 0x87, 0xe0, 0xd3, 0x3f, 0x7f, 0x29, 0x9f, 0x6e, 0x5b, 0x1d, 0x18, 0x9b, 0xa6, 0xc0, - 0xf9, 0xf5, 0x0a, 0x0c, 0xb7, 0x95, 0x9e, 0xc1, 0x49, 0x4e, 0x4a, 0x39, 0xd5, 0x05, 0x2b, 0xa5, - 0xf9, 0x90, 0x6b, 0x58, 0x9e, 0x10, 0xc3, 0x27, 0xaa, 0x61, 0x69, 0x0e, 0x7e, 0x81, 0x23, 0x7b, - 0xa5, 0x34, 0x72, 0x46, 0x4e, 0x4a, 0x3f, 0x35, 0x58, 0x57, 0xac, 0xc1, 0xfa, 0x3b, 0x15, 0x32, - 0x93, 0x6b, 0x57, 0xee, 0xe5, 0xd1, 0x93, 0xd2, 0x71, 0x52, 0xeb, 0x58, 0xea, 0xe8, 0xdf, 0xa8, - 0x10, 0x27, 0xbe, 0xaf, 0xd4, 0xec, 0x64, 0xb1, 0xc8, 0x95, 0x3c, 0x0b, 0x4a, 0xf2, 0x97, 0xe3, - 0x9c, 0xd8, 0x8b, 0xae, 0x37, 0x1e, 0xdf, 0x7f, 0x8a, 0xca, 0x18, 0x15, 0xff, 0xb0, 0x42, 0xa6, - 0xb9, 0x54, 0x5b, 0x53, 0xbd, 0xec, 0xe7, 0x5a, 0x8e, 0x81, 0x96, 0xdd, 0xaf, 0x5e, 0xcb, 0x63, - 0x9c, 0x0e, 0x6f, 0x92, 0xcb, 0x3e, 0x82, 0xf3, 0x9b, 0x15, 0x32, 0x81, 0xb3, 0xdb, 0x1e, 0x9a, - 0xe3, 0xa0, 0x6b, 0xfb, 0xe5, 0x74, 0x7b, 0xcf, 0xa2, 0xef, 0x8d, 0xc1, 0x04, 0x2f, 0x3c, 0x09, - 0xa3, 0xe3, 0x72, 0x59, 0xc7, 0x89, 0x97, 0xa8, 0xe3, 0xf2, 0x20, 0x1d, 0x97, 0x6d, 0x1d, 0xbf, - 0x57, 0x21, 0x93, 0x38, 0x34, 0x7d, 0x6a, 0x6b, 0xe9, 0x80, 0x96, 0x9d, 0xaf, 0x5e, 0xcb, 0x41, - 0x7e, 0x9d, 0x1e, 0x9f, 0xeb, 0x96, 0x9e, 0xbf, 0x52, 0x21, 0xa3, 0xb1, 0xf0, 0xad, 0xd9, 0x33, - 0xf9, 0xb2, 0x66, 0x4f, 0xaf, 0xcf, 0xe6, 0x0d, 0xc7, 0x62, 0x53, 0x58, 0x46, 0xc8, 0x34, 0x60, - 0xee, 0x6a, 0x2a, 0xf5, 0xa6, 0x5e, 0x96, 0x9b, 0x32, 0xd0, 0xd5, 0xd5, 0x2d, 0xb8, 0x25, 0xb2, - 0x43, 0x7b, 0x86, 0x43, 0xfd, 0x0d, 0xed, 0x24, 0xe6, 0xaa, 0x4e, 0xbf, 0xac, 0x19, 0x7e, 0x8c, - 0x4f, 0x8b, 0x6e, 0x45, 0x0f, 0xc1, 0xe8, 0xbb, 0xd2, 0xaf, 0xef, 0xcc, 0x4b, 0xd4, 0x77, 0xe5, - 0x38, 0x7d, 0x7b, 0x09, 0xce, 0x9f, 0x54, 0xc8, 0x5c, 0xee, 0x65, 0xf5, 0xe9, 0x3c, 0x7b, 0xd2, - 0x6d, 0x3c, 0xa3, 0x5d, 0xb7, 0x63, 0xd4, 0x5e, 0x19, 0xac, 0xb6, 0x7b, 0xd2, 0x4d, 0x3d, 0xa3, - 0xd7, 0xd3, 0x1e, 0xda, 0xd2, 0x9f, 0xbd, 0x8a, 0x7b, 0xc9, 0xfc, 0x6c, 0x25, 0x68, 0xf8, 0xce, - 0x1a, 0xb9, 0x28, 0xda, 0x75, 0xbf, 0xc9, 0xd3, 0xb6, 0xa2, 0x24, 0x70, 0xaf, 0xd2, 0x04, 0x2e, - 0xf1, 0x58, 0x18, 0x37, 0xda, 0xe7, 0x44, 0xbb, 0xfe, 0x58, 0xa1, 0x76, 0x11, 0xa4, 0x33, 0x20, - 0xf0, 0x74, 0xf8, 0x0e, 0x71, 0x32, 0x9e, 0x86, 0x70, 0xb7, 0x30, 0xcf, 0x9a, 0xd0, 0x7b, 0xf0, - 0x89, 0x9c, 0x62, 0x92, 0x26, 0xd4, 0xa6, 0x12, 0x0e, 0xde, 0x73, 0xe4, 0xab, 0x18, 0xfc, 0x55, - 0x85, 0x39, 0xa8, 0x4a, 0xce, 0x8b, 0x2c, 0x66, 0xd2, 0xdf, 0x4f, 0x39, 0x7b, 0x06, 0x47, 0xdb, - 0x10, 0x2f, 0x97, 0x3c, 0x48, 0x44, 0x8b, 0x49, 0xd8, 0x05, 0x8d, 0x7a, 0xf3, 0x00, 0xfa, 0x08, - 0x31, 0x78, 0xe1, 0x69, 0x4f, 0x23, 0x9c, 0x0f, 0xc9, 0xc2, 0x40, 0x11, 0xf5, 0x38, 0x0d, 0x0f, - 0x68, 0x04, 0xfb, 0xa2, 0x51, 0x6f, 0xae, 0x5f, 0xc2, 0x43, 0x04, 0x38, 0xeb, 0xe4, 0x62, 0x59, - 0xc0, 0x21, 0x93, 0xfb, 0x11, 0x0f, 0x0e, 0x0b, 0x2d, 0x4e, 0xe1, 0xe5, 0x13, 0x5b, 0xc6, 0xa7, - 0x1a, 0x94, 0xeb, 0xb1, 0x4a, 0x2e, 0x1c, 0x23, 0xc6, 0x68, 0x72, 0x5a, 0xb7, 0xf1, 0x00, 0x29, - 0x5a, 0x97, 0xa5, 0xdf, 0x1b, 0x25, 0xa3, 0xa5, 0xee, 0x73, 0xae, 0x90, 0xb3, 0x10, 0xa5, 0x96, - 0xfb, 0x3c, 0x95, 0x32, 0xa6, 0x26, 0x26, 0x32, 0xaa, 0x4a, 0xf7, 0x4c, 0xa1, 0xda, 0x43, 0xc6, - 0xe9, 0x61, 0x8e, 0x8a, 0xf0, 0xac, 0xe1, 0x15, 0x7d, 0x17, 0x21, 0x3d, 0x34, 0xc8, 0x08, 0xce, - 0x1a, 0xee, 0x92, 0xc9, 0x7d, 0xd6, 0xdc, 0xef, 0x85, 0x63, 0x0f, 0x4d, 0x28, 0x52, 0x19, 0xff, - 0x90, 0x5c, 0xe8, 0xbd, 0xdf, 0xd3, 0xc3, 0xaa, 0xfb, 0xa9, 0x74, 0xc5, 0xa7, 0x2c, 0xe3, 0x3a, - 0x19, 0x87, 0x0f, 0x09, 0x83, 0x38, 0x16, 0x7a, 0xd4, 0xbd, 0x6e, 0x0e, 0x57, 0x83, 0x68, 0x55, - 0x15, 0xe3, 0x40, 0xbb, 0x4b, 0x26, 0x01, 0x99, 0xa7, 0xd0, 0x20, 0x18, 0x3b, 0x61, 0x42, 0x91, - 0xcc, 0xf8, 0x41, 0xfc, 0x55, 0x32, 0x56, 0x04, 0xb6, 0x51, 0x1d, 0x6c, 0xea, 0xd1, 0xc8, 0x44, - 0xb5, 0x41, 0x83, 0x45, 0x32, 0xc2, 0x52, 0x3c, 0xb9, 0x81, 0x43, 0xac, 0x33, 0x78, 0x38, 0xc5, - 0x52, 0x45, 0x85, 0xe3, 0xab, 0x9b, 0x64, 0x02, 0x43, 0xfe, 0xb6, 0x92, 0x43, 0x78, 0x5e, 0x03, - 0x04, 0x4b, 0xcb, 0xdb, 0xc4, 0xb1, 0x6a, 0x35, 0xe7, 0x4f, 0x44, 0x47, 0xd5, 0x4d, 0xc5, 0xe6, - 0x08, 0x6a, 0x89, 0x8c, 0xb2, 0x54, 0xdf, 0x98, 0x81, 0xca, 0x87, 0x31, 0x76, 0xc5, 0x52, 0xb8, - 0x27, 0x03, 0xb5, 0x5f, 0xd3, 0xc7, 0x5e, 0x30, 0x6d, 0xf4, 0xb1, 0xd7, 0x48, 0x71, 0xea, 0x55, - 0xa3, 0x89, 0xc4, 0x53, 0xaf, 0x6f, 0x90, 0x79, 0x94, 0x24, 0xda, 0x75, 0x9c, 0xd4, 0xb6, 0xbe, - 0xa3, 0x78, 0x37, 0x06, 0x10, 0x35, 0x0d, 0xb0, 0xf4, 0xae, 0x92, 0xf3, 0x3d, 0xcc, 0x3d, 0xed, - 0x7c, 0x16, 0xbb, 0xb2, 0xc4, 0x5f, 0x6e, 0xf0, 0xdb, 0xc4, 0xc9, 0x99, 0x63, 0x26, 0xf4, 0xf9, - 0xe1, 0x18, 0x7e, 0xba, 0xa1, 0x6c, 0x32, 0x81, 0x27, 0x88, 0x5f, 0x23, 0xa8, 0x0b, 0x66, 0x42, - 0x95, 0x54, 0x1d, 0xc7, 0x4b, 0x43, 0x40, 0x86, 0x6c, 0x28, 0x4b, 0xcf, 0xfc, 0x23, 0x91, 0xad, - 0x47, 0xc9, 0x09, 0xeb, 0x23, 0x81, 0xb3, 0xac, 0xe1, 0x75, 0x32, 0x6e, 0x33, 0x83, 0x7e, 0x0e, - 0x0e, 0xb6, 0x82, 0x05, 0xb4, 0x5b, 0x21, 0xb3, 0x2c, 0xa9, 0xa7, 0xed, 0x24, 0xf2, 0x7b, 0x12, - 0xc2, 0xc0, 0x93, 0x1a, 0xf5, 0xa6, 0x35, 0xf9, 0x49, 0x29, 0x27, 0x4c, 0x99, 0x9d, 0x63, 0xf8, - 0xb0, 0xb6, 0x29, 0x34, 0x3b, 0x03, 0x99, 0xcd, 0x58, 0x6b, 0x05, 0x47, 0xac, 0xd5, 0x6e, 0xe1, - 0x90, 0x14, 0xec, 0x19, 0x05, 0x97, 0x63, 0xd4, 0x1b, 0xd3, 0x04, 0x35, 0x2e, 0x6b, 0xec, 0x19, - 0x75, 0x5c, 0x72, 0x1a, 0x97, 0x0b, 0x5c, 0xe4, 0x47, 0x3d, 0xf3, 0x53, 0xcd, 0x95, 0x46, 0xc0, - 0xd4, 0x34, 0xcc, 0x52, 0x38, 0x31, 0x45, 0xd4, 0x2c, 0xce, 0x15, 0x24, 0xed, 0xa6, 0x42, 0x56, - 0x35, 0x7e, 0x9e, 0x9c, 0xd1, 0x87, 0x88, 0xb8, 0x88, 0x8d, 0x7a, 0xf9, 0x6f, 0x88, 0x5a, 0xd3, - 0xcf, 0xe0, 0xa4, 0xcd, 0xcf, 0x41, 0x73, 0xd8, 0xab, 0x86, 0xb0, 0x6b, 0xc0, 0x37, 0x88, 0x3e, - 0x18, 0xf4, 0xc3, 0x34, 0x8e, 0x19, 0x64, 0x07, 0xcc, 0xa3, 0xf6, 0x58, 0xbe, 0x6a, 0x8a, 0xe1, - 0x96, 0x8f, 0x39, 0xb8, 0xcc, 0xb1, 0xe7, 0x50, 0xae, 0x26, 0x14, 0xe0, 0x87, 0xe4, 0x42, 0x98, - 0x26, 0x92, 0xa7, 0xb1, 0x2f, 0xcd, 0x64, 0xdd, 0xc7, 0x3f, 0x9c, 0x35, 0x9b, 0x94, 0xbb, 0x0b, - 0x38, 0x3e, 0x35, 0x6a, 0x0f, 0x67, 0x2f, 0x40, 0xf6, 0x10, 0xa1, 0xd6, 0x3b, 0x4b, 0x86, 0x9e, - 0x74, 0x65, 0x21, 0xe7, 0xd1, 0x16, 0xe7, 0x42, 0x70, 0x16, 0x96, 0xa4, 0x5c, 0x21, 0x67, 0x13, - 0x2a, 0x0f, 0x53, 0x7e, 0x60, 0x92, 0xdc, 0x2e, 0xe0, 0x64, 0xd4, 0xa5, 0x3a, 0xb9, 0xed, 0x22, - 0xc1, 0x2b, 0x4d, 0x7e, 0x23, 0x0e, 0x9a, 0xc2, 0xbd, 0x88, 0x46, 0x05, 0x8a, 0x1e, 0xa9, 0x12, - 0xe7, 0x1c, 0x19, 0x52, 0x96, 0x1c, 0xc9, 0x8b, 0xd8, 0xe6, 0x49, 0x9d, 0x23, 0x71, 0x9a, 0x9c, - 0x02, 0x62, 0xe4, 0x5e, 0x5a, 0xac, 0x5c, 0x9f, 0xf0, 0x5e, 0x57, 0x14, 0xc8, 0x78, 0x34, 0x77, - 0xa2, 0x24, 0x67, 0x54, 0xb8, 0x4b, 0xb8, 0x78, 0xea, 0xcb, 0x53, 0x50, 0x06, 0x59, 0xa4, 0xdd, - 0x24, 0xd4, 0x92, 0x2f, 0xeb, 0x2c, 0xd2, 0x6e, 0x12, 0xa2, 0xe8, 0x3b, 0x64, 0x32, 0x11, 0x1c, - 0x9c, 0x11, 0xfb, 0x02, 0xd8, 0x1b, 0xd8, 0xf0, 0x89, 0xe0, 0x3b, 0x19, 0xe5, 0xc5, 0xe5, 0xaf, - 0x7b, 0xfa, 0x92, 0x1e, 0x1c, 0x42, 0x87, 0x69, 0x46, 0x23, 0x38, 0xb9, 0x71, 0xaf, 0x14, 0x77, - 0xf4, 0xb6, 0x05, 0xaf, 0x01, 0xa5, 0xd6, 0x4d, 0xc2, 0xa5, 0xff, 0x53, 0x21, 0x67, 0xcb, 0xe1, - 0x7d, 0xe7, 0x12, 0x19, 0xc1, 0xff, 0xe8, 0x11, 0x13, 0x52, 0xe8, 0xa8, 0xe9, 0x30, 0x94, 0xad, - 0x43, 0x11, 0xdc, 0x27, 0x00, 0x88, 0x3e, 0x0a, 0x84, 0xb1, 0xa2, 0x63, 0xa8, 0xe3, 0x40, 0xc1, - 0xf4, 0x09, 0x28, 0x2f, 0x04, 0x6a, 0xdc, 0xab, 0x96, 0x40, 0x0d, 0xb9, 0x49, 0x26, 0x72, 0x81, - 0x19, 0xa7, 0x0d, 0x5f, 0x50, 0xa9, 0x83, 0xa7, 0x63, 0x46, 0x9e, 0x2a, 0xaf, 0x51, 0x08, 0x74, - 0x97, 0xb0, 0x7a, 0x01, 0x1a, 0xb1, 0x71, 0xaa, 0xdf, 0x11, 0xa4, 0x13, 0x36, 0x84, 0x5e, 0x79, - 0x90, 0x55, 0x67, 0x6b, 0x88, 0xa5, 0xff, 0xfd, 0x7e, 0x91, 0xd3, 0xab, 0x9c, 0xac, 0x59, 0xb8, - 0xab, 0x62, 0x65, 0x0b, 0x9f, 0x0a, 0xf0, 0xba, 0xc7, 0x37, 0xc9, 0x92, 0x9d, 0x12, 0x96, 0x27, - 0x3c, 0xc4, 0x34, 0x94, 0x29, 0x37, 0x67, 0xd8, 0xd8, 0x02, 0x17, 0x8a, 0xac, 0x30, 0x93, 0xe9, - 0x80, 0x30, 0x7d, 0x9e, 0x7d, 0x85, 0x8c, 0x31, 0xe1, 0xc7, 0xb4, 0x19, 0x84, 0x5d, 0x3f, 0xa3, - 0x3e, 0x97, 0xba, 0x49, 0x46, 0x98, 0xd8, 0x84, 0xd2, 0x5d, 0xea, 0x49, 0xe7, 0x6d, 0x48, 0xe5, - 0x2a, 0xb2, 0x93, 0x1b, 0x98, 0x5f, 0x10, 0x53, 0xdd, 0x30, 0x93, 0x45, 0x35, 0xd5, 0xc6, 0x2a, - 0x92, 0x9c, 0x3d, 0x72, 0x8d, 0x09, 0x5f, 0xa4, 0x0d, 0x35, 0xea, 0xcc, 0x1d, 0x7c, 0x73, 0x37, - 0x0c, 0x2d, 0x1d, 0x1c, 0x51, 0x69, 0x9f, 0x0a, 0xd2, 0x31, 0x6a, 0x69, 0x43, 0x7a, 0x65, 0xf0, - 0x06, 0x62, 0xab, 0x08, 0x75, 0x76, 0xc8, 0x15, 0x26, 0xe0, 0x20, 0x6c, 0xa0, 0xe4, 0x20, 0x3e, - 0x0c, 0xba, 0xc2, 0x4f, 0x13, 0x68, 0x64, 0x48, 0x1b, 0x79, 0x22, 0xe8, 0x00, 0xb1, 0x55, 0x00, - 0xee, 0x80, 0x81, 0xe0, 0xb4, 0x95, 0x76, 0xa8, 0x9f, 0x71, 0xd6, 0x09, 0xf0, 0xb6, 0x56, 0x83, - 0xa7, 0x2d, 0x6d, 0x87, 0x4d, 0x08, 0x77, 0x1e, 0x51, 0xbb, 0x08, 0xaa, 0x8a, 0x47, 0x3c, 0x6d, - 0xa1, 0x19, 0x16, 0xce, 0x8f, 0x92, 0xdb, 0xfd, 0x32, 0x68, 0x22, 0x19, 0x57, 0xff, 0xc1, 0x35, - 0x97, 0x92, 0x44, 0x8c, 0xf2, 0x5e, 0xed, 0x91, 0xb8, 0x0e, 0x0c, 0x55, 0xc0, 0xdb, 0xd2, 0x3f, - 0x21, 0x57, 0x8f, 0xd1, 0xb0, 0xbc, 0x62, 0x60, 0x44, 0x78, 0xc8, 0xbb, 0x34, 0x40, 0xd3, 0x0d, - 0x7b, 0xdd, 0x10, 0xce, 0x01, 0x59, 0x7e, 0x21, 0x85, 0x7b, 0x2b, 0x20, 0x50, 0xc1, 0x9d, 0xe7, - 0x28, 0xde, 0x53, 0xd9, 0x87, 0x64, 0x21, 0xdf, 0xf0, 0xc0, 0x99, 0x23, 0x76, 0x55, 0xe4, 0xeb, - 0x13, 0xcf, 0x61, 0xbc, 0x5c, 0x64, 0x30, 0x4f, 0x73, 0xc8, 0xda, 0x06, 0x1e, 0x7f, 0xee, 0x92, - 0x2b, 0xb9, 0x00, 0x4e, 0x31, 0x57, 0x7c, 0xa0, 0xa4, 0x11, 0xfc, 0x7e, 0x03, 0xf6, 0x34, 0xb6, - 0x5f, 0xe2, 0x1b, 0xe4, 0x6c, 0xca, 0xb9, 0xde, 0xc1, 0xc0, 0x1c, 0x1b, 0xc5, 0x61, 0x9f, 0x72, - 0x0e, 0x1b, 0x16, 0x98, 0x69, 0x57, 0xc9, 0x58, 0x81, 0x62, 0x49, 0x44, 0x8f, 0xb4, 0x33, 0x33, - 0x6a, 0x60, 0x1b, 0xaa, 0x50, 0x0d, 0x21, 0x26, 0x7c, 0x05, 0xe5, 0x69, 0x2a, 0x07, 0x25, 0xed, - 0x8e, 0x99, 0x44, 0xcf, 0x1d, 0xce, 0xbd, 0x34, 0x95, 0xfd, 0x69, 0xbb, 0x97, 0xc9, 0x68, 0x91, - 0x51, 0x12, 0x34, 0x18, 0xf8, 0x32, 0x43, 0xde, 0x48, 0x5e, 0x58, 0x6d, 0x30, 0xb5, 0x3a, 0x97, - 0x40, 0x3e, 0xa7, 0x29, 0x6f, 0x82, 0xf3, 0x32, 0xe4, 0x4d, 0xd8, 0x50, 0x4f, 0x11, 0x9c, 0xfb, - 0x64, 0xba, 0x8c, 0x37, 0x87, 0xcc, 0x0e, 0x4e, 0x5b, 0x9b, 0xc3, 0x9c, 0x35, 0xdf, 0x21, 0x0e, - 0x4d, 0xc2, 0x20, 0x13, 0xed, 0x18, 0x5b, 0x17, 0xae, 0x04, 0x4e, 0xea, 0x4b, 0x8e, 0x36, 0x05, - 0x8e, 0xbd, 0x6e, 0x92, 0xa2, 0x5e, 0x9f, 0x4b, 0x44, 0x4f, 0xe9, 0x85, 0xdb, 0x10, 0x3c, 0x09, - 0xd8, 0xc7, 0xe4, 0x52, 0x8f, 0x3a, 0xb4, 0xa1, 0x36, 0xaa, 0x3e, 0x6b, 0x65, 0xb9, 0x6a, 0xd3, - 0x78, 0xe3, 0xa2, 0xa4, 0x1a, 0x6d, 0x3c, 0xe5, 0x8d, 0x8d, 0x56, 0x66, 0x74, 0x7c, 0x42, 0x6e, - 0x14, 0x82, 0x68, 0x27, 0xf3, 0x93, 0xce, 0xf2, 0xb1, 0x02, 0x67, 0x40, 0xe0, 0x52, 0xce, 0xb0, - 0xde, 0xc9, 0xb6, 0x3b, 0xcb, 0x2f, 0x28, 0x76, 0xe5, 0x58, 0xb1, 0xb3, 0x83, 0xc4, 0xae, 0x0c, - 0x12, 0xbb, 0x42, 0xdc, 0xf2, 0x67, 0xd3, 0xd4, 0xe7, 0xe0, 0x8a, 0x74, 0xc1, 0x67, 0x1a, 0xf2, - 0xa6, 0xec, 0xaf, 0x5d, 0x4f, 0x3d, 0xe5, 0x82, 0x74, 0x9d, 0x77, 0xc8, 0x9c, 0x36, 0x67, 0xca, - 0xdc, 0x25, 0xf4, 0x48, 0xed, 0x05, 0x33, 0x5c, 0xe8, 0xc0, 0x8f, 0x1a, 0xf2, 0xa6, 0x11, 0xf0, - 0x44, 0xd0, 0x6d, 0x7a, 0x24, 0x3f, 0x4a, 0x33, 0x58, 0xec, 0xf0, 0x6e, 0x78, 0x22, 0x21, 0x7d, - 0xb6, 0x9d, 0x30, 0xd9, 0x55, 0x7e, 0x8b, 0x31, 0xdf, 0xe0, 0x56, 0x0d, 0x79, 0xb3, 0x0a, 0xb1, - 0x6a, 0x00, 0x7b, 0xa9, 0x31, 0xe0, 0xce, 0x23, 0xb2, 0x08, 0xcc, 0xb8, 0x68, 0x0d, 0x16, 0x71, - 0x0e, 0x3b, 0x49, 0xe1, 0x1e, 0x2b, 0xd8, 0x20, 0x39, 0x9b, 0xe4, 0x32, 0xc8, 0xa1, 0x47, 0x92, - 0x26, 0x11, 0x8d, 0x8e, 0x11, 0xb5, 0x80, 0x59, 0x69, 0x0a, 0xba, 0xae, 0x91, 0x83, 0xa4, 0x3d, - 0x20, 0xf3, 0xf9, 0xfa, 0x63, 0x62, 0x1c, 0x26, 0x83, 0x8a, 0x82, 0xfb, 0x35, 0xe4, 0xb9, 0x06, - 0xb1, 0x86, 0x00, 0x93, 0x42, 0x45, 0x75, 0x12, 0x5f, 0xca, 0x1b, 0x78, 0x67, 0xf7, 0x82, 0x49, - 0xe2, 0xdb, 0xe1, 0x0d, 0xf3, 0xd8, 0x83, 0x5a, 0x55, 0xd0, 0xf1, 0x8e, 0x68, 0x83, 0x72, 0x35, - 0x6b, 0x2f, 0xea, 0x23, 0x53, 0x81, 0x96, 0x6c, 0x4d, 0x97, 0x3b, 0x6f, 0x91, 0xe9, 0x42, 0x5a, - 0xe4, 0x8b, 0x70, 0x9f, 0x46, 0xed, 0x98, 0x46, 0xe0, 0x8d, 0x41, 0x62, 0x33, 0xca, 0x8d, 0x6a, - 0x86, 0x62, 0xbd, 0x0f, 0xa1, 0x6d, 0x0e, 0x5e, 0x07, 0xbe, 0x64, 0xbf, 0x0f, 0x81, 0x86, 0x07, - 0x2f, 0x04, 0xdf, 0x26, 0x4e, 0x83, 0xc5, 0x92, 0x96, 0xad, 0x0f, 0x7a, 0x6d, 0xe3, 0x48, 0xb1, - 0x0c, 0xd0, 0x5d, 0x32, 0x59, 0xa8, 0x9f, 0xef, 0xa4, 0xc1, 0x85, 0x1b, 0xf2, 0x26, 0x8c, 0xfe, - 0xf9, 0xfe, 0x59, 0x4d, 0xda, 0x02, 0x1f, 0xd3, 0xa0, 0xc3, 0x92, 0x26, 0x38, 0x72, 0x43, 0xde, - 0x98, 0x41, 0x6f, 0x62, 0xb1, 0x5a, 0xfb, 0x3b, 0x59, 0x1e, 0x05, 0x69, 0xd2, 0x24, 0xbf, 0x1c, - 0x75, 0x05, 0x8d, 0x48, 0x27, 0xd3, 0x01, 0x90, 0xc7, 0x34, 0x31, 0x57, 0xa2, 0x1e, 0x92, 0x0b, - 0x3d, 0x4c, 0xda, 0x51, 0xce, 0x99, 0xaf, 0xa2, 0x45, 0xb4, 0x99, 0xb5, 0xa3, 0x6c, 0x64, 0xe0, - 0x3b, 0x08, 0x41, 0x14, 0xc1, 0x72, 0x04, 0x2d, 0xad, 0x7c, 0x4f, 0x30, 0x3d, 0x41, 0xec, 0x5e, - 0x33, 0xef, 0x20, 0x54, 0x11, 0xa1, 0xda, 0x7b, 0xa7, 0xa0, 0x3b, 0xab, 0x60, 0x94, 0x0d, 0xbb, - 0xbe, 0xe3, 0x5d, 0x92, 0x70, 0xdd, 0xa4, 0x65, 0x6a, 0x09, 0xfa, 0xa6, 0xb7, 0x2d, 0xc4, 0x7e, - 0x93, 0xc5, 0xe4, 0x2c, 0xdf, 0x28, 0x67, 0xe7, 0x9a, 0x4c, 0xe5, 0x19, 0x72, 0xea, 0x50, 0x15, - 0x49, 0xf7, 0x26, 0xe6, 0x07, 0xe3, 0x2f, 0xb5, 0x75, 0xb4, 0xb2, 0xf6, 0x63, 0xd6, 0x62, 0xd2, - 0xbd, 0x85, 0x5b, 0xc7, 0x96, 0x49, 0xd4, 0xdf, 0x54, 0xa5, 0xce, 0x03, 0x72, 0x4e, 0x4d, 0x74, - 0x0b, 0x7d, 0x18, 0xf0, 0x84, 0x25, 0x4d, 0x3f, 0x4d, 0xe2, 0xae, 0x7b, 0x1b, 0xa7, 0x6d, 0x5b, - 0xd0, 0x3c, 0xc1, 0xff, 0x53, 0xa4, 0xef, 0x24, 0x71, 0x57, 0x35, 0xb9, 0xc5, 0x69, 0x6e, 0x1f, - 0xd1, 0x23, 0xc9, 0x03, 0xb8, 0x7f, 0x24, 0xdc, 0x3b, 0xd8, 0xe4, 0x79, 0xad, 0x6b, 0x88, 0x59, - 0x57, 0x90, 0x5d, 0x85, 0x50, 0x1b, 0x1d, 0x4b, 0x06, 0x3d, 0x0a, 0x29, 0x8d, 0x72, 0x51, 0x28, - 0xe4, 0x2e, 0x36, 0x5a, 0x2e, 0x64, 0x1d, 0x40, 0x5a, 0x14, 0x4a, 0xf9, 0x90, 0x2c, 0x58, 0x52, - 0xd4, 0x46, 0x49, 0x40, 0x4e, 0x66, 0x46, 0x79, 0xa8, 0x66, 0xdf, 0x3d, 0x9d, 0x20, 0x69, 0x44, - 0xec, 0x19, 0xc4, 0x2e, 0x02, 0xd4, 0x0e, 0xdf, 0x12, 0x50, 0xba, 0x54, 0xfc, 0xa6, 0x4e, 0xcc, - 0x34, 0xbc, 0xf6, 0xd5, 0x62, 0xb5, 0x2f, 0x84, 0x42, 0x2a, 0xfc, 0x20, 0x0c, 0x69, 0x26, 0x69, - 0xe4, 0xbe, 0xa5, 0xf7, 0x85, 0x9a, 0x50, 0xd5, 0xe5, 0x90, 0xfd, 0x61, 0xc0, 0x6a, 0x5f, 0x42, - 0xcd, 0xbb, 0x39, 0x67, 0x4d, 0x71, 0x0d, 0x4a, 0xd5, 0xd7, 0xe4, 0x40, 0x13, 0x82, 0x4b, 0xe0, - 0xd1, 0x9a, 0x86, 0x72, 0x72, 0xe0, 0x35, 0x9d, 0x51, 0x6f, 0xce, 0x60, 0x4c, 0x04, 0x2e, 0xd9, - 0x4e, 0xe5, 0x23, 0x05, 0x28, 0xd5, 0x14, 0xd1, 0x84, 0xd1, 0x48, 0x3f, 0xb1, 0x93, 0xd7, 0xb4, - 0x06, 0xa5, 0xce, 0xbb, 0x64, 0xae, 0x07, 0x08, 0x69, 0xde, 0x69, 0xcc, 0xc2, 0xae, 0x7e, 0x79, - 0x67, 0xa6, 0xcc, 0xb2, 0x9d, 0xee, 0x02, 0x75, 0x10, 0x2b, 0x97, 0xaa, 0xc1, 0xd5, 0x68, 0x5b, - 0x19, 0xc4, 0xea, 0xc9, 0x5d, 0xa0, 0xaa, 0xb5, 0xa2, 0x97, 0x55, 0x59, 0x36, 0x5d, 0xed, 0xd7, - 0xf3, 0x17, 0x5c, 0x2c, 0xde, 0x1d, 0xde, 0xd0, 0xf5, 0x2e, 0x93, 0x99, 0x5e, 0x66, 0xcd, 0x88, - 0x6f, 0xef, 0x4c, 0x95, 0x19, 0x35, 0xd7, 0x5d, 0x32, 0x89, 0xf6, 0xcf, 0x4f, 0x1b, 0x7e, 0x9d, - 0x0a, 0x89, 0x43, 0x0b, 0x5f, 0xe1, 0x99, 0x40, 0xd2, 0x4e, 0xe3, 0xa1, 0x21, 0xa8, 0x2e, 0x28, - 0xe3, 0xf3, 0x57, 0x84, 0x90, 0xf1, 0x3d, 0xfd, 0x8a, 0x80, 0xc5, 0xb8, 0x6e, 0x03, 0x9c, 0x7b, - 0x64, 0xb2, 0x18, 0x19, 0x66, 0xa9, 0x8d, 0xf4, 0xeb, 0x3c, 0x4e, 0x3e, 0x36, 0x72, 0x4a, 0xe9, - 0xbb, 0xea, 0xd4, 0xe6, 0x79, 0x50, 0xfe, 0xae, 0x87, 0xd4, 0xe2, 0xb2, 0xab, 0xb1, 0x12, 0xec, - 0xdf, 0x2f, 0x57, 0x63, 0x65, 0xd4, 0x43, 0x08, 0xbc, 0x77, 0x6c, 0xe9, 0xe7, 0x79, 0x26, 0xfa, - 0x46, 0x94, 0xda, 0x81, 0x33, 0x7d, 0x59, 0x55, 0x75, 0x91, 0xd9, 0x83, 0x7d, 0x68, 0x96, 0xa9, - 0x5d, 0x4a, 0xf9, 0x0e, 0xcf, 0x37, 0x60, 0xb8, 0x6b, 0x2b, 0x74, 0xcf, 0x57, 0x2c, 0x78, 0x97, - 0x07, 0x76, 0x6d, 0x85, 0xf2, 0x7a, 0xc5, 0x72, 0x3e, 0x20, 0x0b, 0xac, 0x48, 0x89, 0x29, 0x16, - 0x39, 0x53, 0x59, 0xd5, 0x98, 0x5d, 0x93, 0x17, 0xa3, 0x19, 0x4d, 0xa5, 0xef, 0xc2, 0x0b, 0x1e, - 0x3d, 0x95, 0x6a, 0x71, 0xfa, 0x7d, 0x9e, 0x99, 0x9e, 0x7a, 0xb5, 0x24, 0xfd, 0xd6, 0x49, 0xa9, - 0x6a, 0x63, 0xb6, 0x4d, 0xed, 0xab, 0xc6, 0x64, 0x5b, 0xb5, 0xeb, 0x7f, 0x8d, 0x02, 0xc6, 0xee, - 0xe7, 0x0a, 0xf4, 0x66, 0x36, 0xe8, 0x17, 0x74, 0xce, 0xd9, 0x5a, 0x3c, 0x2e, 0x27, 0x36, 0x68, - 0x8f, 0xbe, 0x2f, 0x27, 0x02, 0x5f, 0xc1, 0x68, 0xc4, 0x41, 0x13, 0x5e, 0xd3, 0x01, 0x8f, 0xbe, - 0x87, 0x15, 0xae, 0xd7, 0x3f, 0x8a, 0x83, 0xa6, 0x79, 0xdf, 0xc0, 0x7c, 0x4e, 0x9f, 0x30, 0xf3, - 0x4d, 0x8f, 0xf2, 0xf7, 0x0d, 0x34, 0xb4, 0x47, 0xa2, 0xf9, 0xb0, 0x4f, 0xc8, 0x55, 0x5c, 0xd0, - 0xfc, 0x62, 0x41, 0xb4, 0xd2, 0xfc, 0xad, 0x31, 0xfa, 0xd8, 0xbc, 0xe8, 0x50, 0x8d, 0xc0, 0x24, - 0xe7, 0xfd, 0x03, 0x48, 0x6b, 0xc0, 0x6e, 0x81, 0x8a, 0xc7, 0x8a, 0xcc, 0x13, 0xa3, 0x3e, 0x42, - 0x1f, 0xed, 0x18, 0x81, 0x79, 0x86, 0xd4, 0xa7, 0xe4, 0x86, 0x2d, 0xae, 0xd4, 0x79, 0x7d, 0x4a, - 0xe2, 0xcb, 0x39, 0x6f, 0xe4, 0x32, 0xed, 0x6e, 0xec, 0xd5, 0xb3, 0x06, 0xa1, 0x84, 0x2f, 0x13, - 0x9c, 0xab, 0x8a, 0x4f, 0xea, 0x2c, 0x1d, 0x2f, 0x36, 0xd7, 0xf6, 0x12, 0x24, 0x14, 0x16, 0x4b, - 0xcb, 0xc7, 0x18, 0x41, 0xe7, 0xe5, 0x64, 0x15, 0x0c, 0x2b, 0x95, 0x80, 0x9b, 0xe6, 0x14, 0x24, - 0x0c, 0xe2, 0x9e, 0xd4, 0x96, 0x9e, 0xbc, 0x96, 0xb4, 0x2d, 0xe1, 0x8d, 0x9c, 0x51, 0x6f, 0x5c, - 0xd8, 0x79, 0x2d, 0x69, 0x1b, 0x16, 0x39, 0xce, 0xea, 0x7e, 0xd6, 0xe6, 0x4d, 0x6a, 0xc0, 0x3a, - 0xc5, 0x6a, 0x1b, 0x6d, 0x0c, 0x67, 0xf5, 0x5d, 0x45, 0xd5, 0x1c, 0x98, 0x6d, 0xb5, 0x45, 0x2e, - 0xe7, 0x1e, 0x89, 0x32, 0x23, 0x94, 0xab, 0xc1, 0x65, 0xbd, 0x6f, 0x82, 0x09, 0x1f, 0xf8, 0x56, - 0xce, 0xa2, 0x81, 0xee, 0x1a, 0x64, 0xf1, 0xb0, 0x09, 0xe6, 0x81, 0x34, 0xc8, 0x5b, 0x71, 0x9a, - 0x34, 0xe1, 0x5d, 0x95, 0x68, 0xe0, 0x80, 0x8f, 0xf5, 0x3d, 0x6b, 0x6b, 0x37, 0x8b, 0x6f, 0xea, - 0xdc, 0x52, 0x8c, 0x9b, 0x03, 0x06, 0x2c, 0xa4, 0xf0, 0x28, 0xa5, 0xad, 0xed, 0xed, 0xb7, 0xc8, - 0xad, 0x17, 0xac, 0x07, 0x1c, 0xf4, 0x4f, 0xa0, 0x05, 0xae, 0x3c, 0xb7, 0x06, 0x70, 0xde, 0x7f, - 0x8c, 0xdc, 0x79, 0x41, 0xd9, 0xe8, 0x15, 0xc0, 0xc3, 0x3d, 0xa3, 0xde, 0xb5, 0xe7, 0x4a, 0x47, - 0x67, 0xc1, 0x09, 0xc9, 0xbd, 0x2f, 0x93, 0x3f, 0x68, 0x14, 0xe2, 0x33, 0x3f, 0x37, 0x8f, 0xab, - 0x61, 0xc0, 0x68, 0xac, 0x7f, 0x79, 0x25, 0xd6, 0x47, 0xe4, 0x95, 0xec, 0xc1, 0x67, 0xdc, 0x78, - 0xee, 0x67, 0xe4, 0x75, 0x04, 0xe4, 0xee, 0x80, 0xb1, 0x63, 0x55, 0xdb, 0x37, 0x8c, 0x9e, 0xc0, - 0x77, 0xdc, 0xe8, 0x1b, 0x46, 0x9b, 0xa6, 0xce, 0xde, 0xf1, 0xf4, 0x1d, 0x72, 0xdb, 0x7a, 0xcf, - 0xe6, 0x39, 0x8d, 0x16, 0x53, 0x78, 0x76, 0x68, 0xc8, 0xbb, 0x56, 0x3c, 0x75, 0xf3, 0x25, 0x0d, - 0x16, 0x53, 0xe7, 0x33, 0xf2, 0xf6, 0x0b, 0x89, 0xd7, 0x0d, 0xd5, 0x0a, 0x98, 0xf2, 0x8f, 0xe1, - 0xd1, 0xa2, 0x51, 0xef, 0xce, 0xf3, 0x6a, 0xc1, 0xc6, 0xd2, 0x4c, 0xce, 0x3b, 0xc4, 0x2d, 0x3d, - 0x26, 0x63, 0x67, 0x8a, 0xfe, 0x30, 0xba, 0x54, 0xdc, 0x7a, 0x3d, 0xc6, 0xca, 0x14, 0x7d, 0x93, - 0x4c, 0xf5, 0x72, 0xc2, 0xa8, 0xc6, 0xd7, 0x8e, 0x9c, 0x32, 0x17, 0x0c, 0xe1, 0x65, 0x32, 0x63, - 0x9e, 0xac, 0x91, 0x01, 0x6f, 0x52, 0x99, 0xef, 0x36, 0xbe, 0xa5, 0x6d, 0x01, 0x52, 0xf7, 0x80, - 0x68, 0xb6, 0x1c, 0xd7, 0xc8, 0x98, 0xe1, 0x32, 0xf0, 0x6f, 0x9b, 0x13, 0x50, 0x28, 0x36, 0xc0, - 0xfb, 0x64, 0xda, 0x00, 0x83, 0xf0, 0x80, 0x46, 0x39, 0x1c, 0x9f, 0x32, 0x9a, 0xd4, 0xc4, 0xaa, - 0xa2, 0x19, 0x1e, 0xdc, 0xe4, 0x6a, 0x1f, 0x1c, 0x3c, 0x42, 0xd5, 0xf9, 0x89, 0x84, 0x27, 0x8e, - 0x60, 0x93, 0x8b, 0x1e, 0xb8, 0x72, 0x06, 0x91, 0xa2, 0xbe, 0x5b, 0x01, 0x69, 0x02, 0xe7, 0x09, - 0x45, 0x6b, 0xe1, 0xab, 0x47, 0x4e, 0xca, 0x1b, 0xeb, 0x48, 0xca, 0x5b, 0x0a, 0xbd, 0x85, 0xbe, - 0xfd, 0x3c, 0x36, 0x97, 0x6f, 0xbc, 0x85, 0xde, 0xed, 0x7c, 0x4d, 0x6f, 0x12, 0xb0, 0x91, 0xd1, - 0xe1, 0xb4, 0x34, 0xd5, 0x2f, 0x22, 0x61, 0x1f, 0xa0, 0xcb, 0x99, 0xab, 0xea, 0x5c, 0x25, 0x63, - 0x25, 0x36, 0x96, 0xe8, 0x07, 0x90, 0x46, 0x2d, 0xf8, 0x46, 0x02, 0xc7, 0xcb, 0x36, 0x4e, 0x99, - 0xf2, 0xba, 0xce, 0x8a, 0x28, 0x80, 0x3b, 0x6d, 0x38, 0xa8, 0x2f, 0x21, 0xfb, 0xa3, 0x13, 0xf8, - 0x82, 0xd1, 0x39, 0x8b, 0xaf, 0x2f, 0x40, 0x81, 0x2b, 0x5c, 0x3e, 0xb6, 0x21, 0x71, 0x57, 0x79, - 0x84, 0x6a, 0x51, 0x30, 0x41, 0x58, 0xed, 0x59, 0x47, 0x66, 0x85, 0x33, 0xb1, 0x91, 0xf5, 0x7a, - 0x33, 0xfb, 0x14, 0xb1, 0x3a, 0xf2, 0xaa, 0xfd, 0x6c, 0x7c, 0x11, 0x69, 0xb0, 0xd0, 0xb4, 0x2d, - 0x4b, 0x52, 0xa9, 0x09, 0xc1, 0x0f, 0x90, 0xba, 0xa3, 0xb1, 0x5a, 0xec, 0x2d, 0x08, 0x96, 0x04, - 0xc2, 0x4f, 0x3b, 0x94, 0x73, 0x16, 0x51, 0x38, 0x22, 0x69, 0x98, 0xf0, 0x41, 0x55, 0xec, 0xe8, - 0xf2, 0x1a, 0x95, 0xce, 0x4d, 0x04, 0x43, 0x2e, 0x0a, 0xbc, 0x14, 0x0a, 0xe0, 0xa6, 0xc9, 0x34, - 0x84, 0xb0, 0x7e, 0x55, 0x6c, 0x24, 0x0a, 0x7b, 0x83, 0x4c, 0xd8, 0x40, 0x3c, 0x5f, 0xda, 0xc7, - 0x11, 0x1d, 0x18, 0x20, 0x9e, 0x2e, 0x3d, 0x24, 0x17, 0x4c, 0x98, 0xb5, 0x11, 0xb4, 0x58, 0xdc, - 0xb5, 0xcd, 0x81, 0xf5, 0x72, 0xd1, 0xbc, 0x46, 0x3d, 0x02, 0x50, 0x3e, 0xf1, 0x61, 0xbd, 0x7e, - 0x97, 0xcc, 0xeb, 0x48, 0x9c, 0x76, 0xd1, 0x58, 0x82, 0x07, 0x84, 0xb0, 0xdd, 0xfe, 0x0c, 0x03, - 0x6c, 0x34, 0xf5, 0xcc, 0x68, 0xdd, 0x48, 0x3c, 0x1a, 0x44, 0xb0, 0xd9, 0xbe, 0x4c, 0x46, 0xcb, - 0x13, 0x09, 0xdf, 0x35, 0x1a, 0x09, 0xec, 0x19, 0xf4, 0x26, 0x99, 0xc2, 0x9d, 0x65, 0xcf, 0xa4, - 0xc3, 0x17, 0x8d, 0x1c, 0xa4, 0x95, 0xe6, 0xdc, 0x3d, 0x32, 0x99, 0xb6, 0x25, 0x64, 0xee, 0x2a, - 0x1b, 0x6c, 0x18, 0x5a, 0x7a, 0xfe, 0x14, 0x24, 0xc3, 0xb0, 0x42, 0x66, 0x07, 0x30, 0xf8, 0xad, - 0xe0, 0x48, 0x3f, 0x61, 0x34, 0xdd, 0xcf, 0xb4, 0x15, 0x1c, 0x39, 0x7f, 0x51, 0x21, 0x4b, 0xf6, - 0x71, 0xce, 0x31, 0xf9, 0xdb, 0xe9, 0xcb, 0xbc, 0x39, 0x6b, 0x5f, 0x31, 0xf2, 0x2e, 0xe6, 0x4f, - 0xde, 0x36, 0x76, 0x07, 0xe6, 0x72, 0x63, 0x44, 0x2f, 0x60, 0x90, 0xe0, 0x2e, 0xe1, 0xdd, 0x24, - 0x88, 0xe8, 0x55, 0x59, 0x33, 0xab, 0x41, 0x5e, 0xf0, 0xa8, 0xf2, 0xbe, 0x65, 0x6e, 0xb6, 0x3e, - 0xd7, 0x69, 0x15, 0xc2, 0x93, 0xc6, 0x5e, 0xdd, 0x21, 0x4e, 0x7f, 0x70, 0xd2, 0xe5, 0x8b, 0xaf, - 0x42, 0xa8, 0xbb, 0x37, 0x18, 0xa9, 0x2d, 0x62, 0x21, 0xd2, 0xd7, 0x29, 0xd6, 0xf0, 0x26, 0x12, - 0x58, 0xc4, 0x5c, 0x74, 0x0d, 0x29, 0xce, 0x03, 0x32, 0x3f, 0x20, 0xfc, 0x69, 0xf8, 0x24, 0xd4, - 0xe4, 0xf6, 0xd5, 0x64, 0xb8, 0x6f, 0x13, 0x07, 0x3d, 0x16, 0x3f, 0x3d, 0x2c, 0xc2, 0x6e, 0x6d, - 0xdc, 0xee, 0x21, 0x65, 0xe7, 0x30, 0xb1, 0x92, 0xb8, 0x05, 0x8d, 0x29, 0x1e, 0xa2, 0xe3, 0xe3, - 0x7e, 0xca, 0x0f, 0xa5, 0x31, 0x6b, 0x32, 0xb5, 0xd4, 0x76, 0x70, 0xc7, 0x92, 0x63, 0xb6, 0x0c, - 0x64, 0x5d, 0x23, 0x9c, 0x2b, 0xe4, 0x6c, 0xd0, 0x28, 0x25, 0xa3, 0x1d, 0xa2, 0x69, 0xc4, 0x52, - 0x13, 0xcf, 0xbe, 0x4b, 0x26, 0x35, 0xac, 0x94, 0x8f, 0x76, 0xa4, 0x4f, 0x21, 0x1a, 0xbd, 0x09, - 0x69, 0x6f, 0x92, 0x29, 0x8d, 0x2f, 0xa7, 0xa4, 0x75, 0xb1, 0xd9, 0x90, 0x56, 0xca, 0x49, 0x53, - 0x1f, 0xde, 0xe8, 0xcb, 0x4a, 0x7b, 0xa6, 0x3f, 0xbc, 0xd1, 0x93, 0x96, 0xd6, 0xb3, 0xe3, 0x83, - 0xb0, 0x47, 0x90, 0xa8, 0x0e, 0xd2, 0x27, 0xeb, 0xf0, 0x72, 0x52, 0x79, 0xc7, 0xb7, 0x6b, 0x30, - 0xdb, 0x08, 0xd1, 0x46, 0x0d, 0x76, 0x40, 0xfa, 0x8a, 0xbb, 0x94, 0x1c, 0x9e, 0x4d, 0x02, 0xa3, - 0xa6, 0x76, 0x3c, 0x78, 0xd7, 0x5c, 0x4a, 0x0e, 0xd9, 0xd3, 0xad, 0x2c, 0x05, 0xbf, 0x8c, 0xc9, - 0x70, 0x5f, 0xf9, 0x18, 0x3f, 0xa1, 0xa1, 0x50, 0x5e, 0x33, 0xc5, 0x6a, 0x8c, 0x69, 0x28, 0xa7, - 0xc5, 0x8a, 0xf0, 0x93, 0x3a, 0x32, 0x0b, 0x14, 0xaf, 0x20, 0xa8, 0x4e, 0xec, 0x87, 0x5b, 0xb5, - 0xfc, 0x94, 0xde, 0x76, 0xf6, 0x32, 0x96, 0x2a, 0x2c, 0x9a, 0x02, 0xae, 0xa1, 0x06, 0xcd, 0xfc, - 0xbd, 0xa3, 0xf1, 0x9c, 0xf4, 0x74, 0xd9, 0x9c, 0xea, 0xdb, 0xf0, 0x15, 0x0d, 0xff, 0xe9, 0x3e, - 0xf8, 0x0a, 0xc2, 0x3f, 0x21, 0x57, 0x0a, 0x38, 0xee, 0x8d, 0x20, 0xab, 0x82, 0x46, 0xfa, 0x20, - 0xba, 0x9d, 0x30, 0xd5, 0x4c, 0xf8, 0xa4, 0xd1, 0x90, 0x57, 0x1c, 0xf8, 0xc0, 0xc9, 0xc4, 0x26, - 0x62, 0xe1, 0x2c, 0xfa, 0x09, 0x22, 0x97, 0x7e, 0xa9, 0x42, 0xce, 0x98, 0x37, 0x12, 0x9c, 0x9f, - 0xa9, 0xd8, 0x69, 0x54, 0xc3, 0xf7, 0x5b, 0x2f, 0x2f, 0xa5, 0x50, 0x99, 0x1d, 0x9d, 0xb5, 0xf5, - 0x7f, 0xcd, 0x55, 0x84, 0xfc, 0x41, 0x11, 0xe7, 0xc3, 0xd2, 0x03, 0x5b, 0xc5, 0xcb, 0x2e, 0xfa, - 0x69, 0x11, 0x7d, 0x8b, 0x6e, 0xae, 0x74, 0x61, 0xcd, 0x7e, 0x7b, 0x44, 0x99, 0xea, 0xd2, 0xfb, - 0x28, 0xd6, 0x33, 0x32, 0x78, 0xad, 0x6e, 0xda, 0x26, 0x17, 0xef, 0xc8, 0x3c, 0x20, 0xf3, 0x03, - 0xf8, 0xcc, 0x43, 0x32, 0x78, 0xc5, 0xce, 0xed, 0x63, 0x35, 0x2f, 0xc9, 0x94, 0xde, 0xae, 0x31, - 0x22, 0xe0, 0x01, 0x8c, 0xd7, 0xc0, 0xf8, 0x4c, 0xc5, 0x3d, 0x7a, 0xae, 0x05, 0x32, 0x58, 0xfa, - 0x41, 0x85, 0xcc, 0xf4, 0xe5, 0x82, 0xab, 0xae, 0x95, 0xce, 0x14, 0x79, 0xdd, 0xbe, 0xe1, 0x89, - 0x3f, 0x9c, 0xef, 0x56, 0xc8, 0x59, 0xbc, 0xc6, 0x97, 0xa7, 0xe4, 0xbe, 0x72, 0x22, 0x19, 0xb9, - 0x23, 0x4a, 0x0b, 0x93, 0x86, 0xbb, 0xf4, 0x07, 0xaf, 0x90, 0xa9, 0xfe, 0xef, 0x48, 0x33, 0xe7, - 0xe7, 0x2a, 0xe4, 0x15, 0x79, 0xa4, 0xc7, 0xd8, 0xd1, 0x09, 0x24, 0xd6, 0x43, 0x63, 0x7a, 0xaf, - 0xc8, 0x23, 0x50, 0x85, 0x1f, 0xe9, 0xe6, 0x3a, 0x41, 0x55, 0xf8, 0xd1, 0xd2, 0x2f, 0x9f, 0x2e, - 0x9e, 0xcc, 0xcf, 0xc9, 0xce, 0xcf, 0x57, 0xc8, 0x6b, 0x69, 0x46, 0x13, 0xdd, 0x5a, 0x9d, 0x93, - 0x50, 0x31, 0xcd, 0x3c, 0xd0, 0xc1, 0xf9, 0xd5, 0x0a, 0x19, 0x29, 0xcd, 0xbb, 0x57, 0x4e, 0x54, - 0xa9, 0x92, 0x2e, 0xce, 0x2f, 0x56, 0xc8, 0x29, 0xfd, 0xb2, 0xe2, 0xab, 0x27, 0xaa, 0x96, 0xd6, - 0x42, 0x4d, 0xcb, 0xa1, 0xe2, 0x25, 0xcd, 0xd7, 0x4e, 0x54, 0xa7, 0x42, 0x11, 0xe7, 0x8b, 0x0a, - 0x19, 0x2d, 0x6d, 0x90, 0x75, 0xb2, 0xe9, 0x89, 0xf5, 0xa2, 0xbd, 0x23, 0x77, 0x7e, 0xa1, 0x42, - 0x5e, 0x97, 0xa9, 0x0c, 0x62, 0x9d, 0x5b, 0x7a, 0x52, 0x5a, 0xa1, 0x12, 0xf5, 0x53, 0xf0, 0xa6, - 0xeb, 0xdb, 0xff, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x9d, 0x66, 0x5f, 0x7c, 0xcd, 0x62, 0x00, 0x00, +func (x *BgpNbrBag) GetDynamicNeighbor() bool { + if x != nil { + return x.DynamicNeighbor + } + return false +} + +func (x *BgpNbrBag) GetMergeInboundSafi1And4Updates() bool { + if x != nil { + return x.MergeInboundSafi1And4Updates + } + return false +} + +func (x *BgpNbrBag) GetIsCapabilityEnheSuppressed() bool { + if x != nil { + return x.IsCapabilityEnheSuppressed + } + return false +} + +func (x *BgpNbrBag) GetDeleteTimeRemaining() uint32 { + if x != nil { + return x.DeleteTimeRemaining + } + return 0 +} + +var File_proto_telemetry_bgp_bgp_nbr_bag_proto protoreflect.FileDescriptor + +var file_proto_telemetry_bgp_bgp_nbr_bag_proto_rawDesc = []byte{ + 0x0a, 0x25, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, + 0x79, 0x2f, 0x62, 0x67, 0x70, 0x2f, 0x62, 0x67, 0x70, 0x5f, 0x6e, 0x62, 0x72, 0x5f, 0x62, 0x61, + 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x60, 0x63, 0x69, 0x73, 0x63, 0x6f, 0x5f, 0x69, + 0x6f, 0x73, 0x5f, 0x78, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x62, 0x67, 0x70, 0x5f, 0x6f, + 0x70, 0x65, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x5f, 0x76, 0x72, 0x66, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, + 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x22, 0x62, 0x0a, 0x10, 0x62, 0x67, 0x70, + 0x5f, 0x6e, 0x62, 0x72, 0x5f, 0x62, 0x61, 0x67, 0x5f, 0x4b, 0x45, 0x59, 0x53, 0x12, 0x23, 0x0a, + 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6e, 0x65, + 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x37, 0x0a, + 0x10, 0x62, 0x67, 0x70, 0x5f, 0x6c, 0x32, 0x76, 0x70, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, + 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x32, 0x76, 0x70, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x6c, 0x32, 0x76, 0x70, 0x6e, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x45, 0x0a, 0x15, 0x62, 0x67, 0x70, 0x5f, 0x6c, 0x32, + 0x76, 0x70, 0x6e, 0x5f, 0x65, 0x76, 0x70, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, 0x74, 0x12, + 0x2c, 0x0a, 0x12, 0x6c, 0x32, 0x76, 0x70, 0x6e, 0x5f, 0x65, 0x76, 0x70, 0x6e, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x6c, 0x32, 0x76, + 0x70, 0x6e, 0x45, 0x76, 0x70, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x3c, 0x0a, + 0x15, 0x62, 0x67, 0x70, 0x5f, 0x6c, 0x32, 0x76, 0x70, 0x6e, 0x5f, 0x6d, 0x73, 0x70, 0x77, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x5f, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x32, 0x76, 0x70, 0x6e, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x6c, + 0x32, 0x76, 0x70, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x4e, 0x0a, 0x18, 0x62, + 0x67, 0x70, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x73, 0x72, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x70, 0x76, 0x34, 0x5f, + 0x73, 0x72, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x13, 0x69, 0x70, 0x76, 0x34, 0x53, 0x72, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x4e, 0x0a, 0x18, 0x62, + 0x67, 0x70, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x73, 0x72, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x70, 0x76, 0x36, 0x5f, + 0x73, 0x72, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x13, 0x69, 0x70, 0x76, 0x36, 0x53, 0x72, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x8f, 0x0e, 0x0a, 0x0c, + 0x62, 0x67, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x61, 0x66, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x66, 0x69, 0x12, 0x21, + 0x0a, 0x0c, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x70, 0x76, 0x34, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x6d, 0x63, 0x61, 0x73, 0x74, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, + 0x70, 0x76, 0x34, 0x4d, 0x63, 0x61, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x2c, 0x0a, 0x12, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x70, 0x76, + 0x34, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2e, 0x0a, + 0x13, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x69, 0x70, 0x76, 0x34, + 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x27, 0x0a, + 0x0f, 0x69, 0x70, 0x76, 0x34, 0x6d, 0x64, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x70, 0x76, 0x34, 0x6d, 0x64, 0x74, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x70, 0x76, 0x34, 0x76, 0x70, + 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x69, 0x70, 0x76, 0x34, 0x76, 0x70, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x31, 0x0a, 0x14, 0x69, 0x70, 0x76, 0x34, 0x76, 0x70, 0x6e, 0x61, 0x5f, 0x6d, 0x63, 0x61, 0x73, + 0x74, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x69, + 0x70, 0x76, 0x34, 0x76, 0x70, 0x6e, 0x61, 0x4d, 0x63, 0x61, 0x73, 0x74, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x70, 0x76, 0x36, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x6d, 0x63, + 0x61, 0x73, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x69, 0x70, 0x76, 0x36, 0x4d, 0x63, 0x61, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x2d, 0x0a, 0x13, 0x69, 0x5f, 0x70, 0x76, 0x36, 0x5f, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x10, 0x69, 0x50, 0x76, 0x36, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x70, 0x76, 0x36, 0x76, 0x70, 0x6e, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x70, 0x76, + 0x36, 0x76, 0x70, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x69, + 0x70, 0x76, 0x36, 0x76, 0x70, 0x6e, 0x5f, 0x6d, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x69, 0x70, 0x76, 0x36, + 0x76, 0x70, 0x6e, 0x4d, 0x63, 0x61, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x9f, 0x01, 0x0a, 0x11, 0x6c, 0x32, 0x76, 0x70, 0x6e, 0x76, 0x70, 0x6c, 0x73, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x72, 0x2e, 0x63, 0x69, + 0x73, 0x63, 0x6f, 0x5f, 0x69, 0x6f, 0x73, 0x5f, 0x78, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, + 0x62, 0x67, 0x70, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x2e, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x72, 0x66, 0x2e, 0x6e, 0x65, 0x69, 0x67, + 0x68, 0x62, 0x6f, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x2e, 0x62, + 0x67, 0x70, 0x5f, 0x6c, 0x32, 0x76, 0x70, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, 0x74, 0x52, + 0x10, 0x6c, 0x32, 0x76, 0x70, 0x6e, 0x76, 0x70, 0x6c, 0x73, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x32, 0x0a, 0x15, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, + 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x13, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x70, 0x76, 0x36, 0x6d, 0x76, 0x70, + 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x69, 0x70, 0x76, 0x36, 0x6d, 0x76, 0x70, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x29, 0x0a, 0x10, 0x69, 0x70, 0x76, 0x34, 0x6d, 0x76, 0x70, 0x6e, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x70, 0x76, 0x34, + 0x6d, 0x76, 0x70, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0xa5, 0x01, 0x0a, 0x12, + 0x6c, 0x32, 0x76, 0x70, 0x6e, 0x5f, 0x65, 0x76, 0x70, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x77, 0x2e, 0x63, 0x69, 0x73, 0x63, 0x6f, + 0x5f, 0x69, 0x6f, 0x73, 0x5f, 0x78, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x62, 0x67, 0x70, + 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x72, 0x66, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, + 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x5f, + 0x6c, 0x32, 0x76, 0x70, 0x6e, 0x5f, 0x65, 0x76, 0x70, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, + 0x74, 0x52, 0x10, 0x6c, 0x32, 0x76, 0x70, 0x6e, 0x45, 0x76, 0x70, 0x6e, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x6c, 0x73, 0x5f, 0x6c, 0x73, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x73, 0x4c, 0x73, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0xa5, 0x01, 0x0a, 0x12, 0x6c, 0x32, 0x76, 0x70, + 0x6e, 0x5f, 0x6d, 0x73, 0x70, 0x77, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x14, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x77, 0x2e, 0x63, 0x69, 0x73, 0x63, 0x6f, 0x5f, 0x69, 0x6f, 0x73, + 0x5f, 0x78, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x62, 0x67, 0x70, 0x5f, 0x6f, 0x70, 0x65, + 0x72, 0x2e, 0x62, 0x67, 0x70, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2e, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x5f, 0x76, 0x72, 0x66, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x2e, 0x6e, + 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x5f, 0x6c, 0x32, 0x76, 0x70, + 0x6e, 0x5f, 0x6d, 0x73, 0x70, 0x77, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, 0x74, 0x52, 0x10, 0x6c, + 0x32, 0x76, 0x70, 0x6e, 0x4d, 0x73, 0x70, 0x77, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x32, 0x0a, 0x15, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x70, 0x65, 0x63, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, + 0x69, 0x70, 0x76, 0x34, 0x46, 0x6c, 0x6f, 0x77, 0x73, 0x70, 0x65, 0x63, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x66, 0x6c, 0x6f, 0x77, + 0x73, 0x70, 0x65, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x16, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x13, 0x69, 0x70, 0x76, 0x36, 0x46, 0x6c, 0x6f, 0x77, 0x73, 0x70, 0x65, 0x63, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x69, 0x70, 0x76, 0x34, 0x76, + 0x70, 0x6e, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x69, 0x70, 0x76, 0x34, 0x76, + 0x70, 0x6e, 0x46, 0x6c, 0x6f, 0x77, 0x73, 0x70, 0x65, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x38, 0x0a, 0x18, 0x69, 0x70, 0x76, 0x36, 0x76, 0x70, 0x6e, 0x5f, 0x66, 0x6c, 0x6f, + 0x77, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x18, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x16, 0x69, 0x70, 0x76, 0x36, 0x76, 0x70, 0x6e, 0x46, 0x6c, 0x6f, 0x77, + 0x73, 0x70, 0x65, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0xae, 0x01, 0x0a, 0x15, + 0x69, 0x70, 0x76, 0x34, 0x73, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x7a, 0x2e, 0x63, 0x69, + 0x73, 0x63, 0x6f, 0x5f, 0x69, 0x6f, 0x73, 0x5f, 0x78, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, + 0x62, 0x67, 0x70, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x2e, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x72, 0x66, 0x2e, 0x6e, 0x65, 0x69, 0x67, + 0x68, 0x62, 0x6f, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x2e, 0x62, + 0x67, 0x70, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x73, 0x72, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, 0x74, 0x52, 0x13, 0x69, 0x70, 0x76, 0x34, 0x73, 0x72, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0xae, 0x01, 0x0a, + 0x15, 0x69, 0x70, 0x76, 0x36, 0x73, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x7a, 0x2e, 0x63, + 0x69, 0x73, 0x63, 0x6f, 0x5f, 0x69, 0x6f, 0x73, 0x5f, 0x78, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x34, + 0x5f, 0x62, 0x67, 0x70, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x2e, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x2e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x72, 0x66, 0x2e, 0x6e, 0x65, 0x69, + 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x2e, + 0x62, 0x67, 0x70, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x73, 0x72, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, 0x74, 0x52, 0x13, 0x69, 0x70, 0x76, 0x36, 0x73, 0x72, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xfd, 0x01, + 0x0a, 0x0e, 0x62, 0x67, 0x70, 0x5f, 0x6e, 0x6f, 0x74, 0x66, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x5f, + 0x12, 0x3f, 0x0a, 0x1c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c, + 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x69, 0x6e, 0x63, + 0x65, 0x4c, 0x61, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x36, 0x0a, 0x17, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x15, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x3c, 0x0a, 0x1a, 0x6e, 0x6f, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, + 0x73, 0x75, 0x62, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x6e, + 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x53, 0x75, 0x62, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x5f, + 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x4e, 0x6f, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x22, 0xa9, 0x0d, + 0x0a, 0x0d, 0x62, 0x67, 0x70, 0x5f, 0x70, 0x65, 0x72, 0x66, 0x5f, 0x6e, 0x62, 0x72, 0x5f, 0x12, + 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x72, 0x65, 0x61, 0x64, 0x54, 0x68, 0x72, + 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6c, 0x6f, 0x77, 0x5f, 0x74, 0x68, + 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x10, 0x6c, 0x6f, 0x77, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, + 0x52, 0x65, 0x61, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x68, 0x69, 0x67, 0x68, 0x5f, 0x74, 0x68, 0x72, + 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x11, 0x68, 0x69, 0x67, 0x68, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, + 0x52, 0x65, 0x61, 0x64, 0x12, 0x42, 0x0a, 0x1e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x69, 0x6e, + 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, + 0x64, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x74, 0x69, + 0x6d, 0x65, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x54, 0x68, 0x72, 0x6f, 0x74, + 0x74, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x61, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x61, 0x64, + 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x61, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x11, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, + 0x5f, 0x72, 0x65, 0x61, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x64, 0x61, 0x74, + 0x61, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x61, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x6f, + 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0a, 0x69, 0x6f, 0x52, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, + 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x43, 0x61, + 0x6c, 0x6c, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x64, 0x61, 0x74, 0x61, 0x42, 0x79, 0x74, 0x65, 0x73, 0x57, + 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x6f, 0x5f, 0x77, 0x72, 0x69, + 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, + 0x6f, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x10, 0x6c, 0x61, + 0x73, 0x74, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x6f, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x74, 0x53, 0x65, + 0x71, 0x4e, 0x6f, 0x12, 0x3b, 0x0a, 0x1a, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x75, 0x62, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x77, 0x72, 0x69, 0x74, 0x65, 0x53, 0x75, + 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x41, 0x0a, 0x1d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x77, 0x72, 0x69, 0x74, 0x65, 0x53, 0x75, + 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, + 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x10, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x35, 0x0a, 0x17, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, + 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x14, 0x77, 0x72, 0x69, 0x74, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x43, 0x61, + 0x6c, 0x6c, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x1a, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x77, 0x72, + 0x69, 0x74, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x71, + 0x75, 0x65, 0x75, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x36, 0x0a, 0x17, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x15, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x1c, 0x69, 0x6e, 0x62, 0x6f, 0x75, + 0x6e, 0x64, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x69, + 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x69, + 0x6d, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x15, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x52, 0x65, 0x61, 0x64, + 0x53, 0x69, 0x7a, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x73, 0x18, + 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x73, 0x12, 0x2e, + 0x0a, 0x13, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x66, 0x61, 0x69, + 0x6c, 0x65, 0x64, 0x50, 0x6f, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x73, 0x12, 0x1a, + 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, + 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x73, 0x18, + 0x19, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, + 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, + 0x6c, 0x6c, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x70, + 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x42, 0x0a, 0x1e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, + 0x61, 0x64, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x72, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x54, 0x6f, 0x52, 0x65, 0x61, 0x64, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x54, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x1f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x74, + 0x6f, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, + 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x54, 0x6f, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x68, 0x72, 0x65, + 0x61, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x1e, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, + 0x1f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x67, + 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x62, 0x72, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x20, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, 0x62, 0x72, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x15, + 0x0a, 0x06, 0x6e, 0x62, 0x72, 0x5f, 0x66, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, + 0x6e, 0x62, 0x72, 0x46, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x72, + 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, + 0x73, 0x65, 0x74, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x79, + 0x6e, 0x63, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x73, 0x79, 0x6e, 0x63, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x2d, 0x0a, 0x13, 0x6e, 0x73, 0x72, + 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x24, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6e, 0x73, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x44, + 0x6f, 0x77, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x14, 0x6c, 0x61, 0x73, 0x74, + 0x5f, 0x6e, 0x73, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x73, 0x79, 0x6e, 0x63, + 0x18, 0x25, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x4e, 0x73, 0x72, 0x53, + 0x63, 0x6f, 0x70, 0x65, 0x64, 0x53, 0x79, 0x6e, 0x63, 0x22, 0xbc, 0x03, 0x0a, 0x10, 0x62, 0x67, + 0x70, 0x5f, 0x70, 0x65, 0x72, 0x66, 0x5f, 0x6e, 0x62, 0x72, 0x5f, 0x61, 0x66, 0x5f, 0x12, 0x44, + 0x0a, 0x1f, 0x73, 0x75, 0x62, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x70, 0x65, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x73, 0x75, 0x62, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, + 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x11, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x65, 0x6e, 0x74, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x1d, 0x73, 0x70, 0x6c, 0x69, + 0x74, 0x5f, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x1a, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x48, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x12, 0x3f, 0x0a, 0x1c, 0x73, + 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x5f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x19, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x48, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x45, 0x0a, 0x1f, + 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x5f, 0x77, 0x69, + 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1c, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x48, 0x6f, 0x72, 0x69, + 0x7a, 0x6f, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x6d, 0x69, 0x74, 0x12, 0x43, 0x0a, 0x1e, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x68, 0x6f, 0x72, + 0x69, 0x7a, 0x6f, 0x6e, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x5f, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x73, 0x70, 0x6c, + 0x69, 0x74, 0x48, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, + 0x77, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x22, 0xc0, 0x47, 0x0a, 0x0b, 0x62, 0x67, 0x70, + 0x5f, 0x6e, 0x62, 0x72, 0x5f, 0x61, 0x66, 0x5f, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x66, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x66, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x4a, 0x0a, 0x22, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, + 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1e, 0x69, + 0x73, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, + 0x66, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, + 0x0f, 0x69, 0x73, 0x5f, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x70, 0x65, 0x5f, 0x72, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, + 0x50, 0x65, 0x52, 0x74, 0x12, 0x33, 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, + 0x62, 0x6f, 0x72, 0x5f, 0x61, 0x66, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x73, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, + 0x41, 0x66, 0x43, 0x61, 0x70, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x54, 0x0a, 0x27, 0x69, 0x73, 0x5f, + 0x73, 0x6f, 0x66, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x61, 0x6c, 0x6c, + 0x6f, 0x77, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x23, 0x69, 0x73, 0x53, 0x6f, + 0x66, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x12, + 0x4f, 0x0a, 0x25, 0x69, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x6f, 0x66, 0x74, 0x5f, 0x72, + 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, + 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x20, + 0x69, 0x73, 0x55, 0x73, 0x65, 0x53, 0x6f, 0x66, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x4f, 0x6e, + 0x12, 0x42, 0x0a, 0x1e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x5f, 0x61, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x73, 0x12, 0x5c, 0x0a, 0x2c, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x70, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x73, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x72, 0x65, + 0x5f, 0x61, 0x73, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x26, 0x72, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, 0x73, 0x45, 0x6e, 0x74, 0x69, 0x72, + 0x65, 0x41, 0x73, 0x70, 0x61, 0x74, 0x68, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x73, 0x12, 0x51, 0x0a, 0x26, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x69, 0x6e, 0x62, + 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x21, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x41, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x6b, 0x0a, 0x34, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, + 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x73, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x72, + 0x65, 0x5f, 0x61, 0x73, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x69, 0x6e, + 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x2d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x41, 0x73, 0x45, 0x6e, 0x74, 0x69, 0x72, 0x65, 0x41, 0x73, 0x70, 0x61, 0x74, 0x68, + 0x46, 0x72, 0x6f, 0x6d, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x1c, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x5f, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x70, + 0x65, 0x63, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x49, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x12, 0x50, 0x0a, 0x25, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x70, 0x65, 0x63, 0x5f, + 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x5f, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x21, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x70, 0x65, 0x63, 0x52, 0x65, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x49, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6f, 0x72, 0x72, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, + 0x72, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6f, + 0x72, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6f, 0x72, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x12, 0x42, 0x0a, 0x1e, 0x69, 0x73, 0x5f, 0x6f, 0x72, 0x72, 0x5f, 0x72, 0x6f, + 0x6f, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x69, 0x73, 0x4f, + 0x72, 0x72, 0x52, 0x6f, 0x6f, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x64, 0x76, 0x65, 0x72, + 0x74, 0x69, 0x73, 0x65, 0x5f, 0x61, 0x66, 0x69, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, + 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x41, 0x66, 0x69, 0x12, 0x2e, 0x0a, 0x13, + 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x5f, 0x61, 0x66, 0x69, 0x5f, 0x72, 0x65, + 0x6f, 0x72, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, 0x64, 0x76, 0x65, 0x72, + 0x74, 0x69, 0x73, 0x65, 0x41, 0x66, 0x69, 0x52, 0x65, 0x6f, 0x72, 0x67, 0x12, 0x32, 0x0a, 0x15, + 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x5f, 0x61, 0x66, 0x69, 0x5f, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x61, 0x64, 0x76, + 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x41, 0x66, 0x69, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x12, 0x2d, 0x0a, 0x12, 0x65, 0x6e, 0x63, 0x61, 0x70, 0x73, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x65, 0x6e, + 0x63, 0x61, 0x70, 0x73, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x2a, 0x0a, 0x11, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x5f, 0x72, 0x74, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x61, 0x64, 0x76, 0x65, + 0x72, 0x74, 0x69, 0x73, 0x65, 0x52, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x47, 0x0a, 0x21, 0x61, + 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x5f, 0x61, 0x66, 0x69, 0x5f, 0x64, 0x65, 0x66, + 0x5f, 0x76, 0x72, 0x66, 0x5f, 0x69, 0x6d, 0x70, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1c, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, + 0x65, 0x41, 0x66, 0x69, 0x44, 0x65, 0x66, 0x56, 0x72, 0x66, 0x49, 0x6d, 0x70, 0x44, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x12, 0x54, 0x0a, 0x28, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, + 0x65, 0x5f, 0x65, 0x76, 0x70, 0x5f, 0x6e, 0x76, 0x34, 0x61, 0x66, 0x69, 0x5f, 0x64, 0x65, 0x66, + 0x5f, 0x76, 0x72, 0x66, 0x5f, 0x69, 0x6d, 0x70, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x22, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, + 0x65, 0x45, 0x76, 0x70, 0x4e, 0x76, 0x34, 0x61, 0x66, 0x69, 0x44, 0x65, 0x66, 0x56, 0x72, 0x66, + 0x49, 0x6d, 0x70, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x54, 0x0a, 0x28, 0x61, 0x64, + 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x5f, 0x65, 0x76, 0x70, 0x5f, 0x6e, 0x76, 0x36, 0x61, + 0x66, 0x69, 0x5f, 0x64, 0x65, 0x66, 0x5f, 0x76, 0x72, 0x66, 0x5f, 0x69, 0x6d, 0x70, 0x5f, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x22, 0x61, 0x64, + 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x45, 0x76, 0x70, 0x4e, 0x76, 0x36, 0x61, 0x66, 0x69, + 0x44, 0x65, 0x66, 0x56, 0x72, 0x66, 0x49, 0x6d, 0x70, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x12, 0x45, 0x0a, 0x20, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x5f, 0x61, 0x66, + 0x69, 0x5f, 0x76, 0x72, 0x66, 0x5f, 0x72, 0x65, 0x5f, 0x69, 0x6d, 0x70, 0x5f, 0x64, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x61, 0x64, 0x76, 0x65, + 0x72, 0x74, 0x69, 0x73, 0x65, 0x41, 0x66, 0x69, 0x56, 0x72, 0x66, 0x52, 0x65, 0x49, 0x6d, 0x70, + 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x52, 0x0a, 0x27, 0x61, 0x64, 0x76, 0x65, 0x72, + 0x74, 0x69, 0x73, 0x65, 0x5f, 0x65, 0x76, 0x70, 0x5f, 0x6e, 0x76, 0x34, 0x61, 0x66, 0x69, 0x5f, + 0x76, 0x72, 0x66, 0x5f, 0x72, 0x65, 0x5f, 0x69, 0x6d, 0x70, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x21, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, + 0x69, 0x73, 0x65, 0x45, 0x76, 0x70, 0x4e, 0x76, 0x34, 0x61, 0x66, 0x69, 0x56, 0x72, 0x66, 0x52, + 0x65, 0x49, 0x6d, 0x70, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x52, 0x0a, 0x27, 0x61, + 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x5f, 0x65, 0x76, 0x70, 0x5f, 0x6e, 0x76, 0x36, + 0x61, 0x66, 0x69, 0x5f, 0x76, 0x72, 0x66, 0x5f, 0x72, 0x65, 0x5f, 0x69, 0x6d, 0x70, 0x5f, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x21, 0x61, 0x64, + 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x45, 0x76, 0x70, 0x4e, 0x76, 0x36, 0x61, 0x66, 0x69, + 0x56, 0x72, 0x66, 0x52, 0x65, 0x49, 0x6d, 0x70, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, + 0x36, 0x0a, 0x18, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x5f, 0x61, 0x66, 0x69, + 0x5f, 0x65, 0x6f, 0x5f, 0x72, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x79, 0x18, 0x1b, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x14, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x41, 0x66, 0x69, 0x45, + 0x6f, 0x52, 0x52, 0x65, 0x61, 0x64, 0x79, 0x12, 0x38, 0x0a, 0x19, 0x61, 0x6c, 0x77, 0x61, 0x79, + 0x73, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x61, 0x6c, 0x77, 0x61, + 0x79, 0x73, 0x55, 0x73, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x4c, 0x6f, 0x63, 0x61, + 0x6c, 0x12, 0x3b, 0x0a, 0x1a, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, + 0x69, 0x74, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x18, + 0x1d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x73, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x75, + 0x6e, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x12, 0x46, + 0x0a, 0x20, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x67, 0x73, 0x68, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6d, + 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, + 0x6f, 0x72, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1c, 0x73, 0x65, 0x6e, 0x74, 0x47, 0x73, + 0x68, 0x75, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x4e, 0x65, + 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x12, 0x4c, 0x0a, 0x23, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x65, + 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, + 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x18, 0x1f, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x1f, 0x73, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, + 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x4e, 0x65, 0x69, 0x67, + 0x68, 0x62, 0x6f, 0x72, 0x12, 0x3d, 0x0a, 0x1b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, + 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x56, 0x70, 0x6e, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x12, 0x3c, 0x0a, 0x1a, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, + 0x65, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, + 0x72, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, + 0x65, 0x12, 0x1e, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x6f, 0x72, 0x66, 0x5f, 0x73, 0x65, 0x6e, 0x74, + 0x18, 0x22, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x4f, 0x72, 0x66, 0x53, 0x65, 0x6e, + 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x64, + 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x18, 0x23, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, + 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x12, + 0x31, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x6f, 0x72, 0x66, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x73, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x18, 0x24, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, + 0x69, 0x73, 0x4f, 0x72, 0x66, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x68, + 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x18, 0x27, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, + 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, + 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x65, + 0x61, 0x76, 0x69, 0x6e, 0x67, 0x18, 0x28, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x65, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x12, 0x33, 0x0a, 0x16, + 0x76, 0x70, 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x29, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x76, 0x70, + 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x65, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x12, 0x42, 0x0a, 0x1e, 0x76, 0x70, 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x67, 0x65, 0x6e, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x76, 0x70, 0x6e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x47, 0x65, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x1b, 0x69, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x70, + 0x61, 0x74, 0x68, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x69, 0x73, 0x41, 0x64, + 0x64, 0x70, 0x61, 0x74, 0x68, 0x53, 0x65, 0x6e, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x43, 0x0a, 0x1e, 0x69, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x70, 0x61, + 0x74, 0x68, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x69, 0x73, + 0x41, 0x64, 0x64, 0x70, 0x61, 0x74, 0x68, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x6e, 0x65, 0x69, + 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x2d, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x2e, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x28, 0x0a, 0x10, + 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x50, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x3c, 0x0a, 0x1b, 0x75, 0x73, 0x65, 0x5f, 0x6d, 0x61, + 0x78, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x30, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x75, 0x73, 0x65, + 0x4d, 0x61, 0x78, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x42, 0x0a, 0x1e, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, + 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x31, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x6d, 0x61, + 0x78, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x45, 0x78, + 0x74, 0x72, 0x61, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x44, 0x0a, 0x1f, 0x6d, 0x61, 0x78, 0x5f, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x5f, 0x64, 0x69, + 0x73, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x32, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x1b, 0x6d, 0x61, 0x78, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x45, 0x78, 0x63, 0x65, + 0x65, 0x64, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x3f, + 0x0a, 0x1c, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x74, 0x68, 0x72, + 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x33, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x6d, 0x61, 0x78, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x54, + 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, + 0x42, 0x0a, 0x1e, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x64, 0x69, + 0x73, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x6d, 0x61, 0x78, 0x50, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x17, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x35, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x6d, 0x61, 0x78, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, + 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x18, + 0x36, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x41, + 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x65, 0x73, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0e, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x53, 0x79, 0x6e, 0x63, 0x65, 0x64, + 0x12, 0x3f, 0x0a, 0x1c, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x5f, 0x77, 0x69, 0x74, + 0x68, 0x64, 0x72, 0x61, 0x77, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, + 0x18, 0x38, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, + 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x6e, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, + 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x5f, 0x64, 0x65, + 0x6e, 0x69, 0x65, 0x64, 0x18, 0x39, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x65, 0x73, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x19, 0x70, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x5f, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x5f, 0x6e, 0x6f, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x70, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x4e, 0x6f, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x39, 0x0a, 0x19, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, + 0x73, 0x5f, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x5f, 0x72, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, + 0x69, 0x74, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x65, 0x73, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x52, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, + 0x12, 0x3b, 0x0a, 0x1a, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x5f, 0x64, 0x65, 0x6e, + 0x69, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x66, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x3c, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x44, 0x65, + 0x6e, 0x69, 0x65, 0x64, 0x4f, 0x72, 0x66, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x34, 0x0a, + 0x16, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x5f, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x70, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6f, 0x66, + 0x5f, 0x62, 0x65, 0x73, 0x74, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x42, 0x65, 0x73, 0x74, 0x70, 0x61, + 0x74, 0x68, 0x73, 0x12, 0x3f, 0x0a, 0x1c, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6f, 0x66, + 0x5f, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x70, 0x61, + 0x74, 0x68, 0x73, 0x18, 0x3f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x4f, 0x66, 0x42, 0x65, 0x73, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x70, + 0x61, 0x74, 0x68, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, + 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x18, 0x40, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x12, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x41, 0x64, 0x76, 0x65, 0x72, + 0x74, 0x69, 0x73, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, + 0x73, 0x5f, 0x62, 0x65, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x18, + 0x41, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x42, + 0x65, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x12, 0x2f, 0x0a, 0x13, 0x70, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x65, 0x64, 0x18, 0x42, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x65, 0x73, 0x53, 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x12, 0x2d, 0x0a, 0x12, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, + 0x77, 0x6e, 0x18, 0x43, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x6e, 0x12, 0x2d, 0x0a, 0x13, 0x69, + 0x73, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x6f, 0x72, 0x66, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x44, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x50, 0x65, 0x65, 0x72, + 0x4f, 0x72, 0x66, 0x43, 0x61, 0x70, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x69, 0x73, + 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x66, 0x5f, + 0x73, 0x65, 0x6e, 0x64, 0x18, 0x45, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x73, 0x41, 0x64, + 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x4f, 0x72, 0x66, 0x53, 0x65, 0x6e, 0x64, 0x12, + 0x3e, 0x0a, 0x1c, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x6f, + 0x72, 0x66, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x6c, 0x65, 0x18, + 0x46, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x69, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x64, 0x4f, 0x72, 0x66, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x61, 0x70, 0x61, 0x62, 0x6c, 0x65, 0x12, + 0x39, 0x0a, 0x19, 0x69, 0x73, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, + 0x5f, 0x6f, 0x72, 0x66, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x18, 0x47, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x16, 0x69, 0x73, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, + 0x4f, 0x72, 0x66, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x44, 0x0a, 0x1f, 0x69, 0x73, + 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x66, 0x5f, 0x72, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x48, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x1b, 0x69, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4f, + 0x72, 0x66, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x43, 0x61, 0x70, 0x61, 0x62, 0x6c, 0x65, + 0x12, 0x43, 0x0a, 0x1e, 0x69, 0x73, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, + 0x64, 0x5f, 0x67, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x18, 0x49, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x69, 0x73, 0x41, 0x64, 0x76, 0x65, + 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x42, 0x0a, 0x1e, 0x69, 0x73, 0x5f, 0x67, 0x72, 0x61, 0x63, + 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x4a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x69, + 0x73, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x4e, 0x0a, 0x24, 0x69, 0x73, 0x5f, + 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, + 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x6c, + 0x65, 0x18, 0x4b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x20, 0x69, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x64, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x51, 0x0a, 0x26, 0x69, 0x73, 0x5f, + 0x61, 0x64, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x61, + 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, + 0x73, 0x65, 0x64, 0x18, 0x4c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x21, 0x69, 0x73, 0x41, 0x64, 0x64, + 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x12, 0x4d, 0x0a, 0x24, + 0x69, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x65, 0x6e, 0x64, + 0x5f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x64, 0x18, 0x4d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1f, 0x69, 0x73, 0x41, 0x64, + 0x64, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x57, 0x0a, 0x29, 0x69, + 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x61, 0x64, + 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x18, 0x4e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x24, + 0x69, 0x73, 0x41, 0x64, 0x64, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, + 0x69, 0x73, 0x65, 0x64, 0x12, 0x53, 0x0a, 0x27, 0x69, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x70, + 0x61, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, + 0x4f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x22, 0x69, 0x73, 0x41, 0x64, 0x64, 0x50, 0x61, 0x74, 0x68, + 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x51, 0x0a, 0x26, 0x69, 0x73, 0x5f, + 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x68, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x5f, + 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x64, 0x18, 0x50, 0x20, 0x01, 0x28, 0x08, 0x52, 0x21, 0x69, 0x73, 0x45, 0x78, 0x74, + 0x4e, 0x68, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x49, 0x0a, 0x22, + 0x69, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x68, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, + 0x6e, 0x67, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, + 0x6e, 0x74, 0x18, 0x51, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x69, 0x73, 0x45, 0x78, 0x74, 0x4e, + 0x68, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x53, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x52, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, + 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x53, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x65, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x74, 0x61, 0x6c, + 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x54, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x54, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x35, 0x0a, 0x17, 0x72, 0x69, 0x62, 0x5f, 0x70, 0x75, + 0x72, 0x67, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x55, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x72, 0x69, 0x62, 0x50, 0x75, 0x72, 0x67, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4d, 0x0a, + 0x23, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x56, 0x20, 0x01, 0x28, 0x08, 0x52, 0x20, 0x6e, 0x65, 0x69, 0x67, + 0x68, 0x62, 0x6f, 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x46, 0x6f, 0x72, + 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x66, 0x0a, 0x31, + 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x61, 0x63, 0x65, + 0x66, 0x75, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x6c, + 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, + 0x64, 0x18, 0x57, 0x20, 0x01, 0x28, 0x08, 0x52, 0x2b, 0x6c, 0x6f, 0x6e, 0x67, 0x4c, 0x69, 0x76, + 0x65, 0x64, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x53, 0x74, 0x61, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x75, 0x72, 0x65, 0x64, 0x12, 0x5a, 0x0a, 0x2b, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x76, + 0x65, 0x64, 0x5f, 0x67, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, + 0x65, 0x6e, 0x74, 0x18, 0x58, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x25, 0x6c, 0x6f, 0x6e, 0x67, 0x4c, + 0x69, 0x76, 0x65, 0x64, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x53, 0x74, 0x61, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x6e, 0x74, + 0x12, 0x5e, 0x0a, 0x2d, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x67, + 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, + 0x73, 0x74, 0x61, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, + 0x74, 0x18, 0x59, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x27, 0x6c, 0x6f, 0x6e, 0x67, 0x4c, 0x69, 0x76, + 0x65, 0x64, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x53, 0x74, 0x61, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, + 0x12, 0x63, 0x0a, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x67, + 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, + 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x64, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x2a, 0x6c, 0x6f, 0x6e, 0x67, 0x4c, + 0x69, 0x76, 0x65, 0x64, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x62, 0x0a, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x69, + 0x76, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x72, 0x65, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, + 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x5b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x29, + 0x6c, 0x6f, 0x6e, 0x67, 0x4c, 0x69, 0x76, 0x65, 0x64, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, + 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x74, 0x61, 0x6c, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x61, 0x0a, 0x2e, 0x6e, 0x65, 0x69, + 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, + 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, + 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x5c, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x29, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x64, 0x4c, 0x6f, 0x6e, 0x67, 0x4c, 0x69, 0x76, 0x65, 0x64, 0x46, 0x6f, 0x72, + 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x5d, 0x0a, 0x2c, + 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x69, + 0x76, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x72, 0x65, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x5d, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x27, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x4c, 0x6f, 0x6e, 0x67, + 0x4c, 0x69, 0x76, 0x65, 0x64, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x6a, 0x0a, 0x33, 0x6e, + 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x76, + 0x65, 0x64, 0x5f, 0x67, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, + 0x6e, 0x67, 0x18, 0x5e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x2d, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, + 0x6f, 0x72, 0x4c, 0x6f, 0x6e, 0x67, 0x4c, 0x69, 0x76, 0x65, 0x64, 0x47, 0x72, 0x61, 0x63, 0x65, + 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, + 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x38, 0x0a, 0x18, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x64, 0x18, 0x5f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x65, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x64, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, + 0x73, 0x68, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x60, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x12, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x65, 0x73, 0x53, + 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x61, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x14, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x66, + 0x72, 0x65, 0x73, 0x68, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x62, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x15, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x61, 0x63, + 0x6b, 0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x63, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x13, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x41, 0x63, 0x6b, 0x65, 0x64, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x5f, 0x6f, 0x72, 0x66, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, + 0x64, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4f, + 0x72, 0x66, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x6f, 0x72, 0x66, + 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x64, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6f, 0x72, 0x66, 0x45, 0x6e, 0x74, 0x72, + 0x69, 0x65, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x19, 0x69, + 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, + 0x61, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x66, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, + 0x69, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, + 0x74, 0x65, 0x53, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x17, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6f, 0x72, + 0x66, 0x18, 0x67, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4f, 0x72, 0x66, 0x12, 0x26, 0x0a, + 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x6e, + 0x18, 0x68, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x49, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x69, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4f, 0x75, 0x74, 0x12, + 0x43, 0x0a, 0x1e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, + 0x65, 0x18, 0x6a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x61, 0x74, 0x65, 0x12, 0x53, 0x0a, 0x27, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, + 0x62, 0x6f, 0x72, 0x5f, 0x65, 0x62, 0x67, 0x70, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, + 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, + 0x6b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x22, 0x69, 0x73, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, + 0x72, 0x45, 0x62, 0x67, 0x70, 0x57, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x49, 0x6e, 0x62, 0x6f, + 0x75, 0x6e, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x55, 0x0a, 0x28, 0x69, 0x73, 0x5f, + 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x65, 0x62, 0x67, 0x70, 0x5f, 0x77, 0x69, + 0x74, 0x68, 0x6f, 0x75, 0x74, 0x5f, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x6c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x23, 0x69, 0x73, 0x4e, + 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x45, 0x62, 0x67, 0x70, 0x57, 0x69, 0x74, 0x68, 0x6f, + 0x75, 0x74, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x12, 0x43, 0x0a, 0x1f, 0x69, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x5f, + 0x6c, 0x6f, 0x6f, 0x70, 0x63, 0x68, 0x6b, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x73, 0x65, 0x74, 0x18, 0x6d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x69, 0x73, 0x55, 0x70, 0x64, + 0x4f, 0x72, 0x69, 0x67, 0x4c, 0x6f, 0x6f, 0x70, 0x63, 0x68, 0x6b, 0x44, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x53, 0x65, 0x74, 0x12, 0x2b, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x61, 0x73, 0x5f, 0x6f, + 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x6e, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0f, 0x69, 0x73, 0x41, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x53, + 0x65, 0x74, 0x12, 0x2a, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x61, + 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x6f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, + 0x69, 0x73, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x73, 0x49, 0x6e, 0x53, 0x65, 0x74, 0x12, 0x29, + 0x0a, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x61, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x70, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, + 0x41, 0x73, 0x49, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x1e, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x5f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, + 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x71, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x1a, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, + 0x4c, 0x6f, 0x6e, 0x67, 0x4c, 0x69, 0x76, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, + 0x1a, 0x65, 0x6f, 0x5f, 0x72, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x69, + 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x72, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x15, 0x65, 0x6f, 0x52, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x49, 0x6e, + 0x52, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x6b, 0x65, + 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x73, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0c, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, + 0x14, 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x74, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x73, 0x79, 0x6e, + 0x63, 0x65, 0x64, 0x41, 0x63, 0x6b, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x2f, 0x0a, 0x13, 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x75, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6f, 0x75, + 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x3e, 0x0a, 0x1b, 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, + 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x76, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x36, 0x0a, 0x17, 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x77, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x15, 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x12, 0xbf, 0x01, 0x0a, 0x22, 0x6e, 0x65, 0x69, + 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x61, 0x66, 0x5f, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, + 0x78, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x72, 0x2e, 0x63, 0x69, 0x73, 0x63, 0x6f, 0x5f, 0x69, 0x6f, + 0x73, 0x5f, 0x78, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x62, 0x67, 0x70, 0x5f, 0x6f, 0x70, + 0x65, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x5f, 0x76, 0x72, 0x66, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x2e, + 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x5f, 0x70, 0x65, 0x72, + 0x66, 0x5f, 0x6e, 0x62, 0x72, 0x5f, 0x61, 0x66, 0x5f, 0x52, 0x1f, 0x6e, 0x65, 0x69, 0x67, 0x68, + 0x62, 0x6f, 0x72, 0x41, 0x66, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x69, 0x73, + 0x5f, 0x61, 0x69, 0x67, 0x70, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x79, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x09, 0x69, 0x73, 0x41, 0x69, 0x67, 0x70, 0x53, 0x65, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, + 0x5f, 0x72, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x7a, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0b, 0x69, 0x73, 0x52, 0x74, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x2d, + 0x0a, 0x12, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, + 0x6e, 0x69, 0x74, 0x79, 0x18, 0x7b, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x65, 0x78, 0x74, 0x65, + 0x6e, 0x64, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x12, 0x31, 0x0a, + 0x15, 0x69, 0x73, 0x5f, 0x72, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x73, + 0x74, 0x61, 0x6e, 0x64, 0x62, 0x79, 0x18, 0x7c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, + 0x52, 0x74, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x62, 0x79, + 0x12, 0x3c, 0x0a, 0x1a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, + 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x62, 0x79, 0x18, 0x7d, + 0x20, 0x03, 0x28, 0x0d, 0x52, 0x18, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x43, 0x6f, + 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x62, 0x79, 0x12, 0x2c, + 0x0a, 0x12, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x6f, 0x77, 0x6e, 0x5f, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x18, 0x7e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x63, 0x63, 0x65, + 0x70, 0x74, 0x4f, 0x77, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x40, 0x0a, 0x1c, + 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, + 0x61, 0x74, 0x68, 0x5f, 0x65, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x18, 0x7f, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x1a, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x75, 0x6c, + 0x74, 0x69, 0x70, 0x61, 0x74, 0x68, 0x45, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x12, 0x26, + 0x0a, 0x0e, 0x61, 0x66, 0x72, 0x70, 0x6b, 0x69, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x18, 0x80, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x66, 0x72, 0x70, 0x6b, 0x69, 0x44, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x61, 0x66, 0x72, 0x70, 0x6b, 0x69, + 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x18, 0x81, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, 0x66, 0x72, 0x70, 0x6b, 0x69, 0x55, 0x73, 0x65, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x12, 0x31, 0x0a, 0x14, 0x61, 0x66, 0x72, 0x70, 0x6b, + 0x69, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, + 0x82, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x61, 0x66, 0x72, 0x70, 0x6b, 0x69, 0x41, 0x6c, + 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x66, + 0x72, 0x70, 0x6b, 0x69, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x62, 0x67, 0x70, + 0x18, 0x83, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x66, 0x72, 0x70, 0x6b, 0x69, 0x53, + 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x49, 0x62, 0x67, 0x70, 0x12, 0x44, 0x0a, 0x1e, 0x69, 0x73, 0x5f, + 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, + 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x84, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x1b, 0x69, 0x73, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x50, + 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, + 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x6d, 0x63, 0x61, 0x73, 0x74, + 0x5f, 0x61, 0x74, 0x74, 0x72, 0x18, 0x85, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, + 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x63, 0x61, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x12, 0x2a, 0x0a, + 0x10, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, + 0x67, 0x18, 0x86, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x2e, 0x0a, 0x12, 0x69, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x18, + 0x87, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, + 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x41, 0x0a, 0x1c, 0x69, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x5f, + 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x88, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x1a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, + 0x61, 0x74, 0x65, 0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x2d, 0x0a, 0x12, + 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x5f, 0x76, 0x34, 0x5f, 0x66, 0x6c, 0x61, + 0x67, 0x73, 0x18, 0x89, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x61, 0x64, 0x76, 0x65, 0x72, + 0x74, 0x69, 0x73, 0x65, 0x56, 0x34, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x61, + 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x5f, 0x76, 0x36, 0x5f, 0x66, 0x6c, 0x61, 0x67, + 0x73, 0x18, 0x8a, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, + 0x69, 0x73, 0x65, 0x56, 0x36, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x51, 0x0a, 0x25, 0x61, 0x64, + 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x63, + 0x61, 0x73, 0x74, 0x18, 0x8b, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x21, 0x61, 0x64, 0x76, 0x65, + 0x72, 0x74, 0x69, 0x73, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x65, + 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x55, 0x6e, 0x69, 0x63, 0x61, 0x73, 0x74, 0x12, 0x44, 0x0a, + 0x1e, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x5f, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, + 0x5f, 0x6e, 0x6f, 0x6e, 0x5f, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, + 0x8c, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, + 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x4e, 0x6f, 0x6e, 0x43, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x8d, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x74, 0x61, + 0x63, 0x6b, 0x12, 0x30, 0x0a, 0x14, 0x6f, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x5f, 0x74, 0x72, + 0x61, 0x63, 0x6b, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x8e, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x11, 0x6f, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x5f, + 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x8f, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x10, 0x6f, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x19, 0x6f, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x5f, + 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x18, 0x90, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x6f, 0x74, 0x50, 0x72, 0x6f, 0x76, + 0x54, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x47, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x40, + 0x0a, 0x1d, 0x6f, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, + 0x65, 0x6f, 0x72, 0x5f, 0x74, 0x6d, 0x72, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x18, + 0x91, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x6f, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x54, 0x72, + 0x61, 0x63, 0x6b, 0x45, 0x6f, 0x72, 0x54, 0x6d, 0x72, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, + 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x66, 0x6c, + 0x61, 0x67, 0x73, 0x18, 0x92, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x6c, 0x6f, 0x77, + 0x50, 0x65, 0x65, 0x72, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x6c, 0x6f, + 0x77, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x18, 0x93, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x6c, 0x6f, 0x77, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, + 0x61, 0x74, 0x69, 0x63, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x65, 0x65, + 0x72, 0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x18, 0x94, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0f, 0x73, 0x6c, 0x6f, 0x77, 0x50, 0x65, 0x65, 0x72, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, + 0x63, 0x12, 0x2f, 0x0a, 0x13, 0x73, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x70, + 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x95, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x11, 0x73, 0x6c, 0x6f, 0x77, 0x50, 0x65, 0x65, 0x72, 0x50, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, + 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x96, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x6c, + 0x6f, 0x77, 0x50, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x4a, 0x0a, 0x0c, 0x62, + 0x67, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x70, 0x65, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x73, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, + 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6e, 0x61, 0x6e, 0x6f, + 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0xc5, 0x01, 0x0a, 0x16, 0x62, 0x67, 0x70, 0x5f, + 0x6e, 0x62, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x75, 0x6e, + 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x94, 0x01, 0x0a, 0x0e, 0x6c, 0x61, 0x73, + 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x6e, 0x2e, 0x63, 0x69, 0x73, 0x63, 0x6f, 0x5f, 0x69, 0x6f, 0x73, 0x5f, 0x78, 0x72, + 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x62, 0x67, 0x70, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x62, + 0x67, 0x70, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x61, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x72, + 0x66, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x69, 0x67, + 0x68, 0x62, 0x6f, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x70, 0x65, + 0x63, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x65, 0x63, 0x22, + 0xac, 0x02, 0x0a, 0x14, 0x62, 0x67, 0x70, 0x5f, 0x6e, 0x62, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x6f, 0x70, 0x12, 0x88, 0x01, 0x0a, 0x02, 0x74, 0x78, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x78, 0x2e, 0x63, 0x69, 0x73, 0x63, 0x6f, 0x5f, 0x69, 0x6f, + 0x73, 0x5f, 0x78, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x62, 0x67, 0x70, 0x5f, 0x6f, 0x70, + 0x65, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x5f, 0x76, 0x72, 0x66, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x2e, + 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x5f, 0x6e, 0x62, 0x72, + 0x5f, 0x6d, 0x73, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x52, + 0x02, 0x74, 0x78, 0x12, 0x88, 0x01, 0x0a, 0x02, 0x72, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x78, 0x2e, 0x63, 0x69, 0x73, 0x63, 0x6f, 0x5f, 0x69, 0x6f, 0x73, 0x5f, 0x78, 0x72, 0x5f, + 0x69, 0x70, 0x76, 0x34, 0x5f, 0x62, 0x67, 0x70, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x62, 0x67, + 0x70, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x72, 0x66, + 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, + 0x62, 0x6f, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x5f, 0x6e, 0x62, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x52, 0x02, 0x72, 0x78, 0x22, 0x92, + 0x07, 0x0a, 0x11, 0x62, 0x67, 0x70, 0x5f, 0x6e, 0x62, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x73, 0x12, 0x8a, 0x01, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x76, 0x2e, 0x63, 0x69, 0x73, 0x63, 0x6f, 0x5f, 0x69, 0x6f, 0x73, 0x5f, + 0x78, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x62, 0x67, 0x70, 0x5f, 0x6f, 0x70, 0x65, 0x72, + 0x2e, 0x62, 0x67, 0x70, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, + 0x76, 0x72, 0x66, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x2e, 0x6e, 0x65, + 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x5f, 0x6e, 0x62, 0x72, 0x5f, 0x6d, + 0x73, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x6f, 0x70, 0x52, 0x04, 0x6f, 0x70, 0x65, + 0x6e, 0x12, 0x9a, 0x01, 0x0a, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x76, 0x2e, 0x63, 0x69, 0x73, 0x63, 0x6f, + 0x5f, 0x69, 0x6f, 0x73, 0x5f, 0x78, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x62, 0x67, 0x70, + 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x72, 0x66, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, + 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x5f, + 0x6e, 0x62, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x6f, 0x70, + 0x52, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x8e, + 0x01, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x76, 0x2e, 0x63, 0x69, 0x73, 0x63, 0x6f, 0x5f, 0x69, 0x6f, 0x73, 0x5f, 0x78, 0x72, 0x5f, 0x69, + 0x70, 0x76, 0x34, 0x5f, 0x62, 0x67, 0x70, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x62, 0x67, 0x70, + 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x72, 0x66, 0x2e, + 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, + 0x6f, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x5f, 0x6e, 0x62, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x73, 0x5f, 0x6f, 0x70, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, + 0x94, 0x01, 0x0a, 0x09, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x76, 0x2e, 0x63, 0x69, 0x73, 0x63, 0x6f, 0x5f, 0x69, 0x6f, 0x73, 0x5f, + 0x78, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x62, 0x67, 0x70, 0x5f, 0x6f, 0x70, 0x65, 0x72, + 0x2e, 0x62, 0x67, 0x70, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, + 0x76, 0x72, 0x66, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x2e, 0x6e, 0x65, + 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x5f, 0x6e, 0x62, 0x72, 0x5f, 0x6d, + 0x73, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x6f, 0x70, 0x52, 0x09, 0x6b, 0x65, 0x65, + 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x9b, 0x01, 0x0a, 0x0d, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x76, + 0x2e, 0x63, 0x69, 0x73, 0x63, 0x6f, 0x5f, 0x69, 0x6f, 0x73, 0x5f, 0x78, 0x72, 0x5f, 0x69, 0x70, + 0x76, 0x34, 0x5f, 0x62, 0x67, 0x70, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x2e, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x72, 0x66, 0x2e, 0x6e, + 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, + 0x72, 0x2e, 0x62, 0x67, 0x70, 0x5f, 0x6e, 0x62, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x73, 0x5f, 0x6f, 0x70, 0x52, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x66, + 0x72, 0x65, 0x73, 0x68, 0x12, 0x8c, 0x01, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x76, 0x2e, 0x63, 0x69, 0x73, 0x63, 0x6f, 0x5f, 0x69, 0x6f, 0x73, + 0x5f, 0x78, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x62, 0x67, 0x70, 0x5f, 0x6f, 0x70, 0x65, + 0x72, 0x2e, 0x62, 0x67, 0x70, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2e, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x5f, 0x76, 0x72, 0x66, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x2e, 0x6e, + 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x5f, 0x6e, 0x62, 0x72, 0x5f, + 0x6d, 0x73, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x6f, 0x70, 0x52, 0x05, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x22, 0xe6, 0x02, 0x0a, 0x0e, 0x62, 0x67, 0x70, 0x5f, 0x6e, 0x62, 0x72, 0x5f, + 0x67, 0x73, 0x68, 0x75, 0x74, 0x5f, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x73, 0x68, 0x75, 0x74, 0x5f, + 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x67, 0x73, + 0x68, 0x75, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x67, 0x73, 0x68, + 0x75, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x67, 0x73, 0x68, 0x75, 0x74, 0x4c, 0x6f, 0x63, 0x61, + 0x6c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x73, 0x68, 0x75, 0x74, + 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x67, + 0x73, 0x68, 0x75, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x67, 0x73, + 0x68, 0x75, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x70, 0x72, 0x65, 0x66, 0x5f, 0x73, 0x65, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x67, 0x73, 0x68, 0x75, 0x74, 0x4c, 0x6f, 0x63, 0x70, + 0x72, 0x65, 0x66, 0x53, 0x65, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x73, 0x68, 0x75, 0x74, 0x5f, + 0x6c, 0x6f, 0x63, 0x70, 0x72, 0x65, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x67, + 0x73, 0x68, 0x75, 0x74, 0x4c, 0x6f, 0x63, 0x70, 0x72, 0x65, 0x66, 0x12, 0x25, 0x0a, 0x0e, 0x67, + 0x73, 0x68, 0x75, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x67, 0x73, 0x68, 0x75, 0x74, 0x50, 0x72, 0x65, 0x70, 0x65, 0x6e, + 0x64, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x67, 0x73, 0x68, 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x14, 0x67, 0x73, 0x68, 0x75, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, + 0x63, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x67, 0x73, 0x68, 0x75, + 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x67, 0x73, 0x68, 0x75, 0x74, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0x8b, 0x48, 0x0a, + 0x0b, 0x62, 0x67, 0x70, 0x5f, 0x6e, 0x62, 0x72, 0x5f, 0x62, 0x61, 0x67, 0x12, 0x1d, 0x0a, 0x0a, + 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x09, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x33, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, + 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x73, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x5f, 0x61, 0x73, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x41, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x68, 0x61, 0x73, 0x5f, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x36, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0f, 0x68, 0x61, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x6e, + 0x6b, 0x12, 0x5b, 0x0a, 0x2b, 0x69, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x6c, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x18, 0x37, 0x20, 0x01, 0x28, 0x08, 0x52, 0x26, 0x69, 0x73, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x4e, 0x6f, 0x74, 0x44, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x2b, + 0x0a, 0x11, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x64, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x39, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x53, 0x65, 0x6e, 0x74, + 0x12, 0x2c, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x49, 0x6e, 0x12, 0x2e, + 0x0a, 0x13, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x4f, 0x75, 0x74, 0x12, 0x2c, + 0x0a, 0x12, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, + 0x64, 0x5f, 0x69, 0x6e, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x49, 0x6e, 0x12, 0x2e, 0x0a, 0x13, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x5f, + 0x6f, 0x75, 0x74, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x73, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x4f, 0x75, 0x74, 0x12, 0x3e, 0x0a, 0x1b, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x73, 0x74, 0x61, 0x62, + 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x3e, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x19, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x73, 0x74, + 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x3f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3a, 0x0a, 0x19, 0x70, 0x72, 0x65, 0x76, 0x69, + 0x6f, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x40, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x70, 0x72, 0x65, 0x76, + 0x69, 0x6f, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x41, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x15, 0x6f, + 0x70, 0x65, 0x6e, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, + 0x63, 0x6f, 0x64, 0x65, 0x18, 0x42, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6f, 0x70, 0x65, 0x6e, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0xa8, + 0x01, 0x0a, 0x18, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x43, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x6e, 0x2e, 0x63, 0x69, 0x73, 0x63, 0x6f, 0x5f, 0x69, 0x6f, 0x73, 0x5f, 0x78, 0x72, + 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x62, 0x67, 0x70, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x62, + 0x67, 0x70, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x61, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x72, + 0x66, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x69, 0x67, + 0x68, 0x62, 0x6f, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x74, 0x79, 0x70, + 0x65, 0x52, 0x16, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, + 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a, 0x1b, 0x69, 0x73, 0x5f, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x18, 0x44, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, + 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x72, + 0x74, 0x18, 0x45, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x12, 0xaa, 0x01, 0x0a, + 0x19, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x46, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x6e, 0x2e, 0x63, 0x69, 0x73, 0x63, 0x6f, 0x5f, 0x69, 0x6f, 0x73, 0x5f, 0x78, 0x72, 0x5f, + 0x69, 0x70, 0x76, 0x34, 0x5f, 0x62, 0x67, 0x70, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x62, 0x67, + 0x70, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x72, 0x66, + 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, + 0x62, 0x6f, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x74, 0x79, 0x70, 0x65, + 0x52, 0x17, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x70, + 0x6f, 0x72, 0x74, 0x18, 0x47, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, + 0x3a, 0x0a, 0x19, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x48, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x17, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x66, 0x61, 0x63, 0x65, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x72, + 0x65, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x49, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x72, 0x65, + 0x73, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x65, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x1d, 0x69, 0x73, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x69, + 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x5f, 0x73, 0x68, 0x75, 0x74, 0x5f, + 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x4a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x69, 0x73, 0x41, 0x64, + 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x53, 0x68, + 0x75, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x44, 0x0a, 0x1f, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x69, + 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x5f, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x4b, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x1b, 0x69, 0x73, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x4d, 0x61, 0x78, 0x50, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x38, 0x0a, 0x19, + 0x69, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x6f, 0x66, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, + 0x5f, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x4c, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x15, 0x69, 0x73, 0x4f, 0x75, 0x74, 0x4f, 0x66, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x53, 0x68, + 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x39, 0x0a, 0x1a, 0x69, 0x73, 0x5f, 0x6f, 0x75, 0x74, + 0x5f, 0x6f, 0x66, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, + 0x64, 0x5f, 0x75, 0x70, 0x18, 0x4d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x73, 0x4f, 0x75, + 0x74, 0x4f, 0x66, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x55, + 0x70, 0x12, 0x32, 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x65, 0x62, 0x67, 0x70, 0x5f, 0x70, 0x65, 0x65, + 0x72, 0x5f, 0x61, 0x73, 0x5f, 0x6c, 0x65, 0x61, 0x67, 0x75, 0x65, 0x18, 0x4e, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x12, 0x69, 0x73, 0x45, 0x62, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x41, 0x73, 0x4c, + 0x65, 0x61, 0x67, 0x75, 0x65, 0x12, 0x38, 0x0a, 0x19, 0x69, 0x73, 0x5f, 0x65, 0x62, 0x67, 0x70, + 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x18, 0x4f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x73, 0x45, 0x62, 0x67, 0x70, + 0x50, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, + 0x30, 0x0a, 0x14, 0x74, 0x74, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x50, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x74, + 0x74, 0x6c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, 0x34, 0x5f, 0x62, + 0x79, 0x74, 0x65, 0x5f, 0x61, 0x73, 0x18, 0x51, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, 0x75, + 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, 0x34, 0x42, 0x79, 0x74, 0x65, 0x41, 0x73, 0x12, 0x2a, 0x0a, + 0x11, 0x62, 0x66, 0x64, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x52, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x62, 0x66, 0x64, 0x53, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x62, 0x66, 0x64, + 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x53, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x62, 0x66, + 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x17, 0x62, 0x66, 0x64, 0x5f, 0x73, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, + 0x54, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x62, 0x66, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x62, + 0x66, 0x64, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x76, 0x61, + 0x6c, 0x18, 0x55, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x62, 0x66, 0x64, 0x4d, 0x69, 0x6e, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x76, 0x61, 0x6c, 0x12, 0x2b, 0x0a, 0x11, 0x62, 0x66, + 0x64, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, + 0x56, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x62, 0x66, 0x64, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, + 0x6c, 0x69, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x20, 0x0a, 0x0c, 0x62, 0x66, 0x64, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x73, 0x18, 0x57, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x62, + 0x66, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x54, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x75, + 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x58, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x1b, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x59, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x6e, 0x65, 0x67, + 0x6f, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x11, 0x65, 0x62, 0x67, 0x70, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x5a, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0e, 0x65, 0x62, 0x67, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x6f, 0x4c, 0x69, 0x76, + 0x65, 0x12, 0x5d, 0x0a, 0x2c, 0x69, 0x73, 0x5f, 0x65, 0x62, 0x67, 0x70, 0x5f, 0x6d, 0x75, 0x6c, + 0x74, 0x69, 0x68, 0x6f, 0x70, 0x5f, 0x62, 0x67, 0x70, 0x6d, 0x70, 0x6c, 0x73, 0x5f, 0x66, 0x6f, + 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x18, 0x5b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x27, 0x69, 0x73, 0x45, 0x62, 0x67, 0x70, 0x4d, + 0x75, 0x6c, 0x74, 0x69, 0x68, 0x6f, 0x70, 0x42, 0x67, 0x70, 0x6d, 0x70, 0x6c, 0x73, 0x46, 0x6f, + 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x74, 0x63, 0x70, 0x6d, 0x73, 0x73, 0x18, 0x5c, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x74, 0x63, 0x70, 0x6d, 0x73, 0x73, 0x12, 0x1c, 0x0a, 0x0a, 0x6d, 0x73, 0x67, 0x5f, + 0x6c, 0x6f, 0x67, 0x5f, 0x69, 0x6e, 0x18, 0x5d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x73, + 0x67, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x12, 0x1e, 0x0a, 0x0b, 0x6d, 0x73, 0x67, 0x5f, 0x6c, 0x6f, + 0x67, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x5e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x73, 0x67, + 0x4c, 0x6f, 0x67, 0x4f, 0x75, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, + 0x6f, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x73, 0x18, 0x5f, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x6c, + 0x41, 0x73, 0x12, 0x2d, 0x0a, 0x13, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x73, 0x5f, 0x6e, + 0x6f, 0x5f, 0x70, 0x72, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x60, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x73, 0x4e, 0x6f, 0x50, 0x72, 0x65, 0x70, 0x65, 0x6e, + 0x64, 0x12, 0x4f, 0x0a, 0x24, 0x69, 0x73, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x5f, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, + 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x61, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x21, 0x69, 0x73, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4e, 0x65, 0x67, + 0x6f, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x65, 0x64, 0x12, 0x4d, 0x0a, 0x23, 0x69, 0x73, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x5f, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x18, 0x62, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x20, 0x69, 0x73, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4e, 0x65, 0x67, + 0x6f, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x65, + 0x64, 0x12, 0x4e, 0x0a, 0x24, 0x69, 0x73, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x72, 0x65, + 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x63, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x20, 0x69, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, + 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x64, 0x12, 0x55, 0x0a, 0x28, 0x69, 0x73, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x72, 0x65, + 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x64, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x23, 0x69, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x66, 0x72, + 0x65, 0x73, 0x68, 0x4f, 0x6c, 0x64, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x67, + 0x72, 0x5f, 0x61, 0x77, 0x61, 0x72, 0x65, 0x18, 0x65, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, + 0x73, 0x47, 0x72, 0x41, 0x77, 0x61, 0x72, 0x65, 0x12, 0x44, 0x0a, 0x1f, 0x69, 0x73, 0x34, 0x5f, + 0x62, 0x79, 0x74, 0x65, 0x5f, 0x61, 0x73, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x66, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x1b, 0x69, 0x73, 0x34, 0x42, 0x79, 0x74, 0x65, 0x41, 0x73, 0x43, 0x61, 0x70, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x3c, + 0x0a, 0x1b, 0x69, 0x73, 0x34, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x5f, 0x61, 0x73, 0x5f, 0x63, 0x61, + 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x67, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x17, 0x69, 0x73, 0x34, 0x42, 0x79, 0x74, 0x65, 0x41, 0x73, 0x43, 0x61, + 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x65, 0x6e, 0x74, 0x12, 0x4b, 0x0a, 0x22, + 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x63, + 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x64, 0x18, 0x68, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x6c, + 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x69, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x68, 0x6f, + 0x6c, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x61, + 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x6a, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0d, 0x6b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x30, + 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x6c, + 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x6b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x48, 0x6f, 0x6c, 0x64, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x31, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x6b, + 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x6c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, + 0x69, 0x76, 0x65, 0x12, 0x3e, 0x0a, 0x1c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, + 0x64, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x6d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x65, 0x64, 0x4d, 0x69, 0x6e, 0x41, 0x63, 0x63, 0x48, 0x6f, 0x6c, 0x64, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x6d, 0x69, 0x6e, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, + 0x74, 0x69, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x6e, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x14, 0x6d, 0x69, 0x6e, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, + 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x3f, 0x0a, 0x1c, 0x6d, 0x69, 0x6e, + 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x5f, 0x6d, 0x73, 0x65, 0x63, 0x73, 0x18, 0x6f, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x19, 0x6d, 0x69, 0x6e, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x73, 0x65, 0x63, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x6d, 0x69, + 0x6e, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x70, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x6d, 0x69, + 0x6e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x76, 0x61, 0x6c, 0x12, 0x34, 0x0a, 0x16, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, + 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x71, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x74, + 0x72, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x16, 0x74, 0x69, + 0x6d, 0x65, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x18, 0x72, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x74, 0x69, 0x6d, 0x65, + 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, + 0x2f, 0x0a, 0x14, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, + 0x73, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x18, 0x73, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x74, + 0x69, 0x6d, 0x65, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x61, 0x64, + 0x12, 0x3a, 0x0a, 0x1a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c, + 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x74, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, + 0x61, 0x73, 0x74, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x65, 0x74, 0x12, 0x20, 0x0a, 0x0c, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x62, 0x18, 0x75, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x43, 0x62, 0x12, 0x2b, + 0x0a, 0x12, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x62, 0x5f, 0x72, + 0x65, 0x73, 0x65, 0x74, 0x18, 0x76, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x69, 0x6d, 0x65, + 0x4c, 0x61, 0x73, 0x74, 0x43, 0x62, 0x52, 0x65, 0x73, 0x65, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x62, 0x18, 0x77, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x46, 0x62, 0x12, 0x28, 0x0a, + 0x10, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x18, 0x78, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x61, + 0x73, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x15, 0x74, 0x69, 0x6d, 0x65, 0x5f, + 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x18, 0x79, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x69, 0x6e, 0x63, + 0x65, 0x4c, 0x61, 0x73, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x1a, 0x61, 0x74, + 0x74, 0x65, 0x6d, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x77, 0x72, 0x69, + 0x74, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x7a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, + 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x73, 0x74, 0x57, 0x72, 0x69, + 0x74, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x17, 0x61, 0x63, 0x74, 0x75, 0x61, + 0x6c, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x62, 0x79, 0x74, + 0x65, 0x73, 0x18, 0x7b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, + 0x4c, 0x61, 0x73, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x3e, + 0x0a, 0x1c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x63, + 0x6f, 0x6e, 0x64, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x7c, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x53, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x4c, 0x61, 0x73, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x48, + 0x0a, 0x21, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x6f, + 0x6e, 0x64, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x62, 0x79, + 0x74, 0x65, 0x73, 0x18, 0x7d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1d, 0x61, 0x74, 0x74, 0x65, 0x6d, + 0x70, 0x74, 0x65, 0x64, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x4c, 0x61, 0x73, 0x74, 0x57, 0x72, + 0x69, 0x74, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x1e, 0x61, 0x63, 0x74, 0x75, + 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x77, + 0x72, 0x69, 0x74, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x7e, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x1a, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x4c, 0x61, + 0x73, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x1b, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, + 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x7f, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x17, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, + 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x65, 0x74, 0x12, 0x47, 0x0a, 0x20, 0x61, 0x74, + 0x74, 0x65, 0x6d, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x77, 0x72, 0x69, + 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x80, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1c, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x65, 0x64, + 0x4c, 0x61, 0x73, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x65, 0x74, 0x42, 0x79, + 0x74, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x1d, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x6c, 0x61, + 0x73, 0x74, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x62, + 0x79, 0x74, 0x65, 0x73, 0x18, 0x81, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x61, 0x63, 0x74, + 0x75, 0x61, 0x6c, 0x4c, 0x61, 0x73, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x65, + 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x22, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, + 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x6c, 0x61, 0x73, 0x74, + 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x82, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x1d, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x53, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x4c, 0x61, 0x73, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x65, 0x74, 0x12, 0x54, 0x0a, 0x27, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x65, 0x64, 0x5f, + 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x83, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x22, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x65, 0x64, 0x53, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x4c, 0x61, 0x73, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x65, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x24, 0x61, 0x63, 0x74, 0x75, + 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x77, + 0x72, 0x69, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, + 0x18, 0x84, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1f, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x53, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x4c, 0x61, 0x73, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x65, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, + 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x85, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x6c, 0x61, + 0x73, 0x74, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x86, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x4c, 0x61, 0x73, + 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x6c, + 0x61, 0x73, 0x74, 0x5f, 0x6b, 0x5f, 0x61, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x5f, 0x72, 0x65, + 0x73, 0x65, 0x74, 0x18, 0x87, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, + 0x4b, 0x41, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x52, 0x65, 0x73, 0x65, 0x74, 0x12, 0x3d, 0x0a, + 0x1b, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6b, 0x5f, 0x61, + 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x88, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x17, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x4c, 0x61, 0x73, 0x74, 0x4b, + 0x41, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x52, 0x65, 0x73, 0x65, 0x74, 0x12, 0x32, 0x0a, 0x15, + 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6b, 0x5f, 0x61, 0x6e, 0x6f, 0x74, 0x73, 0x65, 0x6e, 0x74, 0x5f, + 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x89, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6c, 0x61, + 0x73, 0x74, 0x4b, 0x41, 0x6e, 0x6f, 0x74, 0x73, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, + 0x12, 0x2e, 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6b, 0x5f, 0x61, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x8a, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, + 0x6c, 0x61, 0x73, 0x74, 0x4b, 0x41, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x65, 0x74, + 0x12, 0x2e, 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6b, 0x5f, 0x61, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x8b, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, + 0x6c, 0x61, 0x73, 0x74, 0x4b, 0x41, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, + 0x12, 0x3b, 0x0a, 0x1a, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, + 0x6b, 0x5f, 0x61, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x8c, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x4c, 0x61, 0x73, + 0x74, 0x4b, 0x41, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, 0x12, 0x2f, 0x0a, + 0x13, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x70, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x8d, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x33, + 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x6f, 0x77, + 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x8e, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x6f, 0x77, 0x6e, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x4b, 0x0a, 0x22, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x69, 0x6e, 0x63, + 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x73, + 0x74, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x18, 0x8f, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x1e, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x73, 0x74, 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, + 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x18, 0x90, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, + 0x65, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x91, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x70, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, + 0x63, 0x6f, 0x64, 0x65, 0x18, 0x92, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x65, 0x65, + 0x72, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x6c, 0x61, + 0x73, 0x74, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, + 0x63, 0x6f, 0x64, 0x65, 0x18, 0x93, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6c, 0x61, 0x73, + 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, + 0x12, 0x3a, 0x0a, 0x19, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x75, 0x62, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x94, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x75, 0x62, 0x63, 0x6f, 0x64, 0x65, 0x12, 0xa7, 0x01, 0x0a, + 0x16, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x95, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x70, + 0x2e, 0x63, 0x69, 0x73, 0x63, 0x6f, 0x5f, 0x69, 0x6f, 0x73, 0x5f, 0x78, 0x72, 0x5f, 0x69, 0x70, + 0x76, 0x34, 0x5f, 0x62, 0x67, 0x70, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x2e, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x72, 0x66, 0x2e, 0x6e, + 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, + 0x72, 0x2e, 0x62, 0x67, 0x70, 0x5f, 0x6e, 0x6f, 0x74, 0x66, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x5f, + 0x52, 0x14, 0x73, 0x65, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0xaf, 0x01, 0x0a, 0x1a, 0x72, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x64, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x96, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x70, 0x2e, 0x63, + 0x69, 0x73, 0x63, 0x6f, 0x5f, 0x69, 0x6f, 0x73, 0x5f, 0x78, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x34, + 0x5f, 0x62, 0x67, 0x70, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x2e, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x2e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x72, 0x66, 0x2e, 0x6e, 0x65, 0x69, + 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x2e, + 0x62, 0x67, 0x70, 0x5f, 0x6e, 0x6f, 0x74, 0x66, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x52, 0x18, + 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x37, 0x0a, 0x17, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x64, 0x18, 0x97, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x65, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x64, 0x12, 0x2f, 0x0a, 0x13, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x98, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x11, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x65, 0x73, 0x53, 0x65, + 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x73, 0x5f, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x99, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2d, 0x0a, + 0x12, 0x64, 0x6d, 0x7a, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, + 0x64, 0x74, 0x68, 0x18, 0x9a, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x64, 0x6d, 0x7a, 0x4c, + 0x69, 0x6e, 0x6b, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d, + 0x65, 0x62, 0x67, 0x70, 0x5f, 0x72, 0x65, 0x63, 0x76, 0x5f, 0x64, 0x6d, 0x7a, 0x18, 0x9b, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x65, 0x62, 0x67, 0x70, 0x52, 0x65, 0x63, 0x76, 0x44, 0x6d, + 0x7a, 0x12, 0x2c, 0x0a, 0x12, 0x65, 0x62, 0x67, 0x70, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x64, + 0x6d, 0x7a, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x65, 0x62, 0x67, 0x70, 0x53, 0x65, 0x6e, 0x64, 0x44, 0x6d, 0x7a, 0x4d, 0x6f, 0x64, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x74, 0x6f, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x9d, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x74, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, + 0x6f, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x9e, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x08, 0x74, 0x6f, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0xa7, 0x01, 0x0a, 0x16, 0x70, 0x65, + 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, + 0x74, 0x69, 0x63, 0x73, 0x18, 0x9f, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x6f, 0x2e, 0x63, 0x69, + 0x73, 0x63, 0x6f, 0x5f, 0x69, 0x6f, 0x73, 0x5f, 0x78, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, + 0x62, 0x67, 0x70, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x2e, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x72, 0x66, 0x2e, 0x6e, 0x65, 0x69, 0x67, + 0x68, 0x62, 0x6f, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x2e, 0x62, + 0x67, 0x70, 0x5f, 0x70, 0x65, 0x72, 0x66, 0x5f, 0x6e, 0x62, 0x72, 0x5f, 0x52, 0x15, 0x70, 0x65, + 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, + 0x69, 0x63, 0x73, 0x12, 0x87, 0x01, 0x0a, 0x07, 0x61, 0x66, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, + 0xa0, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x6d, 0x2e, 0x63, 0x69, 0x73, 0x63, 0x6f, 0x5f, 0x69, + 0x6f, 0x73, 0x5f, 0x78, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x62, 0x67, 0x70, 0x5f, 0x6f, + 0x70, 0x65, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x5f, 0x76, 0x72, 0x66, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, + 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x5f, 0x6e, 0x62, + 0x72, 0x5f, 0x61, 0x66, 0x5f, 0x52, 0x06, 0x61, 0x66, 0x44, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, + 0x15, 0x74, 0x63, 0x70, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x65, + 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xa1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x74, + 0x63, 0x70, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x6e, 0x4d, 0x6f, 0x64, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x72, 0x66, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xa2, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, + 0x0a, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x62, 0x79, 0x5f, 0x72, 0x70, 0x18, 0xa3, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x09, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x62, 0x79, 0x52, 0x70, 0x12, 0x20, 0x0a, + 0x0b, 0x6e, 0x73, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0xa4, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6e, 0x73, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, + 0x40, 0x0a, 0x1c, 0x67, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x6e, 0x62, 0x72, 0x18, + 0xa5, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x67, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, + 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x62, + 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x67, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0xa6, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x67, 0x72, 0x52, + 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x67, 0x72, + 0x5f, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x67, 0x72, 0x53, 0x74, 0x61, 0x6c, 0x65, + 0x50, 0x61, 0x74, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x73, 0x73, 0x6e, + 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0xa8, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, + 0x66, 0x73, 0x73, 0x6e, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x70, + 0x62, 0x73, 0x6e, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0xa9, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0b, 0x66, 0x70, 0x62, 0x73, 0x6e, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x28, + 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x6b, 0x64, 0x5f, 0x73, 0x65, 0x71, 0x5f, + 0x6e, 0x6f, 0x18, 0xaa, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x41, + 0x63, 0x6b, 0x64, 0x53, 0x65, 0x71, 0x4e, 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x79, 0x74, 0x65, + 0x73, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x18, 0xab, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x57, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x12, 0x1e, + 0x0a, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x18, 0xac, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x61, 0x64, 0x12, 0x2b, + 0x0a, 0x11, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x62, 0x79, + 0x74, 0x65, 0x73, 0x18, 0xad, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x73, 0x6f, 0x63, 0x6b, + 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x69, + 0x73, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, + 0xae, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x52, 0x65, 0x61, 0x64, 0x44, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x18, 0xaf, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, + 0x65, 0x61, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x73, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0xb0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x73, 0x72, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, + 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0xb1, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, + 0x50, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x14, + 0x6e, 0x62, 0x72, 0x5f, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x72, 0x73, + 0x74, 0x5f, 0x61, 0x73, 0x18, 0xb2, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6e, 0x62, 0x72, + 0x45, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x46, 0x69, 0x72, 0x73, 0x74, 0x41, 0x73, 0x12, 0x2d, + 0x0a, 0x12, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x6d, 0x70, 0x5f, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x73, 0x18, 0xb3, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x42, 0x6d, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x25, 0x0a, + 0x0e, 0x6e, 0x62, 0x72, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0xb4, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6e, 0x62, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x62, 0x72, 0x5f, 0x69, 0x6e, 0x5f, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0xb5, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6e, + 0x62, 0x72, 0x49, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x69, + 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, + 0xb6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x2f, 0x0a, 0x13, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0xb7, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, + 0x70, 0x6e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6f, 0x5f, 0x61, + 0x72, 0x6d, 0x65, 0x64, 0x18, 0xb8, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x6f, 0x41, + 0x72, 0x6d, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x61, 0x72, 0x6d, + 0x65, 0x64, 0x18, 0xb9, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x61, 0x64, 0x41, + 0x72, 0x6d, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x61, 0x72, + 0x6d, 0x65, 0x64, 0x18, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x41, 0x72, 0x6d, 0x65, 0x64, 0x12, 0xa3, 0x01, 0x0a, 0x12, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0xbb, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x73, 0x2e, 0x63, 0x69, 0x73, 0x63, 0x6f, 0x5f, 0x69, 0x6f, 0x73, + 0x5f, 0x78, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x62, 0x67, 0x70, 0x5f, 0x6f, 0x70, 0x65, + 0x72, 0x2e, 0x62, 0x67, 0x70, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2e, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x5f, 0x76, 0x72, 0x66, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x2e, 0x6e, + 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x5f, 0x6e, 0x62, 0x72, 0x5f, + 0x6d, 0x73, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x52, 0x11, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x2d, 0x0a, 0x12, + 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x62, 0x79, 0x74, + 0x65, 0x73, 0x18, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x64, 0x69, 0x73, 0x63, 0x61, + 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, + 0x61, 0x73, 0x18, 0xbd, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x41, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x41, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x73, 0x5f, 0x64, 0x75, 0x61, 0x6c, 0x5f, 0x61, 0x73, 0x18, + 0xbe, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x73, 0x44, + 0x75, 0x61, 0x6c, 0x41, 0x73, 0x12, 0x3e, 0x0a, 0x1c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, + 0x73, 0x5f, 0x64, 0x75, 0x61, 0x6c, 0x5f, 0x61, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x6e, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0xbf, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x41, 0x73, 0x44, 0x75, 0x61, 0x6c, 0x41, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x4e, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x12, 0x46, 0x0a, 0x1f, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, + 0x70, 0x65, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, + 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0xc0, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x1c, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, 0x65, 0x65, 0x72, 0x45, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0xa5, 0x01, + 0x0a, 0x17, 0x74, 0x63, 0x70, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0xc1, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x6e, 0x2e, 0x63, 0x69, 0x73, 0x63, 0x6f, 0x5f, 0x69, 0x6f, 0x73, 0x5f, 0x78, 0x72, 0x5f, + 0x69, 0x70, 0x76, 0x34, 0x5f, 0x62, 0x67, 0x70, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x62, 0x67, + 0x70, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x72, 0x66, + 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, + 0x62, 0x6f, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x70, 0x65, 0x63, + 0x52, 0x13, 0x74, 0x63, 0x70, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x69, 0x6d, + 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0xb7, 0x01, 0x0a, 0x21, 0x74, 0x63, 0x70, 0x5f, 0x69, 0x6e, + 0x69, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x74, 0x77, + 0x6f, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0xc2, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x6e, 0x2e, 0x63, 0x69, 0x73, 0x63, 0x6f, 0x5f, 0x69, 0x6f, 0x73, 0x5f, 0x78, + 0x72, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x62, 0x67, 0x70, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x2e, + 0x62, 0x67, 0x70, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, + 0x72, 0x66, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x69, + 0x67, 0x68, 0x62, 0x6f, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x70, + 0x65, 0x63, 0x52, 0x1b, 0x74, 0x63, 0x70, 0x49, 0x6e, 0x69, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x50, + 0x68, 0x61, 0x73, 0x65, 0x54, 0x77, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, + 0xae, 0x01, 0x0a, 0x1c, 0x74, 0x63, 0x70, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x73, 0x79, 0x6e, + 0x63, 0x5f, 0x64, 0x6f, 0x6e, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, + 0x18, 0xc3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x6e, 0x2e, 0x63, 0x69, 0x73, 0x63, 0x6f, 0x5f, + 0x69, 0x6f, 0x73, 0x5f, 0x78, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x62, 0x67, 0x70, 0x5f, + 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x72, 0x66, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, + 0x73, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x70, 0x65, 0x63, 0x52, 0x17, 0x74, 0x63, 0x70, 0x49, 0x6e, 0x69, 0x74, + 0x53, 0x79, 0x6e, 0x63, 0x44, 0x6f, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x65, 0x63, + 0x12, 0x29, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x61, 0x73, 0x34, 0x5f, + 0x70, 0x61, 0x74, 0x68, 0x18, 0xc4, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x64, 0x69, 0x73, + 0x63, 0x61, 0x72, 0x64, 0x41, 0x73, 0x34, 0x50, 0x61, 0x74, 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x72, + 0x70, 0x6b, 0x69, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18, 0xc5, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0b, 0x72, 0x70, 0x6b, 0x69, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, + 0x2b, 0x0a, 0x11, 0x72, 0x70, 0x6b, 0x69, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x69, 0x74, 0x79, 0x18, 0xc6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, 0x70, 0x6b, + 0x69, 0x55, 0x73, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x12, 0x2d, 0x0a, 0x12, + 0x72, 0x70, 0x6b, 0x69, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x18, 0xc7, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x72, 0x70, 0x6b, 0x69, 0x41, + 0x6c, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x72, + 0x70, 0x6b, 0x69, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x62, 0x67, 0x70, 0x18, + 0xc8, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x72, 0x70, 0x6b, 0x69, 0x53, 0x69, 0x67, 0x6e, + 0x61, 0x6c, 0x49, 0x62, 0x67, 0x70, 0x12, 0xa4, 0x01, 0x0a, 0x14, 0x67, 0x72, 0x61, 0x63, 0x65, + 0x66, 0x75, 0x6c, 0x5f, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x18, + 0xc9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x70, 0x2e, 0x63, 0x69, 0x73, 0x63, 0x6f, 0x5f, 0x69, + 0x6f, 0x73, 0x5f, 0x78, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x62, 0x67, 0x70, 0x5f, 0x6f, + 0x70, 0x65, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x5f, 0x76, 0x72, 0x66, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, + 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x2e, 0x62, 0x67, 0x70, 0x5f, 0x6e, 0x62, + 0x72, 0x5f, 0x67, 0x73, 0x68, 0x75, 0x74, 0x5f, 0x52, 0x13, 0x67, 0x72, 0x61, 0x63, 0x65, 0x66, + 0x75, 0x6c, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, + 0x10, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, + 0x72, 0x18, 0xca, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, + 0x63, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x12, 0x46, 0x0a, 0x1f, 0x6d, 0x65, 0x72, + 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x73, 0x61, 0x66, 0x69, 0x31, + 0x61, 0x6e, 0x64, 0x34, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0xcb, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x1c, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, + 0x64, 0x53, 0x61, 0x66, 0x69, 0x31, 0x61, 0x6e, 0x64, 0x34, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x73, 0x12, 0x42, 0x0a, 0x1d, 0x69, 0x73, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x5f, 0x65, 0x6e, 0x68, 0x65, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x65, 0x64, 0x18, 0xcc, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x69, 0x73, 0x43, 0x61, 0x70, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x68, 0x65, 0x53, 0x75, 0x70, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x65, 0x64, 0x12, 0x33, 0x0a, 0x15, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0xcd, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_proto_telemetry_bgp_bgp_nbr_bag_proto_rawDescOnce sync.Once + file_proto_telemetry_bgp_bgp_nbr_bag_proto_rawDescData = file_proto_telemetry_bgp_bgp_nbr_bag_proto_rawDesc +) + +func file_proto_telemetry_bgp_bgp_nbr_bag_proto_rawDescGZIP() []byte { + file_proto_telemetry_bgp_bgp_nbr_bag_proto_rawDescOnce.Do(func() { + file_proto_telemetry_bgp_bgp_nbr_bag_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_telemetry_bgp_bgp_nbr_bag_proto_rawDescData) + }) + return file_proto_telemetry_bgp_bgp_nbr_bag_proto_rawDescData +} + +var file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes = make([]protoimpl.MessageInfo, 17) +var file_proto_telemetry_bgp_bgp_nbr_bag_proto_goTypes = []interface{}{ + (*BgpNbrBag_KEYS)(nil), // 0: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_bag_KEYS + (*BgpL2VpnAddrT)(nil), // 1: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_l2vpn_addr_t + (*BgpL2VpnEvpnAddrT)(nil), // 2: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_l2vpn_evpn_addr_t + (*BgpL2VpnMspwAddrT)(nil), // 3: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_l2vpn_mspw_addr_t + (*BgpIpv4SrpolicyAddrT)(nil), // 4: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_ipv4_srpolicy_addr_t + (*BgpIpv6SrpolicyAddrT)(nil), // 5: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_ipv6_srpolicy_addr_t + (*BgpAddrtype)(nil), // 6: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_addrtype + (*BgpNotfntype_)(nil), // 7: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_notfntype_ + (*BgpPerfNbr_)(nil), // 8: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_perf_nbr_ + (*BgpPerfNbrAf_)(nil), // 9: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_perf_nbr_af_ + (*BgpNbrAf_)(nil), // 10: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_af_ + (*BgpTimespec)(nil), // 11: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_timespec + (*BgpNbrMsgStatsUnit)(nil), // 12: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_msg_stats_unit + (*BgpNbrMsgStatsOp)(nil), // 13: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_msg_stats_op + (*BgpNbrMsgStats)(nil), // 14: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_msg_stats + (*BgpNbrGshut_)(nil), // 15: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_gshut_ + (*BgpNbrBag)(nil), // 16: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_bag +} +var file_proto_telemetry_bgp_bgp_nbr_bag_proto_depIdxs = []int32{ + 1, // 0: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_addrtype.l2vpnvpls_address:type_name -> cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_l2vpn_addr_t + 2, // 1: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_addrtype.l2vpn_evpn_address:type_name -> cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_l2vpn_evpn_addr_t + 3, // 2: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_addrtype.l2vpn_mspw_address:type_name -> cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_l2vpn_mspw_addr_t + 4, // 3: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_addrtype.ipv4sr_policy_address:type_name -> cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_ipv4_srpolicy_addr_t + 5, // 4: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_addrtype.ipv6sr_policy_address:type_name -> cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_ipv6_srpolicy_addr_t + 9, // 5: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_af_.neighbor_af_performance_statistics:type_name -> cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_perf_nbr_af_ + 11, // 6: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_msg_stats_unit.last_time_spec:type_name -> cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_timespec + 12, // 7: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_msg_stats_op.tx:type_name -> cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_msg_stats_unit + 12, // 8: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_msg_stats_op.rx:type_name -> cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_msg_stats_unit + 13, // 9: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_msg_stats.open:type_name -> cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_msg_stats_op + 13, // 10: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_msg_stats.notification:type_name -> cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_msg_stats_op + 13, // 11: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_msg_stats.update:type_name -> cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_msg_stats_op + 13, // 12: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_msg_stats.keepalive:type_name -> cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_msg_stats_op + 13, // 13: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_msg_stats.route_refresh:type_name -> cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_msg_stats_op + 13, // 14: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_msg_stats.total:type_name -> cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_msg_stats_op + 6, // 15: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_bag.connection_local_address:type_name -> cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_addrtype + 6, // 16: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_bag.connection_remote_address:type_name -> cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_addrtype + 7, // 17: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_bag.send_notification_info:type_name -> cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_notfntype_ + 7, // 18: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_bag.received_notification_info:type_name -> cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_notfntype_ + 8, // 19: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_bag.performance_statistics:type_name -> cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_perf_nbr_ + 10, // 20: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_bag.af_data:type_name -> cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_af_ + 14, // 21: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_bag.message_statistics:type_name -> cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_msg_stats + 11, // 22: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_bag.tcp_init_sync_time_spec:type_name -> cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_timespec + 11, // 23: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_bag.tcp_init_sync_phase_two_time_spec:type_name -> cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_timespec + 11, // 24: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_bag.tcp_init_sync_done_time_spec:type_name -> cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_timespec + 15, // 25: cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_bag.graceful_maintenance:type_name -> cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor.bgp_nbr_gshut_ + 26, // [26:26] is the sub-list for method output_type + 26, // [26:26] is the sub-list for method input_type + 26, // [26:26] is the sub-list for extension type_name + 26, // [26:26] is the sub-list for extension extendee + 0, // [0:26] is the sub-list for field type_name +} + +func init() { file_proto_telemetry_bgp_bgp_nbr_bag_proto_init() } +func file_proto_telemetry_bgp_bgp_nbr_bag_proto_init() { + if File_proto_telemetry_bgp_bgp_nbr_bag_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BgpNbrBag_KEYS); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BgpL2VpnAddrT); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BgpL2VpnEvpnAddrT); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BgpL2VpnMspwAddrT); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BgpIpv4SrpolicyAddrT); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BgpIpv6SrpolicyAddrT); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BgpAddrtype); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BgpNotfntype_); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BgpPerfNbr_); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BgpPerfNbrAf_); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BgpNbrAf_); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BgpTimespec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BgpNbrMsgStatsUnit); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BgpNbrMsgStatsOp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BgpNbrMsgStats); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BgpNbrGshut_); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BgpNbrBag); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_proto_telemetry_bgp_bgp_nbr_bag_proto_rawDesc, + NumEnums: 0, + NumMessages: 17, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_proto_telemetry_bgp_bgp_nbr_bag_proto_goTypes, + DependencyIndexes: file_proto_telemetry_bgp_bgp_nbr_bag_proto_depIdxs, + MessageInfos: file_proto_telemetry_bgp_bgp_nbr_bag_proto_msgTypes, + }.Build() + File_proto_telemetry_bgp_bgp_nbr_bag_proto = out.File + file_proto_telemetry_bgp_bgp_nbr_bag_proto_rawDesc = nil + file_proto_telemetry_bgp_bgp_nbr_bag_proto_goTypes = nil + file_proto_telemetry_bgp_bgp_nbr_bag_proto_depIdxs = nil } diff --git a/proto/telemetry/bgp4/bgp_nbr_bag.proto b/proto/telemetry/bgp4/bgp_nbr_bag.proto index 393eb46..d61de2b 100644 --- a/proto/telemetry/bgp4/bgp_nbr_bag.proto +++ b/proto/telemetry/bgp4/bgp_nbr_bag.proto @@ -1,756 +1,663 @@ -// Copyright (c) 2015, Cisco Systems -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// 1. Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the copyright holder nor the names of its -// contributors may be used to endorse or promote products derived -// from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// This file is autogenerated +// Apache License +// Version 2.0, January 2004 +// http://www.apache.org/licenses/ +// +// TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +// +// 1. Definitions. +// +// "License" shall mean the terms and conditions for use, reproduction, +// and distribution as defined by Sections 1 through 9 of this document. +// +// "Licensor" shall mean the copyright owner or entity authorized by +// the copyright owner that is granting the License. +// +// "Legal Entity" shall mean the union of the acting entity and all +// other entities that control, are controlled by, or are under common +// control with that entity. For the purposes of this definition, +// "control" means (i) the power, direct or indirect, to cause the +// direction or management of such entity, whether by contract or +// otherwise, or (ii) ownership of fifty percent (50%) or more of the +// outstanding shares, or (iii) beneficial ownership of such entity. +// +// "You" (or "Your") shall mean an individual or Legal Entity +// exercising permissions granted by this License. +// +// "Source" form shall mean the preferred form for making modifications, +// including but not limited to software source code, documentation +// source, and configuration files. +// +// "Object" form shall mean any form resulting from mechanical +// transformation or translation of a Source form, including but +// not limited to compiled object code, generated documentation, +// and conversions to other media types. +// +// "Work" shall mean the work of authorship, whether in Source or +// Object form, made available under the License, as indicated by a +// copyright notice that is included in or attached to the work +// (an example is provided in the Appendix below). +// +// "Derivative Works" shall mean any work, whether in Source or Object +// form, that is based on (or derived from) the Work and for which the +// editorial revisions, annotations, elaborations, or other modifications +// represent, as a whole, an original work of authorship. For the purposes +// of this License, Derivative Works shall not include works that remain +// separable from, or merely link (or bind by name) to the interfaces of, +// the Work and Derivative Works thereof. +// +// "Contribution" shall mean any work of authorship, including +// the original version of the Work and any modifications or additions +// to that Work or Derivative Works thereof, that is intentionally +// submitted to Licensor for inclusion in the Work by the copyright owner +// or by an individual or Legal Entity authorized to submit on behalf of +// the copyright owner. For the purposes of this definition, "submitted" +// means any form of electronic, verbal, or written communication sent +// to the Licensor or its representatives, including but not limited to +// communication on electronic mailing lists, source code control systems, +// and issue tracking systems that are managed by, or on behalf of, the +// Licensor for the purpose of discussing and improving the Work, but +// excluding communication that is conspicuously marked or otherwise +// designated in writing by the copyright owner as "Not a Contribution." +// +// "Contributor" shall mean Licensor and any individual or Legal Entity +// on behalf of whom a Contribution has been received by Licensor and +// subsequently incorporated within the Work. +// +// 2. Grant of Copyright License. Subject to the terms and conditions of +// this License, each Contributor hereby grants to You a perpetual, +// worldwide, non-exclusive, no-charge, royalty-free, irrevocable +// copyright license to reproduce, prepare Derivative Works of, +// publicly display, publicly perform, sublicense, and distribute the +// Work and such Derivative Works in Source or Object form. +// +// 3. Grant of Patent License. Subject to the terms and conditions of +// this License, each Contributor hereby grants to You a perpetual, +// worldwide, non-exclusive, no-charge, royalty-free, irrevocable +// (except as stated in this section) patent license to make, have made, +// use, offer to sell, sell, import, and otherwise transfer the Work, +// where such license applies only to those patent claims licensable +// by such Contributor that are necessarily infringed by their +// Contribution(s) alone or by combination of their Contribution(s) +// with the Work to which such Contribution(s) was submitted. If You +// institute patent litigation against any entity (including a +// cross-claim or counterclaim in a lawsuit) alleging that the Work +// or a Contribution incorporated within the Work constitutes direct +// or contributory patent infringement, then any patent licenses +// granted to You under this License for that Work shall terminate +// as of the date such litigation is filed. +// +// 4. Redistribution. You may reproduce and distribute copies of the +// Work or Derivative Works thereof in any medium, with or without +// modifications, and in Source or Object form, provided that You +// meet the following conditions: // -// The following edits are possible, without affecting the validity of the -// file: +// (a) You must give any other recipients of the Work or +// Derivative Works a copy of this License; and // -// * Fields may be renamed. -// * Fields may be deleted. -// * The unique numbered tag for a field may be changed, provided that -// the ordering of tags for fields within a message is preserved. -// * Message types may be renamed. -// * Message types may be deleted (if all fields that reference them -// have been deleted). +// (b) You must cause any modified files to carry prominent notices +// stating that You changed the files; and // -// All Cisco message and field extensions must be preserved (except when the -// field itself is being deleted). +// (c) You must retain, in the Source form of any Derivative Works +// that You distribute, all copyright, patent, trademark, and +// attribution notices from the Source form of the Work, +// excluding those notices that do not pertain to any part of +// the Derivative Works; and +// +// (d) If the Work includes a "NOTICE" text file as part of its +// distribution, then any Derivative Works that You distribute must +// include a readable copy of the attribution notices contained +// within such NOTICE file, excluding those notices that do not +// pertain to any part of the Derivative Works, in at least one +// of the following places: within a NOTICE text file distributed +// as part of the Derivative Works; within the Source form or +// documentation, if provided along with the Derivative Works; or, +// within a display generated by the Derivative Works, if and +// wherever such third-party notices normally appear. The contents +// of the NOTICE file are for informational purposes only and +// do not modify the License. You may add Your own attribution +// notices within Derivative Works that You distribute, alongside +// or as an addendum to the NOTICE text from the Work, provided +// that such additional attribution notices cannot be construed +// as modifying the License. +// +// You may add Your own copyright statement to Your modifications and +// may provide additional or different license terms and conditions +// for use, reproduction, or distribution of Your modifications, or +// for any such Derivative Works as a whole, provided Your use, +// reproduction, and distribution of the Work otherwise complies with +// the conditions stated in this License. +// +// 5. Submission of Contributions. Unless You explicitly state otherwise, +// any Contribution intentionally submitted for inclusion in the Work +// by You to the Licensor shall be under the terms and conditions of +// this License, without any additional terms or conditions. +// Notwithstanding the above, nothing herein shall supersede or modify +// the terms of any separate license agreement you may have executed +// with Licensor regarding such Contributions. +// +// 6. Trademarks. This License does not grant permission to use the trade +// names, trademarks, service marks, or product names of the Licensor, +// except as required for reasonable and customary use in describing the +// origin of the Work and reproducing the content of the NOTICE file. +// +// 7. Disclaimer of Warranty. Unless required by applicable law or +// agreed to in writing, Licensor provides the Work (and each +// Contributor provides its Contributions) on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +// implied, including, without limitation, any warranties or conditions +// of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A +// PARTICULAR PURPOSE. You are solely responsible for determining the +// appropriateness of using or redistributing the Work and assume any +// risks associated with Your exercise of permissions under this License. +// +// 8. Limitation of Liability. In no event and under no legal theory, +// whether in tort (including negligence), contract, or otherwise, +// unless required by applicable law (such as deliberate and grossly +// negligent acts) or agreed to in writing, shall any Contributor be +// liable to You for damages, including any direct, indirect, special, +// incidental, or consequential damages of any character arising as a +// result of this License or out of the use or inability to use the +// Work (including but not limited to damages for loss of goodwill, +// work stoppage, computer failure or malfunction, or any and all +// other commercial damages or losses), even if such Contributor +// has been advised of the possibility of such damages. +// +// 9. Accepting Warranty or Additional Liability. While redistributing +// the Work or Derivative Works thereof, You may choose to offer, +// and charge a fee for, acceptance of support, warranty, indemnity, +// or other liability obligations and/or rights consistent with this +// License. However, in accepting such obligations, You may act only +// on Your own behalf and on Your sole responsibility, not on behalf +// of any other Contributor, and only if You agree to indemnify, +// defend, and hold each Contributor harmless for any liability +// incurred by, or claims asserted against, such Contributor by reason +// of your accepting any such warranty or additional liability. +// +// END OF TERMS AND CONDITIONS +// +// APPENDIX: How to apply the Apache License to your work. +// +// To apply the Apache License to your work, attach the following +// boilerplate notice, with the fields enclosed by brackets "{}" +// replaced with your own identifying information. (Don't include +// the brackets!) The text should be enclosed in the appropriate +// comment syntax for the file format. We also recommend that a +// file or class name and description of purpose be included on the +// same "printed page" as the copyright notice for easier +// identification within third-party archives. +// +// Copyright (c) 2017 Cisco +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. syntax = "proto3"; package cisco_ios_xr_ipv4_bgp_oper.bgp.instances.instance.instance_active.default_vrf.neighbors.neighbor; -// BGP Neighbor Information message bgp_nbr_bag_KEYS { - string instance_name = 1; - string neighbor_address = 2; -} - -message bgp_nbr_bag { - // Speaker this neighbor is allocated to - uint32 speaker_id = 50; - // Description - string description = 51; - // Local AS number - uint32 local_as = 52; - // Remote AS number - uint32 remote_as = 53; - // Internal link to neighbor - string has_internal_link = 54; - // External neighbor not directly connected - string is_external_neighbor_not_directly_connected = 55; - // Number of messages received - uint32 messages_received = 56; - // Number of messages sent - uint32 messages_sent = 57; - // No. of update msgs received - uint32 update_messages_in = 58; - // No. of update messages sent - uint32 update_messages_out = 59; - // No. of msgs on receive queue - uint32 messages_queued_in = 60; - // No. of messages on send queue - uint32 messages_queued_out = 61; - // Time (in secs) that the connection has been established - uint32 connection_established_time = 62; - // State of connection - string connection_state = 63; - // Previous state of connection - uint32 previous_connection_state = 64; - // Administrative status of connection - uint32 connection_admin_status = 65; - // Open check error code - string open_check_error_code = 66; - // Local address for the connection - bgp_addrtype connection_local_address = 67; - // Local address configured for the neighbor connection - string is_local_address_configured = 68; - // Local port for the connection - uint32 connection_local_port = 69; - // Remote address for the connection - bgp_addrtype connection_remote_address = 70; - // Remote port for the connection - uint32 connection_remote_port = 71; - // Interface Handle of Neighbor - uint32 neighbor_interface_handle = 72; - // Notification was sent during last reset - string reset_notification_sent = 73; - // Neighbor is administratively shut down - string is_administratively_shut_down = 74; - // Neighbor shut down because it exceeded max prfx count - string is_neighbor_max_prefix_shutdown = 75; - // Neighbor shut down during a SEVERE low memory condition - string is_out_of_memory_shutdown = 76; - // Neighbor forced up during a low memory condition - string is_out_of_memory_forced_up = 77; - // EBGP peer belongs to AS League - string is_ebgp_peer_as_league = 78; - // EBGP peer with common administation - string is_ebgp_peer_common_admin = 79; - // TTL Security enabled - string ttl_security_enabled = 80; - // Suppress 4byteas capability - string suppress4_byte_as = 81; - // BFD state for this peer - string bfd_session_state = 82; - // BFD state for this peer - string bfd_session_created_state = 83; - // BFD enable mode for this peer - string bfd_session_enable_mode = 84; - // BFD Mininterval for this peer - uint32 bfd_minintervalval = 85; - // BFD Multiplier for this peer - uint32 bfd_multiplierval = 86; - // Timestamp since when nbr is in this bfd state - uint64 bfd_state_ts = 87; - // Router ID for the neighbor - string router_id = 88; - // Negotiated protocol version - uint32 negotiated_protocol_version = 89; - // Maximum number of hops for external BGP neighbor - uint32 ebgp_time_to_live = 90; - // If true, MPLS and NULL rewrite is disabled; if false, it is enabled - string is_ebgp_multihop_bgpmpls_forwarding_disabled = 91; - // Neighbor TCP Maximum Segment size - uint32 tcpmss = 92; - // Message in log count - uint32 msg_log_in = 93; - // Message out log count - uint32 msg_log_out = 94; - // Local AS configured on the neighbor - uint32 neighbor_local_as = 95; - // Option to not prepend the Local AS to announcements - string local_as_no_prepend = 96; - // Capability negotiation suppressed - string is_capability_negotiation_suppressed = 97; - // Capability negotiation performed - string is_capability_negotiation_performed = 98; - // Route refresh capability received - string is_route_refresh_capability_received = 99; - // Route refresh old capability received - string is_route_refresh_old_capability_received = 100; - // GR awareness received - string is_gr_aware = 101; - // 4-byte AScapability received - string is4_byte_as_capability_received = 102; - // 4-byte AScapability Snt - string is4_byte_as_capability_sent = 103; - // Multi-protocol capability has been received - string multi_protocol_capability_received = 104; - // Hold time (in secs) negotiated for this connection - uint32 hold_time = 105; - // Keepalive time (in secs) negotiated for this connection - uint32 keep_alive_time = 106; - // Hold time (in secs) configured for this connection - uint32 configured_hold_time = 107; - // Keepalive time (in secs) configured for this connection - uint32 configured_keepalive = 108; - // Minimum acceptable hold time from neighbor (in secs) configured for this connection - uint32 configured_min_acc_hold_time = 109; - // Minimum advertisement interval, secs part - uint32 min_advertise_interval = 110; - // Minimum advertisement interval, msecs part - uint32 min_advertise_interval_msecs = 111; - // Minimum origination interval (in secs) - uint32 min_origination_interval = 112; - // Time (in secs) for connect retry timer - uint32 connect_retry_interval = 113; - // Time (in secs) since last update message was received - uint32 time_since_last_update = 114; - // Time (in secs) since last read - uint32 time_since_last_read = 115; - // Time (in secs) since last read before last reset - uint32 time_since_last_read_reset = 116; - // CB - uint64 time_last_cb = 117; - // Last CB before reset - uint32 time_last_cb_reset = 118; - // FB - uint64 time_last_fb = 119; - // Count - uint32 count_last_write = 120; - // Time (in secs) since last write - uint32 time_since_last_write = 121; - // Attempted size of last write - uint32 attempted_last_write_bytes = 122; - // Actual size of last write - uint32 actual_last_write_bytes = 123; - // Time (in secs) since second last write - uint32 time_since_second_last_write = 124; - // Attempted size of second last write - uint32 attempted_second_last_write_bytes = 125; - // Actual size of second last write - uint32 actual_second_last_write_bytes = 126; - // Time (in secs) since last write before last reset - uint32 time_since_last_write_reset = 127; - // Attempted size of last write before reset - uint32 attempted_last_write_reset_bytes = 128; - // Actual size of last write before reset - uint32 actual_last_write_reset_bytes = 129; - // Time (in secs) since last write before last reset - uint32 time_since_second_last_write_reset = 130; - // Attempted size of second last write before reset - uint32 attempted_second_last_write_reset_bytes = 131; - // Actual size of second last write before reset - uint32 actual_second_last_write_reset_bytes = 132; - // Time (in secs) since last write thread event - uint32 last_write_event = 133; - // Time (in secs) since second last write thread event - uint32 second_last_write_event = 134; - // Time (in secs) since last KA timer expiry before reset - uint32 last_k_aexpiry_reset = 135; - // Time (in secs) since second last KA timer expiry before reset - uint32 second_last_k_aexpiry_reset = 136; - // Duration (in secs) since last time that KA was not sent before reset - uint32 last_k_anotsent_reset = 137; - // Duration (in secs) since last time that an error was encountered after KA expiry - uint32 last_k_aerror_reset = 138; - // Time (in secs) since the last KA timer start before reset - uint32 last_k_astart_reset = 139; - // Time (in secs) since the second last KA timer start before reset - uint32 second_last_k_astart_reset = 140; - // Number of times the connection was established - uint32 connection_up_count = 141; - // Number of times connection was dropped - uint32 connection_down_count = 142; - // Time since the connection last went down (seconds) - uint32 time_since_connection_last_dropped = 143; - // Reason for last connection reset - string reset_reason = 144; - // Reason for last peer close event - string peer_reset_reason = 145; - // If peer closed, error received from transport - uint32 peer_error_code = 146; - // Code for the last error notification seen on the connection - uint32 last_notify_error_code = 147; - // Error subcode of the last error notification seen on the connection - uint32 last_notify_error_subcode = 148; - // Information on the last notification sent - bgp_notfntype_ send_notification_info = 149; - // Information on the last notification received - bgp_notfntype_ received_notification_info = 150; - // Number of error notifications received on the connection - uint32 error_notifies_received = 151; - // Number of error notifications sent on the connection - uint32 error_notifies_sent = 152; - // Remote AS number - uint32 remote_as_number = 153; - // Bandwidth of link to single-hop eBGP peer - uint32 dmz_link_bandwidth = 154; - // Receive Bandwidth of link to single-hop eBGP peer - string ebgp_recv_dmz = 155; - // Ebgp send dmz link bw mode - string ebgp_send_dmz_mode = 156; - // Precedence or DSCP type - uint32 tos_type = 157; - // Precedence or DSCP value - uint32 tos_value = 158; - // Performance statistics - bgp_perf_nbr_ performance_statistics = 159; - // Address family specific neighbor data - repeated nbr_af_p af_data = 160; - // The TCP mode to be used to set up BGP session with the neighbor - string tcp_session_open_mode = 161; - // Name of the VRF - string vrf_name = 162; - // Standby RP socket inited for Active Open - string standby_rp = 163; - // Neighbor supports NSR - string nsr_enabled = 164; - // Neighbor supports graceful-restart - string graceful_restart_enabled_nbr = 165; - // Neighbor restart time (in seconds) - uint32 gr_restart_time = 166; - // Neighbor stale-path time (in seconds) - uint32 gr_stale_path_time = 167; - // First standby SeqNo offset - uint32 fssn_offset = 168; - // First standby PDU boundary SeqNo offset - uint32 fpbsn_offset = 169; - // SeqNo of the last Ackd byte - uint32 last_ackd_seq_no = 170; - // Total bytes written by write thread - uint32 bytes_written = 171; - // Total bytes read - uint32 bytes_read = 172; - // Total read bytes value insocket-lib - uint32 socket_read_bytes = 173; - // If true, socket read isdisabled - string is_read_disabled = 174; - // Total update bytes read - uint32 update_bytes_read = 175; - // NSR state - string nsr_state = 176; - // If true, active socket canbe closed if passive openis received for a GRcapable neighbor - string is_passive_close = 177; - // Neighbor enforce first AS - string nbr_enforce_first_as = 178; - // BMP Servers to which the neighbor sends logs - uint32 active_bmp_servers = 179; - // Cluster id - uint32 nbr_cluster_id = 180; - // Type of cluster_id:undefined/number/Ip address - uint32 nbr_in_cluster = 181; - // If true, the VPN client isan IBGP CE peer - string ignore_connected = 182; - // If true, don't do NHconnected check for nbr - string internal_vpn_client = 183; - // If true, socket has beenauto-armed for io control - string io_armed = 184; - // If true, socket has beenauto-armed for read - string read_armed = 185; - // If true, socket has beenauto-armed for write - string write_armed = 186; - // Message statistics - bgp_nbr_msg_stats message_statistics = 187; - // Remaining discard data (bytes) on Standby - uint32 discard_data_bytes = 188; - // Local AS Replace-AS option - string local_as_replace_as = 189; - // Local AS Dual-AS option - string local_as_dual_as = 190; - // Applies only if Local AS Dual-AS option is enabled. Indicates if Dual-AS mode is native. - string local_as_dual_as_mode_native = 191; - // Indicates if Egress Peer Engineering is enabled - string egress_peer_engineering_enabled = 192; - // Time When neighbor entered TCP Init Sync - bgp_timespec tcp_init_sync_time_spec = 193; - // Time when neighbor entered TCP Init Sync Phase Two - bgp_timespec tcp_init_sync_phase_two_time_spec = 194; - // Time when neighbor entered TCP Init Sync Done - bgp_timespec tcp_init_sync_done_time_spec = 195; - // Discard AS4_PATH in case there is a discrepancy in merging AS_PATH and AS4_PATH,retain ASPATH - uint32 discard_as4_path = 196; - // Prefix validation disabled - string rpki_disable = 197; - // Prefix v. use validity - string rpki_use_validity = 198; - // Prefix v. allow invalid - string rpki_allow_invalid = 199; - // Prefix v. signal ibgp - string rpki_signal_ibgp = 200; - // Graceful Maintenance - bgp_nbr_gshut_ graceful_maintenance = 201; -} - -message bgp_timespec { - // Seconds part of time value - uint32 seconds = 1; - // Nanoseconds part of time value - uint32 nanoseconds = 2; -} - -// IPV4Tunnel Address type -message IPV4TunnelAddressType { - string value = 1; -} - -// IPV4MDT Address type -message IPV4MDTAddressType { - string value = 1; -} - -// IPV4 RTConstraint Address type -message RTConstraintAddressType { - string value = 1; -} - -// IPV6 Address type -message IPV6AddressType { - string value = 1; + string instance_name = 1; + string neighbor_address = 2; } message bgp_l2vpn_addr_t { - bytes l2vpn_address = 1; + repeated uint32 l2vpn_address = 1; } -// L2VPN EVPN Address type -message L2VPNEVPNAddressType { - string value = 1; +message bgp_l2vpn_evpn_addr_t { + repeated uint32 l2vpn_evpn_address = 1; } message bgp_l2vpn_mspw_addr_t { - bytes l2vpn_address = 1; -} - -// IPV6 MVPN Address type -message IPV6MVPNAddressType { - string value = 1; -} - -// IPV4 MVPN Address type -message IPV4MVPNAddressType { - string value = 1; + repeated uint32 l2vpn_address = 1; } -// LINKSTATE LINKSTATE Address type -message LS_LSAddressType { - string value = 1; +message bgp_ipv4_srpolicy_addr_t { + repeated uint32 ipv4_srpolicy_address = 1; } -// IPv4 Flowspec Address type -message IPv4FlowspecAddressType { - string value = 1; -} - -// IPv6 Flowspec Address type -message IPv6FlowspecAddressType { - string value = 1; +message bgp_ipv6_srpolicy_addr_t { + repeated uint32 ipv6_srpolicy_address = 1; } message bgp_addrtype { - string afi = 1; - // IPv4 Addr - string ipv4_address = 2; - // IPv4 Mcast Addr - string ipv4_mcast_address = 3; - // IPv4 Label Addr - string ipv4_label_address = 4; - // IPv4 Tunnel - IPV4TunnelAddressType ipv4_tunnel_address = 5; - // IPv4 MDT Addr - IPV4MDTAddressType ipv4_mdt_address = 6; - // IPv4 VPN Addr - string ipv4_vpn_address = 7; - // IPv4 VPN Mcast Addr - string ipv4_vpna_mcastddress = 8; - // IPV6 Addr - IPV6AddressType ipv6_address = 9; - // IPV6 Mcast Addr - IPV6AddressType ipv6_mcast_address = 10; - // IPv6 Label Addr - IPV6AddressType ipv6_label_address = 11; - // IPv6 VPN Addr - IPV6AddressType ipv6_vpn_address = 12; - // IPv6 VPN Mcast Addr - IPV6AddressType ipv6_vpn_mcast_address = 13; - // L2VPN VPLS Addr - bgp_l2vpn_addr_t l2_vpnvpls_address = 14; - // RT Constrt Addr - RTConstraintAddressType rt_constraint_address = 15; - // MVPN addr - IPV6MVPNAddressType ipv6_mvpn_address = 16; - // MVPN4 addr - IPV4MVPNAddressType ipv4_mvpn_address = 17; - // L2VPN EVPN Addr - L2VPNEVPNAddressType l2_vpn_evpn_address = 18; - // LINKSTATE LINKSTATE Addr - LS_LSAddressType ls_ls_address = 19; - // L2VPN MSPW Addr - bgp_l2vpn_mspw_addr_t l2_vpn_mspw_address = 20; - // IPV4 Flowspec Addr - IPv4FlowspecAddressType ipv4_flowspec_address = 21; - // IPV6 Flowspec Addr - IPv6FlowspecAddressType ipv6_flowspec_address = 22; - // IPV4 VPN Flowspec Addr - IPv4FlowspecAddressType ipv4_vpn_flowspec_address = 23; - // IPV6 VPN Flowspec Addr - IPv6FlowspecAddressType ipv6_vpn_flowspec_address = 24; + string afi = 1; + string ipv4_address = 2; + string ipv4_mcast_address = 3; + string ipv4_label_address = 4; + string ipv4_tunnel_address = 5; + string ipv4mdt_address = 6; + string ipv4vpn_address = 7; + string ipv4vpna_mcastddress = 8; + string ipv6_address = 9; + string ipv6_mcast_address = 10; + string i_pv6_label_address = 11; + string ipv6vpn_address = 12; + string ipv6vpn_mcast_address = 13; + bgp_l2vpn_addr_t l2vpnvpls_address = 14; + string rt_constraint_address = 15; + string ipv6mvpn_address = 16; + string ipv4mvpn_address = 17; + bgp_l2vpn_evpn_addr_t l2vpn_evpn_address = 18; + string ls_ls_address = 19; + bgp_l2vpn_mspw_addr_t l2vpn_mspw_address = 20; + string ipv4_flowspec_address = 21; + string ipv6_flowspec_address = 22; + string ipv4vpn_flowspec_address = 23; + string ipv6vpn_flowspec_address = 24; + bgp_ipv4_srpolicy_addr_t ipv4sr_policy_address = 25; + bgp_ipv6_srpolicy_addr_t ipv6sr_policy_address = 26; } -message bgp_perf_nbr_af_ { - uint32 sub_group_pending_message_count = 1; - uint32 processed_messages = 2; - uint32 sent_messages = 3; - uint32 split_horizon_update_transmit = 4; - uint32 split_horizon_update_blocked = 5; - uint32 split_horizon_withdraw_transmit = 6; - uint32 split_horizon_withdraw_blocked = 7; +message bgp_notfntype_ { + uint32 time_since_last_notification = 1; + uint32 notification_error_code = 2; + uint32 notification_error_subcode = 3; + repeated uint32 last_notification_data = 4; } message bgp_perf_nbr_ { - // Number of partial read throttles - uint32 read_throttles = 1; - // Num socket reads after nbrs crossed low threshold - uint32 low_throttled_read = 2; - // Num of socket reads after nbr crossed high threshold - uint32 high_throttled_read = 3; - // Time (in secs) since last read after being throttled - uint32 time_since_last_throttled_read = 4; - // No. of calls to function to read inbound data - uint32 read_calls_count = 5; - // Number of BGP messages read - uint32 read_messages_count = 6; - // No. of bytes of data read - uint32 data_bytes_read = 7; - // Time spent reading inbound data (milliseconds) - uint32 io_read_time = 8; - // No. of calls to function to write outbound data - uint32 write_calls_count = 9; - // No. of data bytes written - uint32 data_bytes_written = 10; - // Time spent writing outbound data (milliseconds) - uint32 io_write_time = 11; - // Seq No of the last sent byte - uint32 last_sent_seq_no = 12; - // No. of calls to function to process sub-group message list - uint32 write_subgroup_calls_count = 13; - // Number of sub-group msgs processed - uint32 write_subgroup_messages_count = 14; - // Time spent processing sub-group message list (milliseconds) - uint32 subgroup_list_time = 15; - // No. of calls to function to process write queue - uint32 write_queue_calls_count = 16; - // Number of write queue messages processed - uint32 write_queue_messages_count = 17; - // Time spent processing write queue (milliseconds) - uint32 write_queue_time = 18; - // Number of inbound update messages processed - uint32 inbound_update_messages = 19; - // Time spent processing inbound update messages (milliseconds) - uint32 inbound_update_messages_time = 20; - // Size of largest socket (milliseconds) - uint32 maximum_read_size = 21; - // Number of retried Active opens for this neighbor - uint32 actives = 22; - // Number of Active Opens that failed in the Post Active State for this neighbor - uint32 failed_post_actives = 23; - // Number of retried Passive opens for this neighbor - uint32 passives = 24; - // Number of rejected Passive opens for this neighbor - uint32 rejected_passives = 25; - // Number of Closed Active connections for this neighbor due to collision - uint32 active_collision = 26; - // Number of Closed Remote opens for this neighborneighbor due to collision - uint32 passive_collision = 27; - // Number of times io-control thread trigger read thread - uint32 control_to_read_thread_trigger = 28; - // Number of times io-control thread trigger write thread - uint32 control_to_write_thread_trigger = 29; - // Socket status, TRUE if socket closed - uint32 network_status = 30; - // Reset flags, per thread - uint32 reset_flags = 31; - // Nbr flags, per thread - uint32 nbr_flags = 32; - // Primary FD, per nbr - sint32 nbr_fd = 33; - // Reset Retries, per nbr - uint32 reset_retries = 34; - // Sync flags, per nbr - uint32 sync_flags = 35; - // Number of times NSR scoped sync has been done - uint32 nsr_oper_down_count = 36; - // Last time NSR scoped syncwas done for the neighbor - uint32 last_nsr_scoped_sync = 37; + uint32 read_throttles = 1; + uint32 low_throttled_read = 2; + uint32 high_throttled_read = 3; + uint32 time_since_last_throttled_read = 4; + uint32 read_calls_count = 5; + uint32 read_messages_count = 6; + uint32 data_bytes_read = 7; + uint32 io_read_time = 8; + uint32 write_calls_count = 9; + uint32 data_bytes_written = 10; + uint32 io_write_time = 11; + uint32 last_sent_seq_no = 12; + uint32 write_subgroup_calls_count = 13; + uint32 write_subgroup_messages_count = 14; + uint32 subgroup_list_time = 15; + uint32 write_queue_calls_count = 16; + uint32 write_queue_messages_count = 17; + uint32 write_queue_time = 18; + uint32 inbound_update_messages = 19; + uint32 inbound_update_messages_time = 20; + uint32 maximum_read_size = 21; + uint32 actives = 22; + uint32 failed_post_actives = 23; + uint32 passives = 24; + uint32 rejected_passives = 25; + uint32 active_collision = 26; + uint32 passive_collision = 27; + uint32 control_to_read_thread_trigger = 28; + uint32 control_to_write_thread_trigger = 29; + uint32 network_status = 30; + uint32 reset_flags = 31; + uint32 nbr_flags = 32; + sint32 nbr_fd = 33; + uint32 reset_retries = 34; + uint32 sync_flags = 35; + uint32 nsr_oper_down_count = 36; + uint32 last_nsr_scoped_sync = 37; } -message bgp_nbr_gshut_ { - // Graceful Maintenance enabled - string gshut_exists = 1; - // Graceful Maintenance locally activated - string gshut_local_active = 2; - // Graceful Maintenance activated - string gshut_active = 3; - // Graceful Maintenance Local Preference set - string gshut_locpref_set = 4; - // Graceful Maintenance Local Preference - uint32 gshut_locpref = 5; - // Graceful Maintenance number of AS prepends - uint32 gshut_prepends = 6; +message bgp_perf_nbr_af_ { + uint32 sub_group_pending_message_count = 1; + uint32 processed_messages = 2; + uint32 sent_messages = 3; + uint32 split_horizon_update_transmit = 4; + uint32 split_horizon_update_blocked = 5; + uint32 split_horizon_withdraw_transmit = 6; + uint32 split_horizon_withdraw_blocked = 7; } message bgp_nbr_af_ { - string af_name = 1; - string is_neighbor_route_reflector_client = 2; - string is_legacy_pe_rt = 3; - string is_neighbor_af_capable = 4; - string is_soft_reconfiguration_inbound_allowed = 5; - string is_use_soft_reconfiguration_always_on = 6; - string remove_private_as_from_updates = 7; - string remove_private_as_entire_aspath_from_updates = 8; - string remove_private_as_from_inbound_updates = 9; - string remove_private_as_entire_aspath_from_inbound_updates = 10; - string flowspec_validation_d_isable = 11; - string flowspec_redirect_validation_d_isable = 12; - string orr_group_name = 13; - uint32 orr_group_index = 14; - string is_orr_root_address_configured = 15; - string advertise_afi = 16; - string advertise_afi_reorg = 17; - string advertise_afi_disable = 18; - uint32 encapsulation_type = 19; - uint32 advertise_rt_type = 20; - string advertise_afi_def_vrf_imp_disable = 21; - string advertise_evp_nv4_afi_def_vrf_imp_disable = 22; - string advertise_evp_nv6_afi_def_vrf_imp_disable = 23; - string advertise_afi_eo_r_ready = 24; - string always_use_next_hop_local = 25; - string sent_community_to_neighbor = 26; - string sent_gshut_community_to_neighbor = 27; - string sent_extended_community_to_neighbor = 28; - string neighbor_default_originate = 29; - string is_orf_sent = 30; - string is_update_deferred = 31; - string is_orf_send_scheduled = 32; - uint32 update_group_number = 33; - uint32 filter_group_index = 34; - string is_update_throttled = 35; - string is_update_leaving = 36; - string vpn_update_gen_enabled = 37; - string vpn_update_gen_trigger_enabled = 38; - string is_addpath_send_operational = 39; - string is_addpath_receive_operational = 40; - uint32 neighbor_version = 41; - uint32 weight = 42; - uint32 max_prefix_limit = 43; - string use_max_prefix_warning_only = 44; - string max_prefix_discard_extra_paths = 45; - string max_prefix_exceed_discard_paths = 46; - uint32 max_prefix_threshold_percent = 47; - uint32 max_prefix_restart_time = 48; - uint32 prefixes_accepted = 49; - uint32 prefixes_synced = 50; - uint32 prefixes_withdrawn_not_found = 51; - uint32 prefixes_denied = 52; - uint32 prefixes_denied_no_policy = 53; - uint32 prefixes_denied_rt_permit = 54; - uint32 prefixes_denied_orf_policy = 55; - uint32 prefixes_denied_policy = 56; - uint32 number_of_bestpaths = 57; - uint32 number_of_best_externalpaths = 58; - uint32 prefixes_advertised = 59; - uint32 prefixes_be_advertised = 60; - uint32 prefixes_suppressed = 61; - uint32 prefixes_withdrawn = 62; - string is_peer_orf_capable = 63; - string is_advertised_orf_send = 64; - string is_received_orf_send_capable = 65; - string is_advertised_orf_receive = 66; - string is_received_orf_receive_capable = 67; - string is_advertised_graceful_restart = 68; - string is_graceful_restart_state_flag = 69; - string is_received_graceful_restart_capable = 70; - string is_add_path_send_capability_advertised = 71; - string is_add_path_send_capability_received = 72; - string is_add_path_receive_capability_advertised = 73; - string is_add_path_receive_capability_received = 74; - uint32 restart_time = 75; - uint32 local_restart_time = 76; - uint32 stale_path_timeout = 77; - uint32 rib_purge_timeout_value = 78; - string neighbor_preserved_forwarding_state = 79; - string long_lived_graceful_restart_stale_time_configured = 80; - uint32 long_lived_graceful_restart_stale_time_sent = 81; - uint32 long_lived_graceful_restart_stale_time_accept = 82; - string long_lived_graceful_restart_capability_received = 83; - uint32 long_lived_graceful_restart_stale_time_received = 84; - string neighbor_preserved_long_lived_forwarding_state = 85; - string neighbor_long_lived_graceful_restart_capable = 86; - uint32 neighbor_long_lived_graceful_restart_time_remaining = 87; - uint32 route_refreshes_received = 88; - uint32 route_refreshes_sent = 89; - uint32 refresh_target_version = 90; - uint32 refresh_version = 91; - uint32 refresh_acked_version = 92; - string is_prefix_orf_present = 93; - uint32 orf_entries_received = 94; - string is_default_originate_sent = 95; - string route_policy_prefix_orf = 96; - string route_policy_in = 97; - string route_policy_out = 98; - string route_policy_default_originate = 99; - string is_neighbor_ebgp_without_inbound_policy = 100; - string is_neighbor_ebgp_without_outbound_policy = 101; - string is_as_override_set = 102; - string is_allow_as_in_set = 103; - uint32 allow_as_in_count = 104; - uint32 address_family_long_lived_time = 105; - string eo_r_received_in_read_only = 106; - uint32 acked_version = 107; - uint32 synced_acked_version = 108; - uint32 outstanding_version = 109; - uint32 outstanding_version_max = 110; - bgp_perf_nbr_af_ neighbor_af_performance_statistics = 111; - string is_aigp_set = 112; - string is_rt_present = 113; - repeated uint32 extended_community = 114; - string is_rt_present_standby = 115; - repeated uint32 extended_community_standby = 116; - string accept_own_enabled = 117; - string selective_multipath_eligible = 118; - string afrpki_disable = 119; - string afrpki_use_validity = 120; - string afrpki_allow_invalid = 121; - string afrpki_signal_ibgp = 122; - string is_advertise_permanent_network = 123; - string is_send_mcast_attr = 124; - string import_stitching = 125; - string import_reoriginate = 126; - string import_reoriginate_stitching = 127; - uint32 advertise_v4_flags = 128; - uint32 advertise_v6_flags = 129; - string advertise_local_labeled_route_unicast = 130; -} - -message nbr_af_p { - bgp_nbr_af_ value = 1; + string af_name = 1; + bool is_neighbor_route_reflector_client = 2; + bool is_legacy_pe_rt = 3; + bool is_neighbor_af_capable = 4; + bool is_soft_reconfiguration_inbound_allowed = 5; + bool is_use_soft_reconfiguration_always_on = 6; + bool remove_private_as_from_updates = 7; + bool remove_private_as_entire_aspath_from_updates = 8; + bool remove_private_as_from_inbound_updates = 9; + bool remove_private_as_entire_aspath_from_inbound_updates = 10; + bool flowspec_validation_d_isable = 11; + bool flowspec_redirect_validation_d_isable = 12; + string orr_group_name = 13; + uint32 orr_group_index = 14; + bool is_orr_root_address_configured = 15; + bool advertise_afi = 16; + bool advertise_afi_reorg = 17; + bool advertise_afi_disable = 18; + uint32 encapsulation_type = 19; + uint32 advertise_rt_type = 20; + bool advertise_afi_def_vrf_imp_disable = 21; + bool advertise_evp_nv4afi_def_vrf_imp_disable = 22; + bool advertise_evp_nv6afi_def_vrf_imp_disable = 23; + bool advertise_afi_vrf_re_imp_disable = 24; + bool advertise_evp_nv4afi_vrf_re_imp_disable = 25; + bool advertise_evp_nv6afi_vrf_re_imp_disable = 26; + bool advertise_afi_eo_r_ready = 27; + bool always_use_next_hop_local = 28; + bool sent_community_to_neighbor = 29; + bool sent_gshut_community_to_neighbor = 30; + bool sent_extended_community_to_neighbor = 31; + uint32 default_originate_vpn_index = 32; + bool neighbor_default_originate = 33; + bool is_orf_sent = 34; + bool is_update_deferred = 35; + bool is_orf_send_scheduled = 36; + uint32 update_group_number = 37; + uint32 filter_group_index = 38; + bool is_update_throttled = 39; + bool is_update_leaving = 40; + bool vpn_update_gen_enabled = 41; + bool vpn_update_gen_trigger_enabled = 42; + bool is_addpath_send_operational = 43; + bool is_addpath_receive_operational = 44; + uint32 neighbor_version = 45; + uint32 weight = 46; + uint32 max_prefix_limit = 47; + bool use_max_prefix_warning_only = 48; + bool max_prefix_discard_extra_paths = 49; + bool max_prefix_exceed_discard_paths = 50; + uint32 max_prefix_threshold_percent = 51; + uint32 max_prefix_discard_paths_count = 52; + uint32 max_prefix_restart_time = 53; + uint32 prefixes_accepted = 54; + uint32 prefixes_synced = 55; + uint32 prefixes_withdrawn_not_found = 56; + uint32 prefixes_denied = 57; + uint32 prefixes_denied_no_policy = 58; + uint32 prefixes_denied_rt_permit = 59; + uint32 prefixes_denied_orf_policy = 60; + uint32 prefixes_denied_policy = 61; + uint32 number_of_bestpaths = 62; + uint32 number_of_best_externalpaths = 63; + uint32 prefixes_advertised = 64; + uint32 prefixes_be_advertised = 65; + uint32 prefixes_suppressed = 66; + uint32 prefixes_withdrawn = 67; + bool is_peer_orf_capable = 68; + bool is_advertised_orf_send = 69; + bool is_received_orf_send_capable = 70; + bool is_advertised_orf_receive = 71; + bool is_received_orf_receive_capable = 72; + bool is_advertised_graceful_restart = 73; + bool is_graceful_restart_state_flag = 74; + bool is_received_graceful_restart_capable = 75; + bool is_add_path_send_capability_advertised = 76; + bool is_add_path_send_capability_received = 77; + bool is_add_path_receive_capability_advertised = 78; + bool is_add_path_receive_capability_received = 79; + bool is_ext_nh_encoding_capability_received = 80; + bool is_ext_nh_encoding_capability_sent = 81; + uint32 restart_time = 82; + uint32 local_restart_time = 83; + uint32 stale_path_timeout = 84; + uint32 rib_purge_timeout_value = 85; + bool neighbor_preserved_forwarding_state = 86; + bool long_lived_graceful_restart_stale_time_configured = 87; + uint32 long_lived_graceful_restart_stale_time_sent = 88; + uint32 long_lived_graceful_restart_stale_time_accept = 89; + bool long_lived_graceful_restart_capability_received = 90; + uint32 long_lived_graceful_restart_stale_time_received = 91; + bool neighbor_preserved_long_lived_forwarding_state = 92; + bool neighbor_long_lived_graceful_restart_capable = 93; + uint32 neighbor_long_lived_graceful_restart_time_remaining = 94; + uint32 route_refreshes_received = 95; + uint32 route_refreshes_sent = 96; + uint32 refresh_target_version = 97; + uint32 refresh_version = 98; + uint32 refresh_acked_version = 99; + bool is_prefix_orf_present = 100; + uint32 orf_entries_received = 101; + bool is_default_originate_sent = 102; + string route_policy_prefix_orf = 103; + string route_policy_in = 104; + string route_policy_out = 105; + string route_policy_default_originate = 106; + bool is_neighbor_ebgp_without_inbound_policy = 107; + bool is_neighbor_ebgp_without_outbound_policy = 108; + bool is_upd_orig_loopchk_disable_set = 109; + bool is_as_override_set = 110; + bool is_allow_as_in_set = 111; + uint32 allow_as_in_count = 112; + uint32 address_family_long_lived_time = 113; + bool eo_r_received_in_read_only = 114; + uint32 acked_version = 115; + uint32 synced_acked_version = 116; + uint32 outstanding_version = 117; + uint32 outstanding_refresh_version = 118; + uint32 outstanding_version_max = 119; + bgp_perf_nbr_af_ neighbor_af_performance_statistics = 120; + bool is_aigp_set = 121; + bool is_rt_present = 122; + repeated uint32 extended_community = 123; + bool is_rt_present_standby = 124; + repeated uint32 extended_community_standby = 125; + bool accept_own_enabled = 126; + bool selective_multipath_eligible = 127; + bool afrpki_disable = 128; + bool afrpki_use_validity = 129; + bool afrpki_allow_invalid = 130; + bool afrpki_signal_ibgp = 131; + bool is_advertise_permanent_network = 132; + bool is_send_mcast_attr = 133; + bool import_stitching = 134; + bool import_reoriginate = 135; + bool import_reoriginate_stitching = 136; + uint32 advertise_v4_flags = 137; + uint32 advertise_v6_flags = 138; + bool advertise_local_labeled_route_unicast = 139; + uint32 prefixes_denied_non_cumulative = 140; + bool enable_label_stack = 141; + bool ot_prov_track_enable = 142; + string ot_prov_track_state = 143; + bool ot_prov_track_in_gr_state = 144; + bool ot_prov_track_eor_tmr_running = 145; + uint32 slow_peer_flags = 146; + bool slow_peer_static = 147; + bool slow_peer_dynamic = 148; + bool slow_peer_permanent = 149; + uint32 slow_peer_count = 150; } -message bgp_notfntype_ { - // Time since the last notification was sent or received (seconds) - uint32 time_since_last_notification = 1; - // Error code in last notification - uint32 notification_error_code = 2; - // Error subcode in last notification - uint32 notification_error_subcode = 3; - // Message data in last notification - repeated uint32 last_notification_data = 4; +message bgp_timespec { + uint32 seconds = 1; + uint32 nanoseconds = 2; } message bgp_nbr_msg_stats_unit { - // Count - uint32 count = 1; - // Last timespec - bgp_timespec last_time_spec = 2; + uint32 count = 1; + bgp_timespec last_time_spec = 2; } message bgp_nbr_msg_stats_op { - // Transmit - bgp_nbr_msg_stats_unit tx = 1; - // Receive - bgp_nbr_msg_stats_unit rx = 2; + bgp_nbr_msg_stats_unit tx = 1; + bgp_nbr_msg_stats_unit rx = 2; } message bgp_nbr_msg_stats { - // Open - bgp_nbr_msg_stats_op open = 1; - // Notification - bgp_nbr_msg_stats_op notification = 2; - // Update - bgp_nbr_msg_stats_op update = 3; - // Keepalive - bgp_nbr_msg_stats_op keepalive = 4; - // Route refresh - bgp_nbr_msg_stats_op route_refresh = 5; - // Total - bgp_nbr_msg_stats_op total = 6; + bgp_nbr_msg_stats_op open = 1; + bgp_nbr_msg_stats_op notification = 2; + bgp_nbr_msg_stats_op update = 3; + bgp_nbr_msg_stats_op keepalive = 4; + bgp_nbr_msg_stats_op route_refresh = 5; + bgp_nbr_msg_stats_op total = 6; +} + +message bgp_nbr_gshut_ { + bool gshut_exists = 1; + bool gshut_local_active = 2; + bool gshut_active = 3; + bool gshut_locpref_set = 4; + uint32 gshut_locpref = 5; + uint32 gshut_prepends = 6; + bool gshut_interface_active = 7; + bool gshut_location_active = 8; +} + +message bgp_nbr_bag { + uint32 speaker_id = 50; + string description = 51; + uint32 local_as = 52; + uint32 remote_as = 53; + bool has_internal_link = 54; + bool is_external_neighbor_not_directly_connected = 55; + uint32 messages_received = 56; + uint32 messages_sent = 57; + uint32 update_messages_in = 58; + uint32 update_messages_out = 59; + uint32 messages_queued_in = 60; + uint32 messages_queued_out = 61; + uint32 connection_established_time = 62; + string connection_state = 63; + uint32 previous_connection_state = 64; + uint32 connection_admin_status = 65; + string open_check_error_code = 66; + bgp_addrtype connection_local_address = 67; + bool is_local_address_configured = 68; + uint32 connection_local_port = 69; + bgp_addrtype connection_remote_address = 70; + uint32 connection_remote_port = 71; + uint32 neighbor_interface_handle = 72; + bool reset_notification_sent = 73; + bool is_administratively_shut_down = 74; + bool is_neighbor_max_prefix_shutdown = 75; + bool is_out_of_memory_shutdown = 76; + bool is_out_of_memory_forced_up = 77; + bool is_ebgp_peer_as_league = 78; + bool is_ebgp_peer_common_admin = 79; + bool ttl_security_enabled = 80; + bool suppress4_byte_as = 81; + string bfd_session_state = 82; + string bfd_session_created_state = 83; + string bfd_session_enable_mode = 84; + uint32 bfd_minintervalval = 85; + uint32 bfd_multiplierval = 86; + uint64 bfd_state_ts = 87; + string router_id = 88; + uint32 negotiated_protocol_version = 89; + uint32 ebgp_time_to_live = 90; + bool is_ebgp_multihop_bgpmpls_forwarding_disabled = 91; + uint32 tcpmss = 92; + uint32 msg_log_in = 93; + uint32 msg_log_out = 94; + uint32 neighbor_local_as = 95; + bool local_as_no_prepend = 96; + bool is_capability_negotiation_suppressed = 97; + bool is_capability_negotiation_performed = 98; + bool is_route_refresh_capability_received = 99; + bool is_route_refresh_old_capability_received = 100; + bool is_gr_aware = 101; + bool is4_byte_as_capability_received = 102; + bool is4_byte_as_capability_sent = 103; + bool multi_protocol_capability_received = 104; + uint32 hold_time = 105; + uint32 keep_alive_time = 106; + uint32 configured_hold_time = 107; + uint32 configured_keepalive = 108; + uint32 configured_min_acc_hold_time = 109; + uint32 min_advertise_interval = 110; + uint32 min_advertise_interval_msecs = 111; + uint32 min_origination_interval = 112; + uint32 connect_retry_interval = 113; + uint32 time_since_last_update = 114; + uint32 time_since_last_read = 115; + uint32 time_since_last_read_reset = 116; + uint64 time_last_cb = 117; + uint32 time_last_cb_reset = 118; + uint64 time_last_fb = 119; + uint32 count_last_write = 120; + uint32 time_since_last_write = 121; + uint32 attempted_last_write_bytes = 122; + uint32 actual_last_write_bytes = 123; + uint32 time_since_second_last_write = 124; + uint32 attempted_second_last_write_bytes = 125; + uint32 actual_second_last_write_bytes = 126; + uint32 time_since_last_write_reset = 127; + uint32 attempted_last_write_reset_bytes = 128; + uint32 actual_last_write_reset_bytes = 129; + uint32 time_since_second_last_write_reset = 130; + uint32 attempted_second_last_write_reset_bytes = 131; + uint32 actual_second_last_write_reset_bytes = 132; + uint32 last_write_event = 133; + uint32 second_last_write_event = 134; + uint32 last_k_aexpiry_reset = 135; + uint32 second_last_k_aexpiry_reset = 136; + uint32 last_k_anotsent_reset = 137; + uint32 last_k_aerror_reset = 138; + uint32 last_k_astart_reset = 139; + uint32 second_last_k_astart_reset = 140; + uint32 connection_up_count = 141; + uint32 connection_down_count = 142; + uint32 time_since_connection_last_dropped = 143; + string reset_reason = 144; + string peer_reset_reason = 145; + uint32 peer_error_code = 146; + uint32 last_notify_error_code = 147; + uint32 last_notify_error_subcode = 148; + bgp_notfntype_ send_notification_info = 149; + bgp_notfntype_ received_notification_info = 150; + uint32 error_notifies_received = 151; + uint32 error_notifies_sent = 152; + uint32 remote_as_number = 153; + uint32 dmz_link_bandwidth = 154; + bool ebgp_recv_dmz = 155; + string ebgp_send_dmz_mode = 156; + uint32 tos_type = 157; + uint32 tos_value = 158; + bgp_perf_nbr_ performance_statistics = 159; + repeated bgp_nbr_af_ af_data = 160; + string tcp_session_open_mode = 161; + string vrf_name = 162; + bool standby_rp = 163; + bool nsr_enabled = 164; + bool graceful_restart_enabled_nbr = 165; + uint32 gr_restart_time = 166; + uint32 gr_stale_path_time = 167; + uint32 fssn_offset = 168; + uint32 fpbsn_offset = 169; + uint32 last_ackd_seq_no = 170; + uint32 bytes_written = 171; + uint32 bytes_read = 172; + uint32 socket_read_bytes = 173; + bool is_read_disabled = 174; + uint32 update_bytes_read = 175; + string nsr_state = 176; + bool is_passive_close = 177; + bool nbr_enforce_first_as = 178; + uint32 active_bmp_servers = 179; + uint32 nbr_cluster_id = 180; + uint32 nbr_in_cluster = 181; + bool ignore_connected = 182; + bool internal_vpn_client = 183; + bool io_armed = 184; + bool read_armed = 185; + bool write_armed = 186; + bgp_nbr_msg_stats message_statistics = 187; + uint32 discard_data_bytes = 188; + bool local_as_replace_as = 189; + bool local_as_dual_as = 190; + bool local_as_dual_as_mode_native = 191; + bool egress_peer_engineering_enabled = 192; + bgp_timespec tcp_init_sync_time_spec = 193; + bgp_timespec tcp_init_sync_phase_two_time_spec = 194; + bgp_timespec tcp_init_sync_done_time_spec = 195; + uint32 discard_as4_path = 196; + bool rpki_disable = 197; + bool rpki_use_validity = 198; + bool rpki_allow_invalid = 199; + bool rpki_signal_ibgp = 200; + bgp_nbr_gshut_ graceful_maintenance = 201; + bool dynamic_neighbor = 202; + bool merge_inbound_safi1and4_updates = 203; + bool is_capability_enhe_suppressed = 204; + uint32 delete_time_remaining = 205; } \ No newline at end of file diff --git a/proto/telemetry/lldp/lldp_neighbor.pb.go b/proto/telemetry/lldp/lldp_neighbor.pb.go index 1e238a2..86b281e 100644 --- a/proto/telemetry/lldp/lldp_neighbor.pb.go +++ b/proto/telemetry/lldp/lldp_neighbor.pb.go @@ -1,706 +1,1543 @@ -// Code generated by protoc-gen-go. -// source: lldp_neighbor.proto -// DO NOT EDIT! - -/* -Package cisco_ios_xr_ethernet_lldp_oper_lldp_nodes_node_neighbors_details_detail is a generated protocol buffer package. - -It is generated from these files: - lldp_neighbor.proto - -It has these top-level messages: - LldpNeighbor_KEYS - LldpNeighbor - LldpNeighborItem - In6AddrTd - LldpL3Addr - LldpAddrEntry - LldpAddrEntryItem - LldpUnknownTlvEntry - LldpUnknownTlvEntryItem - LldpOrgDefTlvEntry - LldpOrgDefTlvEntryItem - LldpNeighborDetail - LldpNeighborMib -*/ -package cisco_ios_xr_ethernet_lldp_oper_lldp_nodes_node_neighbors_details_detail - -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package - -// LLDP neighbor info -type LldpNeighbor_KEYS struct { - NodeName string `protobuf:"bytes,1,opt,name=node_name,json=nodeName" json:"node_name,omitempty"` - InterfaceName string `protobuf:"bytes,2,opt,name=interface_name,json=interfaceName" json:"interface_name,omitempty"` - DeviceId string `protobuf:"bytes,3,opt,name=device_id,json=deviceId" json:"device_id,omitempty"` -} - -func (m *LldpNeighbor_KEYS) Reset() { *m = LldpNeighbor_KEYS{} } -func (m *LldpNeighbor_KEYS) String() string { return proto.CompactTextString(m) } -func (*LldpNeighbor_KEYS) ProtoMessage() {} -func (*LldpNeighbor_KEYS) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } - -func (m *LldpNeighbor_KEYS) GetNodeName() string { - if m != nil { - return m.NodeName +// Apache License +// Version 2.0, January 2004 +// http://www.apache.org/licenses/ +// +// TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +// +// 1. Definitions. +// +// "License" shall mean the terms and conditions for use, reproduction, +// and distribution as defined by Sections 1 through 9 of this document. +// +// "Licensor" shall mean the copyright owner or entity authorized by +// the copyright owner that is granting the License. +// +// "Legal Entity" shall mean the union of the acting entity and all +// other entities that control, are controlled by, or are under common +// control with that entity. For the purposes of this definition, +// "control" means (i) the power, direct or indirect, to cause the +// direction or management of such entity, whether by contract or +// otherwise, or (ii) ownership of fifty percent (50%) or more of the +// outstanding shares, or (iii) beneficial ownership of such entity. +// +// "You" (or "Your") shall mean an individual or Legal Entity +// exercising permissions granted by this License. +// +// "Source" form shall mean the preferred form for making modifications, +// including but not limited to software source code, documentation +// source, and configuration files. +// +// "Object" form shall mean any form resulting from mechanical +// transformation or translation of a Source form, including but +// not limited to compiled object code, generated documentation, +// and conversions to other media types. +// +// "Work" shall mean the work of authorship, whether in Source or +// Object form, made available under the License, as indicated by a +// copyright notice that is included in or attached to the work +// (an example is provided in the Appendix below). +// +// "Derivative Works" shall mean any work, whether in Source or Object +// form, that is based on (or derived from) the Work and for which the +// editorial revisions, annotations, elaborations, or other modifications +// represent, as a whole, an original work of authorship. For the purposes +// of this License, Derivative Works shall not include works that remain +// separable from, or merely link (or bind by name) to the interfaces of, +// the Work and Derivative Works thereof. +// +// "Contribution" shall mean any work of authorship, including +// the original version of the Work and any modifications or additions +// to that Work or Derivative Works thereof, that is intentionally +// submitted to Licensor for inclusion in the Work by the copyright owner +// or by an individual or Legal Entity authorized to submit on behalf of +// the copyright owner. For the purposes of this definition, "submitted" +// means any form of electronic, verbal, or written communication sent +// to the Licensor or its representatives, including but not limited to +// communication on electronic mailing lists, source code control systems, +// and issue tracking systems that are managed by, or on behalf of, the +// Licensor for the purpose of discussing and improving the Work, but +// excluding communication that is conspicuously marked or otherwise +// designated in writing by the copyright owner as "Not a Contribution." +// +// "Contributor" shall mean Licensor and any individual or Legal Entity +// on behalf of whom a Contribution has been received by Licensor and +// subsequently incorporated within the Work. +// +// 2. Grant of Copyright License. Subject to the terms and conditions of +// this License, each Contributor hereby grants to You a perpetual, +// worldwide, non-exclusive, no-charge, royalty-free, irrevocable +// copyright license to reproduce, prepare Derivative Works of, +// publicly display, publicly perform, sublicense, and distribute the +// Work and such Derivative Works in Source or Object form. +// +// 3. Grant of Patent License. Subject to the terms and conditions of +// this License, each Contributor hereby grants to You a perpetual, +// worldwide, non-exclusive, no-charge, royalty-free, irrevocable +// (except as stated in this section) patent license to make, have made, +// use, offer to sell, sell, import, and otherwise transfer the Work, +// where such license applies only to those patent claims licensable +// by such Contributor that are necessarily infringed by their +// Contribution(s) alone or by combination of their Contribution(s) +// with the Work to which such Contribution(s) was submitted. If You +// institute patent litigation against any entity (including a +// cross-claim or counterclaim in a lawsuit) alleging that the Work +// or a Contribution incorporated within the Work constitutes direct +// or contributory patent infringement, then any patent licenses +// granted to You under this License for that Work shall terminate +// as of the date such litigation is filed. +// +// 4. Redistribution. You may reproduce and distribute copies of the +// Work or Derivative Works thereof in any medium, with or without +// modifications, and in Source or Object form, provided that You +// meet the following conditions: +// +// (a) You must give any other recipients of the Work or +// Derivative Works a copy of this License; and +// +// (b) You must cause any modified files to carry prominent notices +// stating that You changed the files; and +// +// (c) You must retain, in the Source form of any Derivative Works +// that You distribute, all copyright, patent, trademark, and +// attribution notices from the Source form of the Work, +// excluding those notices that do not pertain to any part of +// the Derivative Works; and +// +// (d) If the Work includes a "NOTICE" text file as part of its +// distribution, then any Derivative Works that You distribute must +// include a readable copy of the attribution notices contained +// within such NOTICE file, excluding those notices that do not +// pertain to any part of the Derivative Works, in at least one +// of the following places: within a NOTICE text file distributed +// as part of the Derivative Works; within the Source form or +// documentation, if provided along with the Derivative Works; or, +// within a display generated by the Derivative Works, if and +// wherever such third-party notices normally appear. The contents +// of the NOTICE file are for informational purposes only and +// do not modify the License. You may add Your own attribution +// notices within Derivative Works that You distribute, alongside +// or as an addendum to the NOTICE text from the Work, provided +// that such additional attribution notices cannot be construed +// as modifying the License. +// +// You may add Your own copyright statement to Your modifications and +// may provide additional or different license terms and conditions +// for use, reproduction, or distribution of Your modifications, or +// for any such Derivative Works as a whole, provided Your use, +// reproduction, and distribution of the Work otherwise complies with +// the conditions stated in this License. +// +// 5. Submission of Contributions. Unless You explicitly state otherwise, +// any Contribution intentionally submitted for inclusion in the Work +// by You to the Licensor shall be under the terms and conditions of +// this License, without any additional terms or conditions. +// Notwithstanding the above, nothing herein shall supersede or modify +// the terms of any separate license agreement you may have executed +// with Licensor regarding such Contributions. +// +// 6. Trademarks. This License does not grant permission to use the trade +// names, trademarks, service marks, or product names of the Licensor, +// except as required for reasonable and customary use in describing the +// origin of the Work and reproducing the content of the NOTICE file. +// +// 7. Disclaimer of Warranty. Unless required by applicable law or +// agreed to in writing, Licensor provides the Work (and each +// Contributor provides its Contributions) on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +// implied, including, without limitation, any warranties or conditions +// of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A +// PARTICULAR PURPOSE. You are solely responsible for determining the +// appropriateness of using or redistributing the Work and assume any +// risks associated with Your exercise of permissions under this License. +// +// 8. Limitation of Liability. In no event and under no legal theory, +// whether in tort (including negligence), contract, or otherwise, +// unless required by applicable law (such as deliberate and grossly +// negligent acts) or agreed to in writing, shall any Contributor be +// liable to You for damages, including any direct, indirect, special, +// incidental, or consequential damages of any character arising as a +// result of this License or out of the use or inability to use the +// Work (including but not limited to damages for loss of goodwill, +// work stoppage, computer failure or malfunction, or any and all +// other commercial damages or losses), even if such Contributor +// has been advised of the possibility of such damages. +// +// 9. Accepting Warranty or Additional Liability. While redistributing +// the Work or Derivative Works thereof, You may choose to offer, +// and charge a fee for, acceptance of support, warranty, indemnity, +// or other liability obligations and/or rights consistent with this +// License. However, in accepting such obligations, You may act only +// on Your own behalf and on Your sole responsibility, not on behalf +// of any other Contributor, and only if You agree to indemnify, +// defend, and hold each Contributor harmless for any liability +// incurred by, or claims asserted against, such Contributor by reason +// of your accepting any such warranty or additional liability. +// +// END OF TERMS AND CONDITIONS +// +// APPENDIX: How to apply the Apache License to your work. +// +// To apply the Apache License to your work, attach the following +// boilerplate notice, with the fields enclosed by brackets "{}" +// replaced with your own identifying information. (Don't include +// the brackets!) The text should be enclosed in the appropriate +// comment syntax for the file format. We also recommend that a +// file or class name and description of purpose be included on the +// same "printed page" as the copyright notice for easier +// identification within third-party archives. +// +// Copyright (c) 2017 Cisco +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.0 +// protoc v3.5.0 +// source: proto/telemetry/lldp/lldp_neighbor.proto + +package lldp + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type LldpNeighborEntry_KEYS struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NodeName string `protobuf:"bytes,1,opt,name=node_name,json=nodeName,proto3" json:"node_name,omitempty"` + InterfaceName string `protobuf:"bytes,2,opt,name=interface_name,json=interfaceName,proto3" json:"interface_name,omitempty"` + DeviceId string `protobuf:"bytes,3,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"` +} + +func (x *LldpNeighborEntry_KEYS) Reset() { + *x = LldpNeighborEntry_KEYS{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LldpNeighborEntry_KEYS) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LldpNeighborEntry_KEYS) ProtoMessage() {} + +func (x *LldpNeighborEntry_KEYS) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LldpNeighborEntry_KEYS.ProtoReflect.Descriptor instead. +func (*LldpNeighborEntry_KEYS) Descriptor() ([]byte, []int) { + return file_proto_telemetry_lldp_lldp_neighbor_proto_rawDescGZIP(), []int{0} +} + +func (x *LldpNeighborEntry_KEYS) GetNodeName() string { + if x != nil { + return x.NodeName } return "" } -func (m *LldpNeighbor_KEYS) GetInterfaceName() string { - if m != nil { - return m.InterfaceName +func (x *LldpNeighborEntry_KEYS) GetInterfaceName() string { + if x != nil { + return x.InterfaceName } return "" } -func (m *LldpNeighbor_KEYS) GetDeviceId() string { - if m != nil { - return m.DeviceId +func (x *LldpNeighborEntry_KEYS) GetDeviceId() string { + if x != nil { + return x.DeviceId } return "" } -type LldpNeighbor struct { - // Next neighbor in the list - LldpNeighbor []*LldpNeighborItem `protobuf:"bytes,50,rep,name=lldp_neighbor,json=lldpNeighbor" json:"lldp_neighbor,omitempty"` +type LldpL3Addr struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AddressType string `protobuf:"bytes,1,opt,name=address_type,json=addressType,proto3" json:"address_type,omitempty"` + IPv4Address string `protobuf:"bytes,2,opt,name=i_pv4_address,json=iPv4Address,proto3" json:"i_pv4_address,omitempty"` + IPv6Address string `protobuf:"bytes,3,opt,name=i_pv6_address,json=iPv6Address,proto3" json:"i_pv6_address,omitempty"` +} + +func (x *LldpL3Addr) Reset() { + *x = LldpL3Addr{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LldpL3Addr) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *LldpNeighbor) Reset() { *m = LldpNeighbor{} } -func (m *LldpNeighbor) String() string { return proto.CompactTextString(m) } -func (*LldpNeighbor) ProtoMessage() {} -func (*LldpNeighbor) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } +func (*LldpL3Addr) ProtoMessage() {} -func (m *LldpNeighbor) GetLldpNeighbor() []*LldpNeighborItem { - if m != nil { - return m.LldpNeighbor +func (x *LldpL3Addr) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -type LldpNeighborItem struct { - // Interface the neighbor entry was received on - ReceivingInterfaceName string `protobuf:"bytes,1,opt,name=receiving_interface_name,json=receivingInterfaceName" json:"receiving_interface_name,omitempty"` - // Parent Interface the neighbor entry was received on - ReceivingParentInterfaceName string `protobuf:"bytes,2,opt,name=receiving_parent_interface_name,json=receivingParentInterfaceName" json:"receiving_parent_interface_name,omitempty"` - // Device identifier - DeviceId string `protobuf:"bytes,3,opt,name=device_id,json=deviceId" json:"device_id,omitempty"` - // Chassis id - ChassisId string `protobuf:"bytes,4,opt,name=chassis_id,json=chassisId" json:"chassis_id,omitempty"` - // Outgoing port identifier - PortIdDetail string `protobuf:"bytes,5,opt,name=port_id_detail,json=portIdDetail" json:"port_id_detail,omitempty"` - // Version number - HeaderVersion uint32 `protobuf:"varint,6,opt,name=header_version,json=headerVersion" json:"header_version,omitempty"` - // Remaining hold time - HoldTime uint32 `protobuf:"varint,7,opt,name=hold_time,json=holdTime" json:"hold_time,omitempty"` - // Enabled Capabilities - EnabledCapabilities string `protobuf:"bytes,8,opt,name=enabled_capabilities,json=enabledCapabilities" json:"enabled_capabilities,omitempty"` - // Platform type - Platform string `protobuf:"bytes,9,opt,name=platform" json:"platform,omitempty"` - // Detailed neighbor info - Detail *LldpNeighborDetail `protobuf:"bytes,10,opt,name=detail" json:"detail,omitempty"` - // MIB nieghbor info - Mib *LldpNeighborMib `protobuf:"bytes,11,opt,name=mib" json:"mib,omitempty"` -} - -func (m *LldpNeighborItem) Reset() { *m = LldpNeighborItem{} } -func (m *LldpNeighborItem) String() string { return proto.CompactTextString(m) } -func (*LldpNeighborItem) ProtoMessage() {} -func (*LldpNeighborItem) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } - -func (m *LldpNeighborItem) GetReceivingInterfaceName() string { - if m != nil { - return m.ReceivingInterfaceName +// Deprecated: Use LldpL3Addr.ProtoReflect.Descriptor instead. +func (*LldpL3Addr) Descriptor() ([]byte, []int) { + return file_proto_telemetry_lldp_lldp_neighbor_proto_rawDescGZIP(), []int{1} +} + +func (x *LldpL3Addr) GetAddressType() string { + if x != nil { + return x.AddressType } return "" } -func (m *LldpNeighborItem) GetReceivingParentInterfaceName() string { - if m != nil { - return m.ReceivingParentInterfaceName +func (x *LldpL3Addr) GetIPv4Address() string { + if x != nil { + return x.IPv4Address } return "" } -func (m *LldpNeighborItem) GetDeviceId() string { - if m != nil { - return m.DeviceId +func (x *LldpL3Addr) GetIPv6Address() string { + if x != nil { + return x.IPv6Address } return "" } -func (m *LldpNeighborItem) GetChassisId() string { - if m != nil { - return m.ChassisId +type LldpAddrEntryItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address *LldpL3Addr `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + MaSubtype uint32 `protobuf:"varint,2,opt,name=ma_subtype,json=maSubtype,proto3" json:"ma_subtype,omitempty"` + IfNum uint32 `protobuf:"varint,3,opt,name=if_num,json=ifNum,proto3" json:"if_num,omitempty"` +} + +func (x *LldpAddrEntryItem) Reset() { + *x = LldpAddrEntryItem{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (m *LldpNeighborItem) GetPortIdDetail() string { - if m != nil { - return m.PortIdDetail +func (x *LldpAddrEntryItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LldpAddrEntryItem) ProtoMessage() {} + +func (x *LldpAddrEntryItem) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LldpAddrEntryItem.ProtoReflect.Descriptor instead. +func (*LldpAddrEntryItem) Descriptor() ([]byte, []int) { + return file_proto_telemetry_lldp_lldp_neighbor_proto_rawDescGZIP(), []int{2} +} + +func (x *LldpAddrEntryItem) GetAddress() *LldpL3Addr { + if x != nil { + return x.Address } - return "" + return nil } -func (m *LldpNeighborItem) GetHeaderVersion() uint32 { - if m != nil { - return m.HeaderVersion +func (x *LldpAddrEntryItem) GetMaSubtype() uint32 { + if x != nil { + return x.MaSubtype } return 0 } -func (m *LldpNeighborItem) GetHoldTime() uint32 { - if m != nil { - return m.HoldTime +func (x *LldpAddrEntryItem) GetIfNum() uint32 { + if x != nil { + return x.IfNum } return 0 } -func (m *LldpNeighborItem) GetEnabledCapabilities() string { - if m != nil { - return m.EnabledCapabilities +type LldpAddrEntryEntry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LldpAddrEntry []*LldpAddrEntryItem `protobuf:"bytes,1,rep,name=lldp_addr_entry,json=lldpAddrEntry,proto3" json:"lldp_addr_entry,omitempty"` +} + +func (x *LldpAddrEntryEntry) Reset() { + *x = LldpAddrEntryEntry{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (m *LldpNeighborItem) GetPlatform() string { - if m != nil { - return m.Platform +func (x *LldpAddrEntryEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LldpAddrEntryEntry) ProtoMessage() {} + +func (x *LldpAddrEntryEntry) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (m *LldpNeighborItem) GetDetail() *LldpNeighborDetail { - if m != nil { - return m.Detail +// Deprecated: Use LldpAddrEntryEntry.ProtoReflect.Descriptor instead. +func (*LldpAddrEntryEntry) Descriptor() ([]byte, []int) { + return file_proto_telemetry_lldp_lldp_neighbor_proto_rawDescGZIP(), []int{3} +} + +func (x *LldpAddrEntryEntry) GetLldpAddrEntry() []*LldpAddrEntryItem { + if x != nil { + return x.LldpAddrEntry } return nil } -func (m *LldpNeighborItem) GetMib() *LldpNeighborMib { - if m != nil { - return m.Mib +type LldpNeighborDetail struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PeerMacAddress string `protobuf:"bytes,1,opt,name=peer_mac_address,json=peerMacAddress,proto3" json:"peer_mac_address,omitempty"` + PortDescription string `protobuf:"bytes,2,opt,name=port_description,json=portDescription,proto3" json:"port_description,omitempty"` + SystemName string `protobuf:"bytes,3,opt,name=system_name,json=systemName,proto3" json:"system_name,omitempty"` + SystemDescription string `protobuf:"bytes,4,opt,name=system_description,json=systemDescription,proto3" json:"system_description,omitempty"` + TimeRemaining uint32 `protobuf:"varint,5,opt,name=time_remaining,json=timeRemaining,proto3" json:"time_remaining,omitempty"` + SystemCapabilities string `protobuf:"bytes,6,opt,name=system_capabilities,json=systemCapabilities,proto3" json:"system_capabilities,omitempty"` + EnabledCapabilities string `protobuf:"bytes,7,opt,name=enabled_capabilities,json=enabledCapabilities,proto3" json:"enabled_capabilities,omitempty"` + NetworkAddresses *LldpAddrEntryEntry `protobuf:"bytes,8,opt,name=network_addresses,json=networkAddresses,proto3" json:"network_addresses,omitempty"` + AutoNegotiation string `protobuf:"bytes,9,opt,name=auto_negotiation,json=autoNegotiation,proto3" json:"auto_negotiation,omitempty"` + PhysicalMediaCapabilities string `protobuf:"bytes,10,opt,name=physical_media_capabilities,json=physicalMediaCapabilities,proto3" json:"physical_media_capabilities,omitempty"` + MediaAttachmentUnitType uint32 `protobuf:"varint,11,opt,name=media_attachment_unit_type,json=mediaAttachmentUnitType,proto3" json:"media_attachment_unit_type,omitempty"` + PortVlanId uint32 `protobuf:"varint,12,opt,name=port_vlan_id,json=portVlanId,proto3" json:"port_vlan_id,omitempty"` +} + +func (x *LldpNeighborDetail) Reset() { + *x = LldpNeighborDetail{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -type In6AddrTd struct { - Value string `protobuf:"bytes,1,opt,name=value" json:"value,omitempty"` +func (x *LldpNeighborDetail) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *In6AddrTd) Reset() { *m = In6AddrTd{} } -func (m *In6AddrTd) String() string { return proto.CompactTextString(m) } -func (*In6AddrTd) ProtoMessage() {} -func (*In6AddrTd) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } +func (*LldpNeighborDetail) ProtoMessage() {} -func (m *In6AddrTd) GetValue() string { - if m != nil { - return m.Value +func (x *LldpNeighborDetail) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -type LldpL3Addr struct { - AddressType string `protobuf:"bytes,1,opt,name=address_type,json=addressType" json:"address_type,omitempty"` - // IPv4 address - Ipv4Address string `protobuf:"bytes,2,opt,name=ipv4_address,json=ipv4Address" json:"ipv4_address,omitempty"` - // IPv6 address - Ipv6Address *In6AddrTd `protobuf:"bytes,3,opt,name=ipv6_address,json=ipv6Address" json:"ipv6_address,omitempty"` +// Deprecated: Use LldpNeighborDetail.ProtoReflect.Descriptor instead. +func (*LldpNeighborDetail) Descriptor() ([]byte, []int) { + return file_proto_telemetry_lldp_lldp_neighbor_proto_rawDescGZIP(), []int{4} +} + +func (x *LldpNeighborDetail) GetPeerMacAddress() string { + if x != nil { + return x.PeerMacAddress + } + return "" } -func (m *LldpL3Addr) Reset() { *m = LldpL3Addr{} } -func (m *LldpL3Addr) String() string { return proto.CompactTextString(m) } -func (*LldpL3Addr) ProtoMessage() {} -func (*LldpL3Addr) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} } +func (x *LldpNeighborDetail) GetPortDescription() string { + if x != nil { + return x.PortDescription + } + return "" +} -func (m *LldpL3Addr) GetAddressType() string { - if m != nil { - return m.AddressType +func (x *LldpNeighborDetail) GetSystemName() string { + if x != nil { + return x.SystemName } return "" } -func (m *LldpL3Addr) GetIpv4Address() string { - if m != nil { - return m.Ipv4Address +func (x *LldpNeighborDetail) GetSystemDescription() string { + if x != nil { + return x.SystemDescription } return "" } -func (m *LldpL3Addr) GetIpv6Address() *In6AddrTd { - if m != nil { - return m.Ipv6Address +func (x *LldpNeighborDetail) GetTimeRemaining() uint32 { + if x != nil { + return x.TimeRemaining } - return nil + return 0 } -type LldpAddrEntry struct { - // Next address entry in list - LldpAddrEntry []*LldpAddrEntryItem `protobuf:"bytes,1,rep,name=lldp_addr_entry,json=lldpAddrEntry" json:"lldp_addr_entry,omitempty"` +func (x *LldpNeighborDetail) GetSystemCapabilities() string { + if x != nil { + return x.SystemCapabilities + } + return "" } -func (m *LldpAddrEntry) Reset() { *m = LldpAddrEntry{} } -func (m *LldpAddrEntry) String() string { return proto.CompactTextString(m) } -func (*LldpAddrEntry) ProtoMessage() {} -func (*LldpAddrEntry) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } +func (x *LldpNeighborDetail) GetEnabledCapabilities() string { + if x != nil { + return x.EnabledCapabilities + } + return "" +} -func (m *LldpAddrEntry) GetLldpAddrEntry() []*LldpAddrEntryItem { - if m != nil { - return m.LldpAddrEntry +func (x *LldpNeighborDetail) GetNetworkAddresses() *LldpAddrEntryEntry { + if x != nil { + return x.NetworkAddresses } return nil } -type LldpAddrEntryItem struct { - // Network layer address - Address *LldpL3Addr `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` - // MA sub type - MaSubtype uint32 `protobuf:"varint,2,opt,name=ma_subtype,json=maSubtype" json:"ma_subtype,omitempty"` - // Interface num - IfNum uint32 `protobuf:"varint,3,opt,name=if_num,json=ifNum" json:"if_num,omitempty"` +func (x *LldpNeighborDetail) GetAutoNegotiation() string { + if x != nil { + return x.AutoNegotiation + } + return "" } -func (m *LldpAddrEntryItem) Reset() { *m = LldpAddrEntryItem{} } -func (m *LldpAddrEntryItem) String() string { return proto.CompactTextString(m) } -func (*LldpAddrEntryItem) ProtoMessage() {} -func (*LldpAddrEntryItem) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } - -func (m *LldpAddrEntryItem) GetAddress() *LldpL3Addr { - if m != nil { - return m.Address +func (x *LldpNeighborDetail) GetPhysicalMediaCapabilities() string { + if x != nil { + return x.PhysicalMediaCapabilities } - return nil + return "" } -func (m *LldpAddrEntryItem) GetMaSubtype() uint32 { - if m != nil { - return m.MaSubtype +func (x *LldpNeighborDetail) GetMediaAttachmentUnitType() uint32 { + if x != nil { + return x.MediaAttachmentUnitType } return 0 } -func (m *LldpAddrEntryItem) GetIfNum() uint32 { - if m != nil { - return m.IfNum +func (x *LldpNeighborDetail) GetPortVlanId() uint32 { + if x != nil { + return x.PortVlanId } return 0 } -type LldpUnknownTlvEntry struct { - // Next unknown TLV entry in list - LldpUnknownTlvEntry []*LldpUnknownTlvEntryItem `protobuf:"bytes,1,rep,name=lldp_unknown_tlv_entry,json=lldpUnknownTlvEntry" json:"lldp_unknown_tlv_entry,omitempty"` -} +type LldpUnknownTlvEntryItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (m *LldpUnknownTlvEntry) Reset() { *m = LldpUnknownTlvEntry{} } -func (m *LldpUnknownTlvEntry) String() string { return proto.CompactTextString(m) } -func (*LldpUnknownTlvEntry) ProtoMessage() {} -func (*LldpUnknownTlvEntry) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} } + TlvType uint32 `protobuf:"varint,1,opt,name=tlv_type,json=tlvType,proto3" json:"tlv_type,omitempty"` + TlvValue string `protobuf:"bytes,2,opt,name=tlv_value,json=tlvValue,proto3" json:"tlv_value,omitempty"` +} -func (m *LldpUnknownTlvEntry) GetLldpUnknownTlvEntry() []*LldpUnknownTlvEntryItem { - if m != nil { - return m.LldpUnknownTlvEntry +func (x *LldpUnknownTlvEntryItem) Reset() { + *x = LldpUnknownTlvEntryItem{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -type LldpUnknownTlvEntryItem struct { - // Unknown TLV type - TlvType uint32 `protobuf:"varint,1,opt,name=tlv_type,json=tlvType" json:"tlv_type,omitempty"` - // Unknown TLV payload - TlvValue []byte `protobuf:"bytes,2,opt,name=tlv_value,json=tlvValue,proto3" json:"tlv_value,omitempty"` +func (x *LldpUnknownTlvEntryItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LldpUnknownTlvEntryItem) ProtoMessage() {} + +func (x *LldpUnknownTlvEntryItem) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -func (m *LldpUnknownTlvEntryItem) Reset() { *m = LldpUnknownTlvEntryItem{} } -func (m *LldpUnknownTlvEntryItem) String() string { return proto.CompactTextString(m) } -func (*LldpUnknownTlvEntryItem) ProtoMessage() {} -func (*LldpUnknownTlvEntryItem) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } +// Deprecated: Use LldpUnknownTlvEntryItem.ProtoReflect.Descriptor instead. +func (*LldpUnknownTlvEntryItem) Descriptor() ([]byte, []int) { + return file_proto_telemetry_lldp_lldp_neighbor_proto_rawDescGZIP(), []int{5} +} -func (m *LldpUnknownTlvEntryItem) GetTlvType() uint32 { - if m != nil { - return m.TlvType +func (x *LldpUnknownTlvEntryItem) GetTlvType() uint32 { + if x != nil { + return x.TlvType } return 0 } -func (m *LldpUnknownTlvEntryItem) GetTlvValue() []byte { - if m != nil { - return m.TlvValue +func (x *LldpUnknownTlvEntryItem) GetTlvValue() string { + if x != nil { + return x.TlvValue } - return nil + return "" } -type LldpOrgDefTlvEntry struct { - // Next Org Def TLV entry in list - LldpOrgDefTlvEntry []*LldpOrgDefTlvEntryItem `protobuf:"bytes,1,rep,name=lldp_org_def_tlv_entry,json=lldpOrgDefTlvEntry" json:"lldp_org_def_tlv_entry,omitempty"` +type LldpUnknownTlvEntryEntry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LldpUnknownTlvEntry []*LldpUnknownTlvEntryItem `protobuf:"bytes,1,rep,name=lldp_unknown_tlv_entry,json=lldpUnknownTlvEntry,proto3" json:"lldp_unknown_tlv_entry,omitempty"` } -func (m *LldpOrgDefTlvEntry) Reset() { *m = LldpOrgDefTlvEntry{} } -func (m *LldpOrgDefTlvEntry) String() string { return proto.CompactTextString(m) } -func (*LldpOrgDefTlvEntry) ProtoMessage() {} -func (*LldpOrgDefTlvEntry) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } +func (x *LldpUnknownTlvEntryEntry) Reset() { + *x = LldpUnknownTlvEntryEntry{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LldpUnknownTlvEntryEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LldpUnknownTlvEntryEntry) ProtoMessage() {} -func (m *LldpOrgDefTlvEntry) GetLldpOrgDefTlvEntry() []*LldpOrgDefTlvEntryItem { - if m != nil { - return m.LldpOrgDefTlvEntry +func (x *LldpUnknownTlvEntryEntry) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LldpUnknownTlvEntryEntry.ProtoReflect.Descriptor instead. +func (*LldpUnknownTlvEntryEntry) Descriptor() ([]byte, []int) { + return file_proto_telemetry_lldp_lldp_neighbor_proto_rawDescGZIP(), []int{6} +} + +func (x *LldpUnknownTlvEntryEntry) GetLldpUnknownTlvEntry() []*LldpUnknownTlvEntryItem { + if x != nil { + return x.LldpUnknownTlvEntry } return nil } type LldpOrgDefTlvEntryItem struct { - // Organizationally Unique Identifier - Oui uint32 `protobuf:"varint,1,opt,name=oui" json:"oui,omitempty"` - // Org Def TLV subtype - TlvSubtype uint32 `protobuf:"varint,2,opt,name=tlv_subtype,json=tlvSubtype" json:"tlv_subtype,omitempty"` - // lldpRemOrgDefInfoIndex - TlvInfoIndes uint32 `protobuf:"varint,3,opt,name=tlv_info_indes,json=tlvInfoIndes" json:"tlv_info_indes,omitempty"` - // Org Def TLV payload - TlvValue []byte `protobuf:"bytes,4,opt,name=tlv_value,json=tlvValue,proto3" json:"tlv_value,omitempty"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Oui uint32 `protobuf:"varint,1,opt,name=oui,proto3" json:"oui,omitempty"` + TlvSubtype uint32 `protobuf:"varint,2,opt,name=tlv_subtype,json=tlvSubtype,proto3" json:"tlv_subtype,omitempty"` + TlvInfoIndes uint32 `protobuf:"varint,3,opt,name=tlv_info_indes,json=tlvInfoIndes,proto3" json:"tlv_info_indes,omitempty"` + TlvValue string `protobuf:"bytes,4,opt,name=tlv_value,json=tlvValue,proto3" json:"tlv_value,omitempty"` +} + +func (x *LldpOrgDefTlvEntryItem) Reset() { + *x = LldpOrgDefTlvEntryItem{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -func (m *LldpOrgDefTlvEntryItem) Reset() { *m = LldpOrgDefTlvEntryItem{} } -func (m *LldpOrgDefTlvEntryItem) String() string { return proto.CompactTextString(m) } -func (*LldpOrgDefTlvEntryItem) ProtoMessage() {} -func (*LldpOrgDefTlvEntryItem) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} } +func (x *LldpOrgDefTlvEntryItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LldpOrgDefTlvEntryItem) ProtoMessage() {} -func (m *LldpOrgDefTlvEntryItem) GetOui() uint32 { - if m != nil { - return m.Oui +func (x *LldpOrgDefTlvEntryItem) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (m *LldpOrgDefTlvEntryItem) GetTlvSubtype() uint32 { - if m != nil { - return m.TlvSubtype +// Deprecated: Use LldpOrgDefTlvEntryItem.ProtoReflect.Descriptor instead. +func (*LldpOrgDefTlvEntryItem) Descriptor() ([]byte, []int) { + return file_proto_telemetry_lldp_lldp_neighbor_proto_rawDescGZIP(), []int{7} +} + +func (x *LldpOrgDefTlvEntryItem) GetOui() uint32 { + if x != nil { + return x.Oui } return 0 } -func (m *LldpOrgDefTlvEntryItem) GetTlvInfoIndes() uint32 { - if m != nil { - return m.TlvInfoIndes +func (x *LldpOrgDefTlvEntryItem) GetTlvSubtype() uint32 { + if x != nil { + return x.TlvSubtype } return 0 } -func (m *LldpOrgDefTlvEntryItem) GetTlvValue() []byte { - if m != nil { - return m.TlvValue +func (x *LldpOrgDefTlvEntryItem) GetTlvInfoIndes() uint32 { + if x != nil { + return x.TlvInfoIndes } - return nil + return 0 } -type LldpNeighborDetail struct { - // Port Description - PortDescription string `protobuf:"bytes,1,opt,name=port_description,json=portDescription" json:"port_description,omitempty"` - // System Name - SystemName string `protobuf:"bytes,2,opt,name=system_name,json=systemName" json:"system_name,omitempty"` - // System Description - SystemDescription string `protobuf:"bytes,3,opt,name=system_description,json=systemDescription" json:"system_description,omitempty"` - // Time remaining - TimeRemaining uint32 `protobuf:"varint,4,opt,name=time_remaining,json=timeRemaining" json:"time_remaining,omitempty"` - // System Capabilities - SystemCapabilities string `protobuf:"bytes,5,opt,name=system_capabilities,json=systemCapabilities" json:"system_capabilities,omitempty"` - // Enabled Capabilities - EnabledCapabilities string `protobuf:"bytes,6,opt,name=enabled_capabilities,json=enabledCapabilities" json:"enabled_capabilities,omitempty"` - // Management Addresses - NetworkAddresses *LldpAddrEntry `protobuf:"bytes,7,opt,name=network_addresses,json=networkAddresses" json:"network_addresses,omitempty"` - // Auto Negotiation - AutoNegotiation string `protobuf:"bytes,8,opt,name=auto_negotiation,json=autoNegotiation" json:"auto_negotiation,omitempty"` - // Physical media capabilities - PhysicalMediaCapabilities string `protobuf:"bytes,9,opt,name=physical_media_capabilities,json=physicalMediaCapabilities" json:"physical_media_capabilities,omitempty"` - // Media Attachment Unit type - MediaAttachmentUnitType uint32 `protobuf:"varint,10,opt,name=media_attachment_unit_type,json=mediaAttachmentUnitType" json:"media_attachment_unit_type,omitempty"` - // Vlan ID - PortVlanId uint32 `protobuf:"varint,11,opt,name=port_vlan_id,json=portVlanId" json:"port_vlan_id,omitempty"` -} - -func (m *LldpNeighborDetail) Reset() { *m = LldpNeighborDetail{} } -func (m *LldpNeighborDetail) String() string { return proto.CompactTextString(m) } -func (*LldpNeighborDetail) ProtoMessage() {} -func (*LldpNeighborDetail) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} } - -func (m *LldpNeighborDetail) GetPortDescription() string { - if m != nil { - return m.PortDescription +func (x *LldpOrgDefTlvEntryItem) GetTlvValue() string { + if x != nil { + return x.TlvValue } return "" } -func (m *LldpNeighborDetail) GetSystemName() string { - if m != nil { - return m.SystemName - } - return "" +type LldpOrgDefTlvEntryEntry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LldpOrgDefTlvEntry []*LldpOrgDefTlvEntryItem `protobuf:"bytes,1,rep,name=lldp_org_def_tlv_entry,json=lldpOrgDefTlvEntry,proto3" json:"lldp_org_def_tlv_entry,omitempty"` } -func (m *LldpNeighborDetail) GetSystemDescription() string { - if m != nil { - return m.SystemDescription +func (x *LldpOrgDefTlvEntryEntry) Reset() { + *x = LldpOrgDefTlvEntryEntry{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (m *LldpNeighborDetail) GetTimeRemaining() uint32 { - if m != nil { - return m.TimeRemaining - } - return 0 +func (x *LldpOrgDefTlvEntryEntry) String() string { + return protoimpl.X.MessageStringOf(x) } -func (m *LldpNeighborDetail) GetSystemCapabilities() string { - if m != nil { - return m.SystemCapabilities +func (*LldpOrgDefTlvEntryEntry) ProtoMessage() {} + +func (x *LldpOrgDefTlvEntryEntry) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (m *LldpNeighborDetail) GetEnabledCapabilities() string { - if m != nil { - return m.EnabledCapabilities - } - return "" +// Deprecated: Use LldpOrgDefTlvEntryEntry.ProtoReflect.Descriptor instead. +func (*LldpOrgDefTlvEntryEntry) Descriptor() ([]byte, []int) { + return file_proto_telemetry_lldp_lldp_neighbor_proto_rawDescGZIP(), []int{8} } -func (m *LldpNeighborDetail) GetNetworkAddresses() *LldpAddrEntry { - if m != nil { - return m.NetworkAddresses +func (x *LldpOrgDefTlvEntryEntry) GetLldpOrgDefTlvEntry() []*LldpOrgDefTlvEntryItem { + if x != nil { + return x.LldpOrgDefTlvEntry } return nil } -func (m *LldpNeighborDetail) GetAutoNegotiation() string { - if m != nil { - return m.AutoNegotiation +type LldpNeighborMib struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RemTimeMark uint32 `protobuf:"varint,1,opt,name=rem_time_mark,json=remTimeMark,proto3" json:"rem_time_mark,omitempty"` + RemLocalPortNum uint32 `protobuf:"varint,2,opt,name=rem_local_port_num,json=remLocalPortNum,proto3" json:"rem_local_port_num,omitempty"` + RemIndex uint32 `protobuf:"varint,3,opt,name=rem_index,json=remIndex,proto3" json:"rem_index,omitempty"` + ChassisIdSubType uint32 `protobuf:"varint,4,opt,name=chassis_id_sub_type,json=chassisIdSubType,proto3" json:"chassis_id_sub_type,omitempty"` + ChassisIdLen uint32 `protobuf:"varint,5,opt,name=chassis_id_len,json=chassisIdLen,proto3" json:"chassis_id_len,omitempty"` + PortIdSubType uint32 `protobuf:"varint,6,opt,name=port_id_sub_type,json=portIdSubType,proto3" json:"port_id_sub_type,omitempty"` + PortIdLen uint32 `protobuf:"varint,7,opt,name=port_id_len,json=portIdLen,proto3" json:"port_id_len,omitempty"` + CombinedCapabilities uint32 `protobuf:"varint,8,opt,name=combined_capabilities,json=combinedCapabilities,proto3" json:"combined_capabilities,omitempty"` + UnknownTlvList *LldpUnknownTlvEntryEntry `protobuf:"bytes,9,opt,name=unknown_tlv_list,json=unknownTlvList,proto3" json:"unknown_tlv_list,omitempty"` + OrgDefTlvList *LldpOrgDefTlvEntryEntry `protobuf:"bytes,10,opt,name=org_def_tlv_list,json=orgDefTlvList,proto3" json:"org_def_tlv_list,omitempty"` +} + +func (x *LldpNeighborMib) Reset() { + *x = LldpNeighborMib{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (m *LldpNeighborDetail) GetPhysicalMediaCapabilities() string { - if m != nil { - return m.PhysicalMediaCapabilities +func (x *LldpNeighborMib) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LldpNeighborMib) ProtoMessage() {} + +func (x *LldpNeighborMib) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (m *LldpNeighborDetail) GetMediaAttachmentUnitType() uint32 { - if m != nil { - return m.MediaAttachmentUnitType +// Deprecated: Use LldpNeighborMib.ProtoReflect.Descriptor instead. +func (*LldpNeighborMib) Descriptor() ([]byte, []int) { + return file_proto_telemetry_lldp_lldp_neighbor_proto_rawDescGZIP(), []int{9} +} + +func (x *LldpNeighborMib) GetRemTimeMark() uint32 { + if x != nil { + return x.RemTimeMark } return 0 } -func (m *LldpNeighborDetail) GetPortVlanId() uint32 { - if m != nil { - return m.PortVlanId +func (x *LldpNeighborMib) GetRemLocalPortNum() uint32 { + if x != nil { + return x.RemLocalPortNum } return 0 } -type LldpNeighborMib struct { - // TimeFilter - RemTimeMark uint32 `protobuf:"varint,1,opt,name=rem_time_mark,json=remTimeMark" json:"rem_time_mark,omitempty"` - // LldpPortNumber - RemLocalPortNum uint32 `protobuf:"varint,2,opt,name=rem_local_port_num,json=remLocalPortNum" json:"rem_local_port_num,omitempty"` - // lldpRemIndex - RemIndex uint32 `protobuf:"varint,3,opt,name=rem_index,json=remIndex" json:"rem_index,omitempty"` - // Chassis ID sub type - ChassisIdSubType uint32 `protobuf:"varint,4,opt,name=chassis_id_sub_type,json=chassisIdSubType" json:"chassis_id_sub_type,omitempty"` - // Chassis ID length - ChassisIdLen uint32 `protobuf:"varint,5,opt,name=chassis_id_len,json=chassisIdLen" json:"chassis_id_len,omitempty"` - // Port ID sub type - PortIdSubType uint32 `protobuf:"varint,6,opt,name=port_id_sub_type,json=portIdSubType" json:"port_id_sub_type,omitempty"` - // Port ID length - PortIdLen uint32 `protobuf:"varint,7,opt,name=port_id_len,json=portIdLen" json:"port_id_len,omitempty"` - // Supported and combined cpabilities - CombinedCapabilities uint32 `protobuf:"varint,8,opt,name=combined_capabilities,json=combinedCapabilities" json:"combined_capabilities,omitempty"` - // Unknown TLV list - UnknownTlvList *LldpUnknownTlvEntry `protobuf:"bytes,9,opt,name=unknown_tlv_list,json=unknownTlvList" json:"unknown_tlv_list,omitempty"` - // Org Def TLV list - OrgDefTlvList *LldpOrgDefTlvEntry `protobuf:"bytes,10,opt,name=org_def_tlv_list,json=orgDefTlvList" json:"org_def_tlv_list,omitempty"` -} - -func (m *LldpNeighborMib) Reset() { *m = LldpNeighborMib{} } -func (m *LldpNeighborMib) String() string { return proto.CompactTextString(m) } -func (*LldpNeighborMib) ProtoMessage() {} -func (*LldpNeighborMib) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} } - -func (m *LldpNeighborMib) GetRemTimeMark() uint32 { - if m != nil { - return m.RemTimeMark +func (x *LldpNeighborMib) GetRemIndex() uint32 { + if x != nil { + return x.RemIndex } return 0 } -func (m *LldpNeighborMib) GetRemLocalPortNum() uint32 { - if m != nil { - return m.RemLocalPortNum +func (x *LldpNeighborMib) GetChassisIdSubType() uint32 { + if x != nil { + return x.ChassisIdSubType } return 0 } -func (m *LldpNeighborMib) GetRemIndex() uint32 { - if m != nil { - return m.RemIndex +func (x *LldpNeighborMib) GetChassisIdLen() uint32 { + if x != nil { + return x.ChassisIdLen } return 0 } -func (m *LldpNeighborMib) GetChassisIdSubType() uint32 { - if m != nil { - return m.ChassisIdSubType +func (x *LldpNeighborMib) GetPortIdSubType() uint32 { + if x != nil { + return x.PortIdSubType } return 0 } -func (m *LldpNeighborMib) GetChassisIdLen() uint32 { - if m != nil { - return m.ChassisIdLen +func (x *LldpNeighborMib) GetPortIdLen() uint32 { + if x != nil { + return x.PortIdLen } return 0 } -func (m *LldpNeighborMib) GetPortIdSubType() uint32 { - if m != nil { - return m.PortIdSubType +func (x *LldpNeighborMib) GetCombinedCapabilities() uint32 { + if x != nil { + return x.CombinedCapabilities } return 0 } -func (m *LldpNeighborMib) GetPortIdLen() uint32 { - if m != nil { - return m.PortIdLen +func (x *LldpNeighborMib) GetUnknownTlvList() *LldpUnknownTlvEntryEntry { + if x != nil { + return x.UnknownTlvList + } + return nil +} + +func (x *LldpNeighborMib) GetOrgDefTlvList() *LldpOrgDefTlvEntryEntry { + if x != nil { + return x.OrgDefTlvList + } + return nil +} + +type LldpNeighborItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ReceivingInterfaceName string `protobuf:"bytes,1,opt,name=receiving_interface_name,json=receivingInterfaceName,proto3" json:"receiving_interface_name,omitempty"` + ReceivingParentInterfaceName string `protobuf:"bytes,2,opt,name=receiving_parent_interface_name,json=receivingParentInterfaceName,proto3" json:"receiving_parent_interface_name,omitempty"` + DeviceId string `protobuf:"bytes,3,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"` + ChassisId string `protobuf:"bytes,4,opt,name=chassis_id,json=chassisId,proto3" json:"chassis_id,omitempty"` + PortIdDetail string `protobuf:"bytes,5,opt,name=port_id_detail,json=portIdDetail,proto3" json:"port_id_detail,omitempty"` + HeaderVersion uint32 `protobuf:"varint,6,opt,name=header_version,json=headerVersion,proto3" json:"header_version,omitempty"` + HoldTime uint32 `protobuf:"varint,7,opt,name=hold_time,json=holdTime,proto3" json:"hold_time,omitempty"` + EnabledCapabilities string `protobuf:"bytes,8,opt,name=enabled_capabilities,json=enabledCapabilities,proto3" json:"enabled_capabilities,omitempty"` + Platform string `protobuf:"bytes,9,opt,name=platform,proto3" json:"platform,omitempty"` + Detail *LldpNeighborDetail `protobuf:"bytes,10,opt,name=detail,proto3" json:"detail,omitempty"` + Mib *LldpNeighborMib `protobuf:"bytes,11,opt,name=mib,proto3" json:"mib,omitempty"` +} + +func (x *LldpNeighborItem) Reset() { + *x = LldpNeighborItem{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LldpNeighborItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LldpNeighborItem) ProtoMessage() {} + +func (x *LldpNeighborItem) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LldpNeighborItem.ProtoReflect.Descriptor instead. +func (*LldpNeighborItem) Descriptor() ([]byte, []int) { + return file_proto_telemetry_lldp_lldp_neighbor_proto_rawDescGZIP(), []int{10} +} + +func (x *LldpNeighborItem) GetReceivingInterfaceName() string { + if x != nil { + return x.ReceivingInterfaceName + } + return "" +} + +func (x *LldpNeighborItem) GetReceivingParentInterfaceName() string { + if x != nil { + return x.ReceivingParentInterfaceName + } + return "" +} + +func (x *LldpNeighborItem) GetDeviceId() string { + if x != nil { + return x.DeviceId + } + return "" +} + +func (x *LldpNeighborItem) GetChassisId() string { + if x != nil { + return x.ChassisId + } + return "" +} + +func (x *LldpNeighborItem) GetPortIdDetail() string { + if x != nil { + return x.PortIdDetail + } + return "" +} + +func (x *LldpNeighborItem) GetHeaderVersion() uint32 { + if x != nil { + return x.HeaderVersion } return 0 } -func (m *LldpNeighborMib) GetCombinedCapabilities() uint32 { - if m != nil { - return m.CombinedCapabilities +func (x *LldpNeighborItem) GetHoldTime() uint32 { + if x != nil { + return x.HoldTime } return 0 } -func (m *LldpNeighborMib) GetUnknownTlvList() *LldpUnknownTlvEntry { - if m != nil { - return m.UnknownTlvList +func (x *LldpNeighborItem) GetEnabledCapabilities() string { + if x != nil { + return x.EnabledCapabilities + } + return "" +} + +func (x *LldpNeighborItem) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *LldpNeighborItem) GetDetail() *LldpNeighborDetail { + if x != nil { + return x.Detail } return nil } -func (m *LldpNeighborMib) GetOrgDefTlvList() *LldpOrgDefTlvEntry { - if m != nil { - return m.OrgDefTlvList +func (x *LldpNeighborItem) GetMib() *LldpNeighborMib { + if x != nil { + return x.Mib } return nil } -func init() { - proto.RegisterType((*LldpNeighbor_KEYS)(nil), "cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_neighbor_KEYS") - proto.RegisterType((*LldpNeighbor)(nil), "cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_neighbor") - proto.RegisterType((*LldpNeighborItem)(nil), "cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_neighbor_item") - proto.RegisterType((*In6AddrTd)(nil), "cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.in6_addr_td") - proto.RegisterType((*LldpL3Addr)(nil), "cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_l3_addr") - proto.RegisterType((*LldpAddrEntry)(nil), "cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_addr_entry") - proto.RegisterType((*LldpAddrEntryItem)(nil), "cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_addr_entry_item") - proto.RegisterType((*LldpUnknownTlvEntry)(nil), "cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_unknown_tlv_entry") - proto.RegisterType((*LldpUnknownTlvEntryItem)(nil), "cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_unknown_tlv_entry_item") - proto.RegisterType((*LldpOrgDefTlvEntry)(nil), "cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_org_def_tlv_entry") - proto.RegisterType((*LldpOrgDefTlvEntryItem)(nil), "cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_org_def_tlv_entry_item") - proto.RegisterType((*LldpNeighborDetail)(nil), "cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_neighbor_detail") - proto.RegisterType((*LldpNeighborMib)(nil), "cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_neighbor_mib") -} - -func init() { proto.RegisterFile("lldp_neighbor.proto", fileDescriptor0) } - -var fileDescriptor0 = []byte{ - // 1196 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x57, 0xdf, 0x6e, 0x1b, 0xc5, - 0x17, 0xd6, 0x36, 0x69, 0x6a, 0x9f, 0xf5, 0x26, 0xee, 0x24, 0xed, 0xcf, 0x6d, 0x7e, 0xd0, 0x60, - 0x5a, 0x11, 0x84, 0x6a, 0x44, 0x8a, 0x2a, 0x24, 0x24, 0xa4, 0x8a, 0x56, 0xc2, 0xa2, 0x0d, 0xd5, - 0x36, 0x89, 0x54, 0x81, 0x18, 0xc6, 0xde, 0xb1, 0x3d, 0xca, 0xce, 0xec, 0x6a, 0x76, 0x76, 0x9b, - 0x5c, 0x72, 0x53, 0x09, 0x6e, 0x7b, 0x45, 0x9f, 0x03, 0x6e, 0x79, 0x04, 0xde, 0x04, 0x21, 0xde, - 0x00, 0x9d, 0x99, 0x59, 0xc7, 0xce, 0x1f, 0xc4, 0x45, 0x7c, 0x13, 0xdb, 0xdf, 0xf9, 0x66, 0xce, - 0x9c, 0x6f, 0xce, 0x9f, 0x09, 0xac, 0xa7, 0x69, 0x92, 0x53, 0xc5, 0xc5, 0x78, 0x32, 0xc8, 0x74, - 0x2f, 0xd7, 0x99, 0xc9, 0xc8, 0x57, 0x43, 0x51, 0x0c, 0x33, 0x2a, 0xb2, 0x82, 0x1e, 0x69, 0xca, - 0xcd, 0x84, 0x6b, 0xc5, 0x0d, 0xb5, 0xd4, 0x2c, 0xe7, 0xba, 0x87, 0xdf, 0x7a, 0x2a, 0x4b, 0x78, - 0x61, 0xff, 0xf6, 0xea, 0xf5, 0x45, 0x2f, 0xe1, 0x86, 0x89, 0xb4, 0xfe, 0xec, 0x96, 0x40, 0xe6, - 0x1c, 0xd0, 0xaf, 0x9f, 0xbc, 0x7c, 0x41, 0x36, 0xa1, 0x89, 0xcb, 0xa8, 0x62, 0x92, 0x77, 0x82, - 0xad, 0x60, 0xbb, 0x19, 0x37, 0x10, 0xd8, 0x65, 0x92, 0x93, 0x7b, 0xb0, 0x2a, 0x94, 0xe1, 0x7a, - 0xc4, 0x86, 0x9e, 0x71, 0xc5, 0x32, 0xa2, 0x29, 0x6a, 0x69, 0x9b, 0xd0, 0x4c, 0x78, 0x25, 0x86, - 0x9c, 0x8a, 0xa4, 0xb3, 0xe4, 0xf6, 0x70, 0x40, 0x3f, 0xe9, 0xbe, 0x09, 0x20, 0x9a, 0xf3, 0x4b, - 0x7e, 0x3c, 0x8d, 0x74, 0x76, 0xb6, 0x96, 0xb6, 0xc3, 0x9d, 0xef, 0x7a, 0x97, 0x15, 0x6b, 0x6f, - 0x3e, 0x50, 0x61, 0xb8, 0x8c, 0x5b, 0x88, 0xed, 0x7a, 0xa8, 0xfb, 0xf7, 0xf2, 0x69, 0x35, 0x90, - 0x44, 0x3e, 0x83, 0x8e, 0xe6, 0x43, 0x2e, 0x2a, 0xa1, 0xc6, 0xf4, 0x54, 0xe8, 0x4e, 0x9c, 0x9b, - 0x53, 0x7b, 0x7f, 0x4e, 0x83, 0x27, 0x70, 0xe7, 0x64, 0x65, 0xce, 0x34, 0x57, 0x86, 0x9e, 0xab, - 0xdd, 0xff, 0xa7, 0xb4, 0xe7, 0x96, 0xd5, 0xff, 0xcf, 0x52, 0x92, 0x77, 0x00, 0x86, 0x13, 0x56, - 0x14, 0xa2, 0x40, 0xeb, 0xb2, 0xb5, 0x36, 0x3d, 0xd2, 0x4f, 0xc8, 0x5d, 0x58, 0xcd, 0x33, 0x6d, - 0xa8, 0x48, 0xa8, 0x93, 0xa1, 0x73, 0xd5, 0x52, 0x5a, 0x88, 0xf6, 0x93, 0xc7, 0x16, 0xc3, 0x3b, - 0x9d, 0x70, 0x96, 0x70, 0x4d, 0x2b, 0xae, 0x0b, 0x91, 0xa9, 0xce, 0xca, 0x56, 0xb0, 0x1d, 0xc5, - 0x91, 0x43, 0x0f, 0x1c, 0x88, 0x07, 0x99, 0x64, 0x69, 0x42, 0x8d, 0x90, 0xbc, 0x73, 0xcd, 0x32, - 0x1a, 0x08, 0xec, 0x09, 0xc9, 0xc9, 0x27, 0xb0, 0xc1, 0x15, 0x1b, 0xa4, 0x3c, 0xa1, 0x43, 0x96, - 0xb3, 0x81, 0x48, 0x85, 0x11, 0xbc, 0xe8, 0x34, 0xac, 0xbf, 0x75, 0x6f, 0xfb, 0x72, 0xc6, 0x44, - 0x6e, 0x43, 0x23, 0x4f, 0x99, 0x19, 0x65, 0x5a, 0x76, 0x9a, 0x2e, 0xae, 0xfa, 0x37, 0xa9, 0x60, - 0xc5, 0x1f, 0x18, 0xb6, 0x82, 0xed, 0x70, 0xe7, 0xfb, 0x45, 0x25, 0x82, 0x03, 0x63, 0xef, 0x8d, - 0x48, 0x58, 0x92, 0x62, 0xd0, 0x09, 0xad, 0xd3, 0x6f, 0x17, 0xe5, 0x54, 0x8a, 0x41, 0x8c, 0x7e, - 0xba, 0xef, 0x43, 0x28, 0xd4, 0x43, 0xca, 0x92, 0x44, 0x53, 0x93, 0x90, 0x0d, 0xb8, 0x5a, 0xb1, - 0xb4, 0xac, 0x13, 0xcb, 0xfd, 0xe8, 0xfe, 0x11, 0x80, 0xcd, 0x54, 0x9a, 0x3e, 0xb0, 0x4c, 0xf2, - 0x1e, 0xb4, 0xf0, 0x93, 0x17, 0x05, 0x35, 0xc7, 0x79, 0xcd, 0x0e, 0x3d, 0xb6, 0x77, 0x9c, 0x73, - 0xa4, 0x88, 0xbc, 0xfa, 0x94, 0x7a, 0xcc, 0x27, 0x5a, 0x88, 0xd8, 0x23, 0x07, 0x91, 0x23, 0x4b, - 0x79, 0x38, 0xa5, 0x2c, 0xd9, 0x98, 0xf7, 0x2f, 0x2f, 0xe6, 0x99, 0xc8, 0xac, 0xe7, 0x87, 0xde, - 0x73, 0xf7, 0x6d, 0x00, 0x6b, 0x76, 0x3f, 0x6b, 0xe5, 0xca, 0xe8, 0x63, 0xf2, 0xfa, 0x2c, 0xd6, - 0x09, 0x6c, 0x0f, 0xb8, 0xec, 0xab, 0x3f, 0x71, 0xe0, 0xba, 0x80, 0x6d, 0x3c, 0x78, 0xb4, 0x27, - 0x88, 0x75, 0x7f, 0x0f, 0x60, 0xe3, 0x3c, 0x1e, 0xc9, 0xe1, 0x5a, 0x2d, 0x55, 0x60, 0xa5, 0x3a, - 0xb8, 0xe4, 0x83, 0xf9, 0xeb, 0x8d, 0x6b, 0x37, 0x58, 0xdc, 0x92, 0xd1, 0xa2, 0x1c, 0xd8, 0x5b, - 0xbe, 0x62, 0x2b, 0xae, 0x29, 0xd9, 0x0b, 0x07, 0x90, 0x1b, 0xb0, 0x22, 0x46, 0x54, 0x95, 0xd2, - 0x5e, 0x5d, 0x14, 0x5f, 0x15, 0xa3, 0xdd, 0x52, 0x76, 0x7f, 0x0b, 0xe0, 0xa6, 0xdd, 0xaf, 0x54, - 0x87, 0x2a, 0x7b, 0xa5, 0xa8, 0x49, 0x2b, 0x2f, 0xf2, 0xdb, 0x0b, 0x4d, 0x5e, 0x6b, 0x7e, 0xc9, - 0x21, 0x9d, 0xf1, 0xe3, 0x24, 0xb7, 0x63, 0x6d, 0xdf, 0xd9, 0xf6, 0xd2, 0xca, 0x09, 0xbf, 0x0f, - 0x9b, 0xff, 0xb2, 0x86, 0xdc, 0x82, 0x06, 0x22, 0xd3, 0x84, 0x8f, 0xe2, 0x6b, 0x26, 0xad, 0x6c, - 0xb2, 0x6f, 0x42, 0x13, 0x4d, 0xae, 0x74, 0x50, 0xa6, 0x56, 0x8c, 0xdc, 0x03, 0x5b, 0x3d, 0xbf, - 0xd6, 0x31, 0x67, 0x7a, 0x4c, 0x13, 0x3e, 0x9a, 0x91, 0xe3, 0x97, 0x0b, 0x4d, 0x0b, 0x92, 0xe3, - 0x8c, 0x1f, 0x27, 0x87, 0x1d, 0x3b, 0xdf, 0xe8, 0xf1, 0x63, 0x3e, 0x9a, 0xaa, 0xf1, 0x26, 0xf0, - 0x72, 0x9c, 0xbf, 0x86, 0xb4, 0x61, 0x29, 0x2b, 0x85, 0x57, 0x02, 0xbf, 0x92, 0x3b, 0x10, 0x22, - 0x67, 0x3e, 0x5d, 0xc0, 0xa4, 0x55, 0x9d, 0x2f, 0x77, 0x61, 0x15, 0x09, 0x42, 0x8d, 0x32, 0x2a, - 0x54, 0xc2, 0x0b, 0x9f, 0x37, 0x2d, 0x93, 0x56, 0x7d, 0x35, 0xca, 0xfa, 0x88, 0xcd, 0x8b, 0xb9, - 0x7c, 0x4a, 0xcc, 0xbf, 0x96, 0x7d, 0x71, 0x9c, 0xea, 0x9f, 0xe4, 0x43, 0x68, 0xdb, 0x41, 0x93, - 0xf0, 0x62, 0xa8, 0x45, 0x6e, 0x70, 0x88, 0xb8, 0xb6, 0xb4, 0x86, 0xf8, 0xe3, 0x13, 0x18, 0xcf, - 0x59, 0x1c, 0x17, 0x86, 0xcb, 0xd9, 0x11, 0x08, 0x0e, 0xb2, 0x03, 0xef, 0x3e, 0x10, 0x4f, 0x98, - 0xdd, 0xcd, 0x4d, 0xbe, 0xeb, 0xce, 0x32, 0xbb, 0xdf, 0x3d, 0x58, 0xc5, 0x89, 0x44, 0x35, 0x97, - 0x4c, 0x28, 0xa1, 0xc6, 0xf6, 0xd4, 0x51, 0x1c, 0x21, 0x1a, 0xd7, 0x20, 0xf9, 0x18, 0xd6, 0xfd, - 0xae, 0x73, 0xf3, 0xc9, 0xcd, 0x43, 0xef, 0x70, 0x6e, 0x3c, 0x5d, 0x34, 0xd1, 0x56, 0x2e, 0x9e, - 0x68, 0xaf, 0x03, 0xb8, 0xae, 0xb8, 0x79, 0x95, 0xe9, 0xc3, 0xba, 0xad, 0xf2, 0xc2, 0x8e, 0xca, - 0x70, 0xe7, 0xe5, 0xc2, 0xda, 0x58, 0xdc, 0xf6, 0x3e, 0x1f, 0xd5, 0x2e, 0xf1, 0x3a, 0x58, 0x69, - 0x32, 0xaa, 0xf8, 0x38, 0x33, 0x82, 0x59, 0x01, 0xdd, 0x24, 0x5e, 0x43, 0x7c, 0xf7, 0x04, 0x26, - 0x5f, 0xc0, 0x66, 0x3e, 0x39, 0x2e, 0xc4, 0x90, 0xa5, 0x54, 0xf2, 0x44, 0xb0, 0xf9, 0x68, 0xdd, - 0x60, 0xbe, 0x55, 0x53, 0x9e, 0x21, 0x63, 0x2e, 0xe6, 0xcf, 0xe1, 0xb6, 0x5b, 0xc6, 0x8c, 0x61, - 0xc3, 0x89, 0xc4, 0x57, 0x4e, 0xa9, 0x84, 0x71, 0x95, 0x0a, 0xf6, 0x2a, 0xfe, 0x67, 0x19, 0x8f, - 0xa6, 0x84, 0x7d, 0x25, 0x8c, 0xad, 0xdc, 0x2d, 0xb0, 0x2f, 0x11, 0x5a, 0xa5, 0x4c, 0xe1, 0x03, - 0x26, 0x74, 0x49, 0x8b, 0xd8, 0x41, 0xca, 0x54, 0x3f, 0xe9, 0xfe, 0xb9, 0x0c, 0xd7, 0xcf, 0x0c, - 0x4f, 0xd2, 0x85, 0x48, 0x73, 0x69, 0x5f, 0x22, 0x54, 0x32, 0x7d, 0xe8, 0xeb, 0x20, 0xd4, 0x5c, - 0xe2, 0x6b, 0xe4, 0x19, 0xd3, 0x87, 0xe4, 0x23, 0x20, 0xc8, 0x49, 0x33, 0x8c, 0xcc, 0x7a, 0xc1, - 0x56, 0xe9, 0xca, 0x62, 0x4d, 0x73, 0xf9, 0x14, 0x0d, 0xcf, 0x33, 0x6d, 0x76, 0x4b, 0x89, 0x59, - 0x8f, 0x64, 0x2c, 0x8b, 0x23, 0x5f, 0x16, 0x0d, 0xcd, 0x25, 0x96, 0xc4, 0x11, 0xb9, 0x0f, 0xeb, - 0x27, 0x8f, 0x2c, 0x2c, 0x30, 0x17, 0x9b, 0x4b, 0xb3, 0xf6, 0xf4, 0xb5, 0xf5, 0xa2, 0x1c, 0xec, - 0xf9, 0x3a, 0x9b, 0xa1, 0xa7, 0x5c, 0xd9, 0x24, 0x8b, 0xe2, 0xd6, 0x94, 0xf9, 0x94, 0x2b, 0xf2, - 0x81, 0xaf, 0x98, 0xd9, 0x1d, 0xfd, 0xb3, 0xcb, 0x3d, 0xce, 0xea, 0xed, 0xde, 0x85, 0xb0, 0x26, - 0xe2, 0x5e, 0xee, 0xe1, 0xd5, 0x74, 0x1c, 0xdc, 0xe8, 0x01, 0xdc, 0x18, 0x66, 0x72, 0x20, 0xd4, - 0x79, 0x4f, 0xaf, 0x28, 0xde, 0xa8, 0x8d, 0x73, 0xb7, 0xf6, 0x73, 0x00, 0xed, 0xd9, 0x46, 0x9b, - 0x8a, 0xc2, 0xd8, 0xbb, 0x0e, 0x77, 0x7e, 0x58, 0xf4, 0x0c, 0x88, 0x57, 0xcb, 0x69, 0xeb, 0x7f, - 0x2a, 0x0a, 0x43, 0x7e, 0x0a, 0xa0, 0x3d, 0xdb, 0xe6, 0xec, 0x61, 0x60, 0x21, 0x87, 0x39, 0xd3, - 0x4d, 0xe3, 0x28, 0xab, 0x1b, 0x2f, 0x9e, 0x65, 0xb0, 0x62, 0xff, 0xc7, 0x7a, 0xf0, 0x4f, 0x00, - 0x00, 0x00, 0xff, 0xff, 0xb6, 0x90, 0xec, 0xe6, 0x7a, 0x0d, 0x00, 0x00, +type LldpNeighborEntry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LldpNeighbor []*LldpNeighborItem `protobuf:"bytes,50,rep,name=lldp_neighbor,json=lldpNeighbor,proto3" json:"lldp_neighbor,omitempty"` +} + +func (x *LldpNeighborEntry) Reset() { + *x = LldpNeighborEntry{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LldpNeighborEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LldpNeighborEntry) ProtoMessage() {} + +func (x *LldpNeighborEntry) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LldpNeighborEntry.ProtoReflect.Descriptor instead. +func (*LldpNeighborEntry) Descriptor() ([]byte, []int) { + return file_proto_telemetry_lldp_lldp_neighbor_proto_rawDescGZIP(), []int{11} +} + +func (x *LldpNeighborEntry) GetLldpNeighbor() []*LldpNeighborItem { + if x != nil { + return x.LldpNeighbor + } + return nil +} + +var File_proto_telemetry_lldp_lldp_neighbor_proto protoreflect.FileDescriptor + +var file_proto_telemetry_lldp_lldp_neighbor_proto_rawDesc = []byte{ + 0x0a, 0x28, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, + 0x79, 0x2f, 0x6c, 0x6c, 0x64, 0x70, 0x2f, 0x6c, 0x6c, 0x64, 0x70, 0x5f, 0x6e, 0x65, 0x69, 0x67, + 0x68, 0x62, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x48, 0x63, 0x69, 0x73, 0x63, + 0x6f, 0x5f, 0x69, 0x6f, 0x73, 0x5f, 0x78, 0x72, 0x5f, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, + 0x74, 0x5f, 0x6c, 0x6c, 0x64, 0x70, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x6c, 0x6c, 0x64, 0x70, + 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x6e, 0x65, 0x69, 0x67, + 0x68, 0x62, 0x6f, 0x72, 0x73, 0x2e, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x64, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x22, 0x7b, 0x0a, 0x18, 0x6c, 0x6c, 0x64, 0x70, 0x5f, 0x6e, 0x65, 0x69, + 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x4b, 0x45, 0x59, 0x53, + 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, + 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, + 0x64, 0x22, 0x79, 0x0a, 0x0c, 0x6c, 0x6c, 0x64, 0x70, 0x5f, 0x6c, 0x33, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x5f, 0x70, 0x76, 0x34, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x50, 0x76, + 0x34, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x5f, 0x70, 0x76, + 0x36, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x69, 0x50, 0x76, 0x36, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xbe, 0x01, 0x0a, + 0x14, 0x6c, 0x6c, 0x64, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, + 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x70, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x63, 0x69, 0x73, 0x63, 0x6f, 0x5f, 0x69, + 0x6f, 0x73, 0x5f, 0x78, 0x72, 0x5f, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x5f, 0x6c, + 0x6c, 0x64, 0x70, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x6c, 0x6c, 0x64, 0x70, 0x2e, 0x6e, 0x6f, + 0x64, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, + 0x72, 0x73, 0x2e, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x64, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2e, 0x6c, 0x6c, 0x64, 0x70, 0x5f, 0x6c, 0x33, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x52, 0x07, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x5f, 0x73, 0x75, + 0x62, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x61, 0x53, + 0x75, 0x62, 0x74, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x66, 0x5f, 0x6e, 0x75, 0x6d, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x66, 0x4e, 0x75, 0x6d, 0x22, 0xa0, 0x01, + 0x0a, 0x15, 0x6c, 0x6c, 0x64, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x72, + 0x79, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x86, 0x01, 0x0a, 0x0f, 0x6c, 0x6c, 0x64, 0x70, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x5e, 0x2e, 0x63, 0x69, 0x73, 0x63, 0x6f, 0x5f, 0x69, 0x6f, 0x73, 0x5f, 0x78, 0x72, + 0x5f, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x5f, 0x6c, 0x6c, 0x64, 0x70, 0x5f, 0x6f, + 0x70, 0x65, 0x72, 0x2e, 0x6c, 0x6c, 0x64, 0x70, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x2e, 0x6e, + 0x6f, 0x64, 0x65, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x2e, 0x64, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x6c, 0x6c, 0x64, + 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x69, 0x74, 0x65, + 0x6d, 0x52, 0x0d, 0x6c, 0x6c, 0x64, 0x70, 0x41, 0x64, 0x64, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x22, 0x9f, 0x05, 0x0a, 0x14, 0x6c, 0x6c, 0x64, 0x70, 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, + 0x6f, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x65, 0x65, + 0x72, 0x5f, 0x6d, 0x61, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x65, 0x65, 0x72, 0x4d, 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, + 0x6f, 0x72, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, + 0x0a, 0x0b, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x2d, 0x0a, 0x12, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, + 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x61, + 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x2f, 0x0a, 0x13, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, + 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x12, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x43, 0x61, 0x70, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x8c, 0x01, 0x0a, 0x11, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5f, 0x2e, 0x63, 0x69, 0x73, 0x63, 0x6f, 0x5f, 0x69, 0x6f, + 0x73, 0x5f, 0x78, 0x72, 0x5f, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x5f, 0x6c, 0x6c, + 0x64, 0x70, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x6c, 0x6c, 0x64, 0x70, 0x2e, 0x6e, 0x6f, 0x64, + 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, + 0x73, 0x2e, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x6c, 0x6c, 0x64, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, + 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x75, 0x74, 0x6f, + 0x5f, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0f, 0x61, 0x75, 0x74, 0x6f, 0x4e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x1b, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, + 0x6d, 0x65, 0x64, 0x69, 0x61, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, + 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, + 0x61, 0x6c, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x69, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x5f, 0x61, 0x74, 0x74, + 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x76, 0x6c, 0x61, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x56, 0x6c, 0x61, 0x6e, + 0x49, 0x64, 0x22, 0x55, 0x0a, 0x1b, 0x6c, 0x6c, 0x64, 0x70, 0x5f, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, + 0x77, 0x6e, 0x5f, 0x74, 0x6c, 0x76, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x69, 0x74, 0x65, + 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6c, 0x76, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x6c, 0x76, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x74, 0x6c, 0x76, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x74, 0x6c, 0x76, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xbb, 0x01, 0x0a, 0x1c, 0x6c, 0x6c, + 0x64, 0x70, 0x5f, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x74, 0x6c, 0x76, 0x5f, 0x65, + 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x9a, 0x01, 0x0a, 0x16, 0x6c, + 0x6c, 0x64, 0x70, 0x5f, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x74, 0x6c, 0x76, 0x5f, + 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x65, 0x2e, 0x63, 0x69, + 0x73, 0x63, 0x6f, 0x5f, 0x69, 0x6f, 0x73, 0x5f, 0x78, 0x72, 0x5f, 0x65, 0x74, 0x68, 0x65, 0x72, + 0x6e, 0x65, 0x74, 0x5f, 0x6c, 0x6c, 0x64, 0x70, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x6c, 0x6c, + 0x64, 0x70, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x6e, 0x65, + 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x2e, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, + 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x6c, 0x6c, 0x64, 0x70, 0x5f, 0x75, 0x6e, 0x6b, 0x6e, + 0x6f, 0x77, 0x6e, 0x5f, 0x74, 0x6c, 0x76, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x69, 0x74, + 0x65, 0x6d, 0x52, 0x13, 0x6c, 0x6c, 0x64, 0x70, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x54, + 0x6c, 0x76, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x93, 0x01, 0x0a, 0x1b, 0x6c, 0x6c, 0x64, 0x70, + 0x5f, 0x6f, 0x72, 0x67, 0x5f, 0x64, 0x65, 0x66, 0x5f, 0x74, 0x6c, 0x76, 0x5f, 0x65, 0x6e, 0x74, + 0x72, 0x79, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x75, 0x69, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6f, 0x75, 0x69, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6c, 0x76, + 0x5f, 0x73, 0x75, 0x62, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, + 0x74, 0x6c, 0x76, 0x53, 0x75, 0x62, 0x74, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x6c, + 0x76, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x6c, 0x76, 0x49, 0x6e, 0x66, 0x6f, 0x49, 0x6e, 0x64, 0x65, 0x73, + 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6c, 0x76, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x6c, 0x76, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xba, 0x01, + 0x0a, 0x1c, 0x6c, 0x6c, 0x64, 0x70, 0x5f, 0x6f, 0x72, 0x67, 0x5f, 0x64, 0x65, 0x66, 0x5f, 0x74, + 0x6c, 0x76, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x99, + 0x01, 0x0a, 0x16, 0x6c, 0x6c, 0x64, 0x70, 0x5f, 0x6f, 0x72, 0x67, 0x5f, 0x64, 0x65, 0x66, 0x5f, + 0x74, 0x6c, 0x76, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x65, 0x2e, 0x63, 0x69, 0x73, 0x63, 0x6f, 0x5f, 0x69, 0x6f, 0x73, 0x5f, 0x78, 0x72, 0x5f, 0x65, + 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x5f, 0x6c, 0x6c, 0x64, 0x70, 0x5f, 0x6f, 0x70, 0x65, + 0x72, 0x2e, 0x6c, 0x6c, 0x64, 0x70, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x64, + 0x65, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x2e, 0x64, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x2e, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x6c, 0x6c, 0x64, 0x70, 0x5f, + 0x6f, 0x72, 0x67, 0x5f, 0x64, 0x65, 0x66, 0x5f, 0x74, 0x6c, 0x76, 0x5f, 0x65, 0x6e, 0x74, 0x72, + 0x79, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x52, 0x12, 0x6c, 0x6c, 0x64, 0x70, 0x4f, 0x72, 0x67, 0x44, + 0x65, 0x66, 0x54, 0x6c, 0x76, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x22, 0xf9, 0x04, 0x0a, 0x11, 0x6c, + 0x6c, 0x64, 0x70, 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x6d, 0x69, 0x62, + 0x12, 0x22, 0x0a, 0x0d, 0x72, 0x65, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x72, + 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x6d, 0x54, 0x69, 0x6d, 0x65, + 0x4d, 0x61, 0x72, 0x6b, 0x12, 0x2b, 0x0a, 0x12, 0x72, 0x65, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0f, 0x72, 0x65, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x4e, 0x75, + 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x6d, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x6d, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2d, + 0x0a, 0x13, 0x63, 0x68, 0x61, 0x73, 0x73, 0x69, 0x73, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x75, 0x62, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x68, 0x61, + 0x73, 0x73, 0x69, 0x73, 0x49, 0x64, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, + 0x0e, 0x63, 0x68, 0x61, 0x73, 0x73, 0x69, 0x73, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x65, 0x6e, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x73, 0x73, 0x69, 0x73, 0x49, 0x64, + 0x4c, 0x65, 0x6e, 0x12, 0x27, 0x0a, 0x10, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x73, + 0x75, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, + 0x6f, 0x72, 0x74, 0x49, 0x64, 0x53, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0b, + 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x4c, 0x65, 0x6e, 0x12, 0x33, 0x0a, 0x15, + 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x63, 0x6f, 0x6d, + 0x62, 0x69, 0x6e, 0x65, 0x64, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, + 0x73, 0x12, 0x90, 0x01, 0x0a, 0x10, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x74, 0x6c, + 0x76, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x66, 0x2e, 0x63, + 0x69, 0x73, 0x63, 0x6f, 0x5f, 0x69, 0x6f, 0x73, 0x5f, 0x78, 0x72, 0x5f, 0x65, 0x74, 0x68, 0x65, + 0x72, 0x6e, 0x65, 0x74, 0x5f, 0x6c, 0x6c, 0x64, 0x70, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x6c, + 0x6c, 0x64, 0x70, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x6e, + 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x2e, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x2e, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x6c, 0x6c, 0x64, 0x70, 0x5f, 0x75, 0x6e, 0x6b, + 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x74, 0x6c, 0x76, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x65, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x54, 0x6c, 0x76, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x8f, 0x01, 0x0a, 0x10, 0x6f, 0x72, 0x67, 0x5f, 0x64, 0x65, 0x66, + 0x5f, 0x74, 0x6c, 0x76, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x66, 0x2e, 0x63, 0x69, 0x73, 0x63, 0x6f, 0x5f, 0x69, 0x6f, 0x73, 0x5f, 0x78, 0x72, 0x5f, 0x65, + 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x5f, 0x6c, 0x6c, 0x64, 0x70, 0x5f, 0x6f, 0x70, 0x65, + 0x72, 0x2e, 0x6c, 0x6c, 0x64, 0x70, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x64, + 0x65, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x2e, 0x64, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x2e, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x6c, 0x6c, 0x64, 0x70, 0x5f, + 0x6f, 0x72, 0x67, 0x5f, 0x64, 0x65, 0x66, 0x5f, 0x74, 0x6c, 0x76, 0x5f, 0x65, 0x6e, 0x74, 0x72, + 0x79, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6f, 0x72, 0x67, 0x44, 0x65, 0x66, 0x54, + 0x6c, 0x76, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xf1, 0x04, 0x0a, 0x12, 0x6c, 0x6c, 0x64, 0x70, 0x5f, + 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x38, 0x0a, + 0x18, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x66, 0x61, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x16, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, + 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x45, 0x0a, 0x1f, 0x72, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x1c, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, + 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, + 0x68, 0x61, 0x73, 0x73, 0x69, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x63, 0x68, 0x61, 0x73, 0x73, 0x69, 0x73, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x6f, + 0x72, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x12, 0x25, 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x6c, 0x64, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x68, 0x6f, 0x6c, 0x64, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, + 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x13, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x43, 0x61, 0x70, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x12, 0x76, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x5e, 0x2e, 0x63, 0x69, 0x73, 0x63, 0x6f, 0x5f, 0x69, 0x6f, 0x73, 0x5f, + 0x78, 0x72, 0x5f, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x5f, 0x6c, 0x6c, 0x64, 0x70, + 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x6c, 0x6c, 0x64, 0x70, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x73, + 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x2e, + 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x6c, + 0x6c, 0x64, 0x70, 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x64, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x52, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x6d, 0x0a, 0x03, 0x6d, + 0x69, 0x62, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5b, 0x2e, 0x63, 0x69, 0x73, 0x63, 0x6f, + 0x5f, 0x69, 0x6f, 0x73, 0x5f, 0x78, 0x72, 0x5f, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, + 0x5f, 0x6c, 0x6c, 0x64, 0x70, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x6c, 0x6c, 0x64, 0x70, 0x2e, + 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x6e, 0x65, 0x69, 0x67, 0x68, + 0x62, 0x6f, 0x72, 0x73, 0x2e, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x64, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x6c, 0x6c, 0x64, 0x70, 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, + 0x72, 0x5f, 0x6d, 0x69, 0x62, 0x52, 0x03, 0x6d, 0x69, 0x62, 0x22, 0x99, 0x01, 0x0a, 0x13, 0x6c, + 0x6c, 0x64, 0x70, 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x81, 0x01, 0x0a, 0x0d, 0x6c, 0x6c, 0x64, 0x70, 0x5f, 0x6e, 0x65, 0x69, 0x67, + 0x68, 0x62, 0x6f, 0x72, 0x18, 0x32, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5c, 0x2e, 0x63, 0x69, 0x73, + 0x63, 0x6f, 0x5f, 0x69, 0x6f, 0x73, 0x5f, 0x78, 0x72, 0x5f, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, + 0x65, 0x74, 0x5f, 0x6c, 0x6c, 0x64, 0x70, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x6c, 0x6c, 0x64, + 0x70, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x6e, 0x65, 0x69, + 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x2e, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x64, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x6c, 0x6c, 0x64, 0x70, 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, + 0x62, 0x6f, 0x72, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x52, 0x0c, 0x6c, 0x6c, 0x64, 0x70, 0x4e, 0x65, + 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_proto_telemetry_lldp_lldp_neighbor_proto_rawDescOnce sync.Once + file_proto_telemetry_lldp_lldp_neighbor_proto_rawDescData = file_proto_telemetry_lldp_lldp_neighbor_proto_rawDesc +) + +func file_proto_telemetry_lldp_lldp_neighbor_proto_rawDescGZIP() []byte { + file_proto_telemetry_lldp_lldp_neighbor_proto_rawDescOnce.Do(func() { + file_proto_telemetry_lldp_lldp_neighbor_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_telemetry_lldp_lldp_neighbor_proto_rawDescData) + }) + return file_proto_telemetry_lldp_lldp_neighbor_proto_rawDescData +} + +var file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_proto_telemetry_lldp_lldp_neighbor_proto_goTypes = []interface{}{ + (*LldpNeighborEntry_KEYS)(nil), // 0: cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_neighbor_entry_KEYS + (*LldpL3Addr)(nil), // 1: cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_l3_addr + (*LldpAddrEntryItem)(nil), // 2: cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_addr_entry_item + (*LldpAddrEntryEntry)(nil), // 3: cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_addr_entry_entry + (*LldpNeighborDetail)(nil), // 4: cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_neighbor_detail + (*LldpUnknownTlvEntryItem)(nil), // 5: cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_unknown_tlv_entry_item + (*LldpUnknownTlvEntryEntry)(nil), // 6: cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_unknown_tlv_entry_entry + (*LldpOrgDefTlvEntryItem)(nil), // 7: cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_org_def_tlv_entry_item + (*LldpOrgDefTlvEntryEntry)(nil), // 8: cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_org_def_tlv_entry_entry + (*LldpNeighborMib)(nil), // 9: cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_neighbor_mib + (*LldpNeighborItem)(nil), // 10: cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_neighbor_item + (*LldpNeighborEntry)(nil), // 11: cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_neighbor_entry +} +var file_proto_telemetry_lldp_lldp_neighbor_proto_depIdxs = []int32{ + 1, // 0: cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_addr_entry_item.address:type_name -> cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_l3_addr + 2, // 1: cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_addr_entry_entry.lldp_addr_entry:type_name -> cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_addr_entry_item + 3, // 2: cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_neighbor_detail.network_addresses:type_name -> cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_addr_entry_entry + 5, // 3: cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_unknown_tlv_entry_entry.lldp_unknown_tlv_entry:type_name -> cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_unknown_tlv_entry_item + 7, // 4: cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_org_def_tlv_entry_entry.lldp_org_def_tlv_entry:type_name -> cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_org_def_tlv_entry_item + 6, // 5: cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_neighbor_mib.unknown_tlv_list:type_name -> cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_unknown_tlv_entry_entry + 8, // 6: cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_neighbor_mib.org_def_tlv_list:type_name -> cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_org_def_tlv_entry_entry + 4, // 7: cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_neighbor_item.detail:type_name -> cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_neighbor_detail + 9, // 8: cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_neighbor_item.mib:type_name -> cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_neighbor_mib + 10, // 9: cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_neighbor_entry.lldp_neighbor:type_name -> cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_neighbor_item + 10, // [10:10] is the sub-list for method output_type + 10, // [10:10] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name +} + +func init() { file_proto_telemetry_lldp_lldp_neighbor_proto_init() } +func file_proto_telemetry_lldp_lldp_neighbor_proto_init() { + if File_proto_telemetry_lldp_lldp_neighbor_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LldpNeighborEntry_KEYS); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LldpL3Addr); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LldpAddrEntryItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LldpAddrEntryEntry); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LldpNeighborDetail); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LldpUnknownTlvEntryItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LldpUnknownTlvEntryEntry); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LldpOrgDefTlvEntryItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LldpOrgDefTlvEntryEntry); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LldpNeighborMib); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LldpNeighborItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LldpNeighborEntry); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_proto_telemetry_lldp_lldp_neighbor_proto_rawDesc, + NumEnums: 0, + NumMessages: 12, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_proto_telemetry_lldp_lldp_neighbor_proto_goTypes, + DependencyIndexes: file_proto_telemetry_lldp_lldp_neighbor_proto_depIdxs, + MessageInfos: file_proto_telemetry_lldp_lldp_neighbor_proto_msgTypes, + }.Build() + File_proto_telemetry_lldp_lldp_neighbor_proto = out.File + file_proto_telemetry_lldp_lldp_neighbor_proto_rawDesc = nil + file_proto_telemetry_lldp_lldp_neighbor_proto_goTypes = nil + file_proto_telemetry_lldp_lldp_neighbor_proto_depIdxs = nil } diff --git a/proto/telemetry/lldp/lldp_neighbor.proto b/proto/telemetry/lldp/lldp_neighbor.proto index 459823a..1fe5487 100644 --- a/proto/telemetry/lldp/lldp_neighbor.proto +++ b/proto/telemetry/lldp/lldp_neighbor.proto @@ -1,188 +1,293 @@ -// Copyright (c) 2015, Cisco Systems -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// 1. Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// 3. Neither the name of the copyright holder nor the names of its -// contributors may be used to endorse or promote products derived -// from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// This file is autogenerated +// Apache License +// Version 2.0, January 2004 +// http://www.apache.org/licenses/ +// +// TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +// +// 1. Definitions. +// +// "License" shall mean the terms and conditions for use, reproduction, +// and distribution as defined by Sections 1 through 9 of this document. +// +// "Licensor" shall mean the copyright owner or entity authorized by +// the copyright owner that is granting the License. +// +// "Legal Entity" shall mean the union of the acting entity and all +// other entities that control, are controlled by, or are under common +// control with that entity. For the purposes of this definition, +// "control" means (i) the power, direct or indirect, to cause the +// direction or management of such entity, whether by contract or +// otherwise, or (ii) ownership of fifty percent (50%) or more of the +// outstanding shares, or (iii) beneficial ownership of such entity. +// +// "You" (or "Your") shall mean an individual or Legal Entity +// exercising permissions granted by this License. +// +// "Source" form shall mean the preferred form for making modifications, +// including but not limited to software source code, documentation +// source, and configuration files. +// +// "Object" form shall mean any form resulting from mechanical +// transformation or translation of a Source form, including but +// not limited to compiled object code, generated documentation, +// and conversions to other media types. +// +// "Work" shall mean the work of authorship, whether in Source or +// Object form, made available under the License, as indicated by a +// copyright notice that is included in or attached to the work +// (an example is provided in the Appendix below). +// +// "Derivative Works" shall mean any work, whether in Source or Object +// form, that is based on (or derived from) the Work and for which the +// editorial revisions, annotations, elaborations, or other modifications +// represent, as a whole, an original work of authorship. For the purposes +// of this License, Derivative Works shall not include works that remain +// separable from, or merely link (or bind by name) to the interfaces of, +// the Work and Derivative Works thereof. +// +// "Contribution" shall mean any work of authorship, including +// the original version of the Work and any modifications or additions +// to that Work or Derivative Works thereof, that is intentionally +// submitted to Licensor for inclusion in the Work by the copyright owner +// or by an individual or Legal Entity authorized to submit on behalf of +// the copyright owner. For the purposes of this definition, "submitted" +// means any form of electronic, verbal, or written communication sent +// to the Licensor or its representatives, including but not limited to +// communication on electronic mailing lists, source code control systems, +// and issue tracking systems that are managed by, or on behalf of, the +// Licensor for the purpose of discussing and improving the Work, but +// excluding communication that is conspicuously marked or otherwise +// designated in writing by the copyright owner as "Not a Contribution." +// +// "Contributor" shall mean Licensor and any individual or Legal Entity +// on behalf of whom a Contribution has been received by Licensor and +// subsequently incorporated within the Work. +// +// 2. Grant of Copyright License. Subject to the terms and conditions of +// this License, each Contributor hereby grants to You a perpetual, +// worldwide, non-exclusive, no-charge, royalty-free, irrevocable +// copyright license to reproduce, prepare Derivative Works of, +// publicly display, publicly perform, sublicense, and distribute the +// Work and such Derivative Works in Source or Object form. +// +// 3. Grant of Patent License. Subject to the terms and conditions of +// this License, each Contributor hereby grants to You a perpetual, +// worldwide, non-exclusive, no-charge, royalty-free, irrevocable +// (except as stated in this section) patent license to make, have made, +// use, offer to sell, sell, import, and otherwise transfer the Work, +// where such license applies only to those patent claims licensable +// by such Contributor that are necessarily infringed by their +// Contribution(s) alone or by combination of their Contribution(s) +// with the Work to which such Contribution(s) was submitted. If You +// institute patent litigation against any entity (including a +// cross-claim or counterclaim in a lawsuit) alleging that the Work +// or a Contribution incorporated within the Work constitutes direct +// or contributory patent infringement, then any patent licenses +// granted to You under this License for that Work shall terminate +// as of the date such litigation is filed. +// +// 4. Redistribution. You may reproduce and distribute copies of the +// Work or Derivative Works thereof in any medium, with or without +// modifications, and in Source or Object form, provided that You +// meet the following conditions: +// +// (a) You must give any other recipients of the Work or +// Derivative Works a copy of this License; and +// +// (b) You must cause any modified files to carry prominent notices +// stating that You changed the files; and +// +// (c) You must retain, in the Source form of any Derivative Works +// that You distribute, all copyright, patent, trademark, and +// attribution notices from the Source form of the Work, +// excluding those notices that do not pertain to any part of +// the Derivative Works; and +// +// (d) If the Work includes a "NOTICE" text file as part of its +// distribution, then any Derivative Works that You distribute must +// include a readable copy of the attribution notices contained +// within such NOTICE file, excluding those notices that do not +// pertain to any part of the Derivative Works, in at least one +// of the following places: within a NOTICE text file distributed +// as part of the Derivative Works; within the Source form or +// documentation, if provided along with the Derivative Works; or, +// within a display generated by the Derivative Works, if and +// wherever such third-party notices normally appear. The contents +// of the NOTICE file are for informational purposes only and +// do not modify the License. You may add Your own attribution +// notices within Derivative Works that You distribute, alongside +// or as an addendum to the NOTICE text from the Work, provided +// that such additional attribution notices cannot be construed +// as modifying the License. +// +// You may add Your own copyright statement to Your modifications and +// may provide additional or different license terms and conditions +// for use, reproduction, or distribution of Your modifications, or +// for any such Derivative Works as a whole, provided Your use, +// reproduction, and distribution of the Work otherwise complies with +// the conditions stated in this License. +// +// 5. Submission of Contributions. Unless You explicitly state otherwise, +// any Contribution intentionally submitted for inclusion in the Work +// by You to the Licensor shall be under the terms and conditions of +// this License, without any additional terms or conditions. +// Notwithstanding the above, nothing herein shall supersede or modify +// the terms of any separate license agreement you may have executed +// with Licensor regarding such Contributions. +// +// 6. Trademarks. This License does not grant permission to use the trade +// names, trademarks, service marks, or product names of the Licensor, +// except as required for reasonable and customary use in describing the +// origin of the Work and reproducing the content of the NOTICE file. // -// The following edits are possible, without affecting the validity of the -// file: +// 7. Disclaimer of Warranty. Unless required by applicable law or +// agreed to in writing, Licensor provides the Work (and each +// Contributor provides its Contributions) on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +// implied, including, without limitation, any warranties or conditions +// of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A +// PARTICULAR PURPOSE. You are solely responsible for determining the +// appropriateness of using or redistributing the Work and assume any +// risks associated with Your exercise of permissions under this License. // -// * Fields may be renamed. -// * Fields may be deleted. -// * The unique numbered tag for a field may be changed, provided that -// the ordering of tags for fields within a message is preserved. -// * Message types may be renamed. -// * Message types may be deleted (if all fields that reference them -// have been deleted). +// 8. Limitation of Liability. In no event and under no legal theory, +// whether in tort (including negligence), contract, or otherwise, +// unless required by applicable law (such as deliberate and grossly +// negligent acts) or agreed to in writing, shall any Contributor be +// liable to You for damages, including any direct, indirect, special, +// incidental, or consequential damages of any character arising as a +// result of this License or out of the use or inability to use the +// Work (including but not limited to damages for loss of goodwill, +// work stoppage, computer failure or malfunction, or any and all +// other commercial damages or losses), even if such Contributor +// has been advised of the possibility of such damages. // -// All Cisco message and field extensions must be preserved (except when the -// field itself is being deleted). +// 9. Accepting Warranty or Additional Liability. While redistributing +// the Work or Derivative Works thereof, You may choose to offer, +// and charge a fee for, acceptance of support, warranty, indemnity, +// or other liability obligations and/or rights consistent with this +// License. However, in accepting such obligations, You may act only +// on Your own behalf and on Your sole responsibility, not on behalf +// of any other Contributor, and only if You agree to indemnify, +// defend, and hold each Contributor harmless for any liability +// incurred by, or claims asserted against, such Contributor by reason +// of your accepting any such warranty or additional liability. +// +// END OF TERMS AND CONDITIONS +// +// APPENDIX: How to apply the Apache License to your work. +// +// To apply the Apache License to your work, attach the following +// boilerplate notice, with the fields enclosed by brackets "{}" +// replaced with your own identifying information. (Don't include +// the brackets!) The text should be enclosed in the appropriate +// comment syntax for the file format. We also recommend that a +// file or class name and description of purpose be included on the +// same "printed page" as the copyright notice for easier +// identification within third-party archives. +// +// Copyright (c) 2017 Cisco +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. syntax = "proto3"; package cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail; -// LLDP neighbor info -message lldp_neighbor_KEYS { - string node_name = 1; - string interface_name = 2; - string device_id = 3; +message lldp_neighbor_entry_KEYS { + string node_name = 1; + string interface_name = 2; + string device_id = 3; } -message lldp_neighbor { - // Next neighbor in the list - repeated lldp_neighbor_item lldp_neighbor = 50; +message lldp_l3_addr { + string address_type = 1; + string i_pv4_address = 2; + string i_pv6_address = 3; } -message lldp_neighbor_item { - // Interface the neighbor entry was received on - string receiving_interface_name = 1; - // Parent Interface the neighbor entry was received on - string receiving_parent_interface_name = 2; - // Device identifier - string device_id = 3; - // Chassis id - string chassis_id = 4; - // Outgoing port identifier - string port_id_detail = 5; - // Version number - uint32 header_version = 6; - // Remaining hold time - uint32 hold_time = 7; - // Enabled Capabilities - string enabled_capabilities = 8; - // Platform type - string platform = 9; - // Detailed neighbor info - lldp_neighbor_detail detail = 10; - // MIB nieghbor info - lldp_neighbor_mib mib = 11; +message lldp_addr_entry_item { + lldp_l3_addr address = 1; + uint32 ma_subtype = 2; + uint32 if_num = 3; } -message in6_addr_td { - string value = 1; +message lldp_addr_entry_entry { + repeated lldp_addr_entry_item lldp_addr_entry = 1; } -message lldp_l3_addr { - string address_type = 1; - // IPv4 address - string ipv4_address = 2; - // IPv6 address - in6_addr_td ipv6_address = 3; +message lldp_neighbor_detail { + string peer_mac_address = 1; + string port_description = 2; + string system_name = 3; + string system_description = 4; + uint32 time_remaining = 5; + string system_capabilities = 6; + string enabled_capabilities = 7; + lldp_addr_entry_entry network_addresses = 8; + string auto_negotiation = 9; + string physical_media_capabilities = 10; + uint32 media_attachment_unit_type = 11; + uint32 port_vlan_id = 12; } -message lldp_addr_entry { - // Next address entry in list - repeated lldp_addr_entry_item lldp_addr_entry = 1; +message lldp_unknown_tlv_entry_item { + uint32 tlv_type = 1; + string tlv_value = 2; } -message lldp_addr_entry_item { - // Network layer address - lldp_l3_addr address = 1; - // MA sub type - uint32 ma_subtype = 2; - // Interface num - uint32 if_num = 3; +message lldp_unknown_tlv_entry_entry { + repeated lldp_unknown_tlv_entry_item lldp_unknown_tlv_entry = 1; } -message lldp_unknown_tlv_entry { - // Next unknown TLV entry in list - repeated lldp_unknown_tlv_entry_item lldp_unknown_tlv_entry = 1; +message lldp_org_def_tlv_entry_item { + uint32 oui = 1; + uint32 tlv_subtype = 2; + uint32 tlv_info_indes = 3; + string tlv_value = 4; } -message lldp_unknown_tlv_entry_item { - // Unknown TLV type - uint32 tlv_type = 1; - // Unknown TLV payload - bytes tlv_value = 2; +message lldp_org_def_tlv_entry_entry { + repeated lldp_org_def_tlv_entry_item lldp_org_def_tlv_entry = 1; } -message lldp_org_def_tlv_entry { - // Next Org Def TLV entry in list - repeated lldp_org_def_tlv_entry_item lldp_org_def_tlv_entry = 1; +message lldp_neighbor_mib { + uint32 rem_time_mark = 1; + uint32 rem_local_port_num = 2; + uint32 rem_index = 3; + uint32 chassis_id_sub_type = 4; + uint32 chassis_id_len = 5; + uint32 port_id_sub_type = 6; + uint32 port_id_len = 7; + uint32 combined_capabilities = 8; + lldp_unknown_tlv_entry_entry unknown_tlv_list = 9; + lldp_org_def_tlv_entry_entry org_def_tlv_list = 10; } -message lldp_org_def_tlv_entry_item { - // Organizationally Unique Identifier - uint32 oui = 1; - // Org Def TLV subtype - uint32 tlv_subtype = 2; - // lldpRemOrgDefInfoIndex - uint32 tlv_info_indes = 3; - // Org Def TLV payload - bytes tlv_value = 4; +message lldp_neighbor_item { + string receiving_interface_name = 1; + string receiving_parent_interface_name = 2; + string device_id = 3; + string chassis_id = 4; + string port_id_detail = 5; + uint32 header_version = 6; + uint32 hold_time = 7; + string enabled_capabilities = 8; + string platform = 9; + lldp_neighbor_detail detail = 10; + lldp_neighbor_mib mib = 11; } -message lldp_neighbor_detail { - // Port Description - string port_description = 1; - // System Name - string system_name = 2; - // System Description - string system_description = 3; - // Time remaining - uint32 time_remaining = 4; - // System Capabilities - string system_capabilities = 5; - // Enabled Capabilities - string enabled_capabilities = 6; - // Management Addresses - lldp_addr_entry network_addresses = 7; - // Auto Negotiation - string auto_negotiation = 8; - // Physical media capabilities - string physical_media_capabilities = 9; - // Media Attachment Unit type - uint32 media_attachment_unit_type = 10; - // Vlan ID - uint32 port_vlan_id = 11; +message lldp_neighbor_entry { + repeated lldp_neighbor_item lldp_neighbor = 50; } - -message lldp_neighbor_mib { - // TimeFilter - uint32 rem_time_mark = 1; - // LldpPortNumber - uint32 rem_local_port_num = 2; - // lldpRemIndex - uint32 rem_index = 3; - // Chassis ID sub type - uint32 chassis_id_sub_type = 4; - // Chassis ID length - uint32 chassis_id_len = 5; - // Port ID sub type - uint32 port_id_sub_type = 6; - // Port ID length - uint32 port_id_len = 7; - // Supported and combined cpabilities - uint32 combined_capabilities = 8; - // Unknown TLV list - lldp_unknown_tlv_entry unknown_tlv_list = 9; - // Org Def TLV list - lldp_org_def_tlv_entry org_def_tlv_list = 10; -} \ No newline at end of file diff --git a/proto/telemetry/lldp65x/lldp_neighbor.pb.go b/proto/telemetry/lldp65x/lldp_neighbor.pb.go deleted file mode 100644 index d828d2d..0000000 --- a/proto/telemetry/lldp65x/lldp_neighbor.pb.go +++ /dev/null @@ -1,891 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// source: lldp_neighbor.proto - -package cisco_ios_xr_ethernet_lldp_oper_lldp_nodes_node_neighbors_details_detail - -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package - -type LldpNeighborEntry_KEYS struct { - NodeName string `protobuf:"bytes,1,opt,name=node_name,json=nodeName,proto3" json:"node_name,omitempty"` - InterfaceName string `protobuf:"bytes,2,opt,name=interface_name,json=interfaceName,proto3" json:"interface_name,omitempty"` - DeviceId string `protobuf:"bytes,3,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *LldpNeighborEntry_KEYS) Reset() { *m = LldpNeighborEntry_KEYS{} } -func (m *LldpNeighborEntry_KEYS) String() string { return proto.CompactTextString(m) } -func (*LldpNeighborEntry_KEYS) ProtoMessage() {} -func (*LldpNeighborEntry_KEYS) Descriptor() ([]byte, []int) { - return fileDescriptor_lldp_neighbor_20c02b2819426aa6, []int{0} -} -func (m *LldpNeighborEntry_KEYS) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LldpNeighborEntry_KEYS.Unmarshal(m, b) -} -func (m *LldpNeighborEntry_KEYS) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LldpNeighborEntry_KEYS.Marshal(b, m, deterministic) -} -func (dst *LldpNeighborEntry_KEYS) XXX_Merge(src proto.Message) { - xxx_messageInfo_LldpNeighborEntry_KEYS.Merge(dst, src) -} -func (m *LldpNeighborEntry_KEYS) XXX_Size() int { - return xxx_messageInfo_LldpNeighborEntry_KEYS.Size(m) -} -func (m *LldpNeighborEntry_KEYS) XXX_DiscardUnknown() { - xxx_messageInfo_LldpNeighborEntry_KEYS.DiscardUnknown(m) -} - -var xxx_messageInfo_LldpNeighborEntry_KEYS proto.InternalMessageInfo - -func (m *LldpNeighborEntry_KEYS) GetNodeName() string { - if m != nil { - return m.NodeName - } - return "" -} - -func (m *LldpNeighborEntry_KEYS) GetInterfaceName() string { - if m != nil { - return m.InterfaceName - } - return "" -} - -func (m *LldpNeighborEntry_KEYS) GetDeviceId() string { - if m != nil { - return m.DeviceId - } - return "" -} - -type LldpL3Addr struct { - AddressType string `protobuf:"bytes,1,opt,name=address_type,json=addressType,proto3" json:"address_type,omitempty"` - Ipv4Address string `protobuf:"bytes,2,opt,name=ipv4_address,json=ipv4Address,proto3" json:"ipv4_address,omitempty"` - Ipv6Address string `protobuf:"bytes,3,opt,name=ipv6_address,json=ipv6Address,proto3" json:"ipv6_address,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *LldpL3Addr) Reset() { *m = LldpL3Addr{} } -func (m *LldpL3Addr) String() string { return proto.CompactTextString(m) } -func (*LldpL3Addr) ProtoMessage() {} -func (*LldpL3Addr) Descriptor() ([]byte, []int) { - return fileDescriptor_lldp_neighbor_20c02b2819426aa6, []int{1} -} -func (m *LldpL3Addr) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LldpL3Addr.Unmarshal(m, b) -} -func (m *LldpL3Addr) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LldpL3Addr.Marshal(b, m, deterministic) -} -func (dst *LldpL3Addr) XXX_Merge(src proto.Message) { - xxx_messageInfo_LldpL3Addr.Merge(dst, src) -} -func (m *LldpL3Addr) XXX_Size() int { - return xxx_messageInfo_LldpL3Addr.Size(m) -} -func (m *LldpL3Addr) XXX_DiscardUnknown() { - xxx_messageInfo_LldpL3Addr.DiscardUnknown(m) -} - -var xxx_messageInfo_LldpL3Addr proto.InternalMessageInfo - -func (m *LldpL3Addr) GetAddressType() string { - if m != nil { - return m.AddressType - } - return "" -} - -func (m *LldpL3Addr) GetIpv4Address() string { - if m != nil { - return m.Ipv4Address - } - return "" -} - -func (m *LldpL3Addr) GetIpv6Address() string { - if m != nil { - return m.Ipv6Address - } - return "" -} - -type LldpAddrEntryItem struct { - Address *LldpL3Addr `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - MaSubtype uint32 `protobuf:"varint,2,opt,name=ma_subtype,json=maSubtype,proto3" json:"ma_subtype,omitempty"` - IfNum uint32 `protobuf:"varint,3,opt,name=if_num,json=ifNum,proto3" json:"if_num,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *LldpAddrEntryItem) Reset() { *m = LldpAddrEntryItem{} } -func (m *LldpAddrEntryItem) String() string { return proto.CompactTextString(m) } -func (*LldpAddrEntryItem) ProtoMessage() {} -func (*LldpAddrEntryItem) Descriptor() ([]byte, []int) { - return fileDescriptor_lldp_neighbor_20c02b2819426aa6, []int{2} -} -func (m *LldpAddrEntryItem) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LldpAddrEntryItem.Unmarshal(m, b) -} -func (m *LldpAddrEntryItem) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LldpAddrEntryItem.Marshal(b, m, deterministic) -} -func (dst *LldpAddrEntryItem) XXX_Merge(src proto.Message) { - xxx_messageInfo_LldpAddrEntryItem.Merge(dst, src) -} -func (m *LldpAddrEntryItem) XXX_Size() int { - return xxx_messageInfo_LldpAddrEntryItem.Size(m) -} -func (m *LldpAddrEntryItem) XXX_DiscardUnknown() { - xxx_messageInfo_LldpAddrEntryItem.DiscardUnknown(m) -} - -var xxx_messageInfo_LldpAddrEntryItem proto.InternalMessageInfo - -func (m *LldpAddrEntryItem) GetAddress() *LldpL3Addr { - if m != nil { - return m.Address - } - return nil -} - -func (m *LldpAddrEntryItem) GetMaSubtype() uint32 { - if m != nil { - return m.MaSubtype - } - return 0 -} - -func (m *LldpAddrEntryItem) GetIfNum() uint32 { - if m != nil { - return m.IfNum - } - return 0 -} - -type LldpAddrEntryEntry struct { - LldpAddrEntry []*LldpAddrEntryItem `protobuf:"bytes,1,rep,name=lldp_addr_entry,json=lldpAddrEntry,proto3" json:"lldp_addr_entry,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *LldpAddrEntryEntry) Reset() { *m = LldpAddrEntryEntry{} } -func (m *LldpAddrEntryEntry) String() string { return proto.CompactTextString(m) } -func (*LldpAddrEntryEntry) ProtoMessage() {} -func (*LldpAddrEntryEntry) Descriptor() ([]byte, []int) { - return fileDescriptor_lldp_neighbor_20c02b2819426aa6, []int{3} -} -func (m *LldpAddrEntryEntry) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LldpAddrEntryEntry.Unmarshal(m, b) -} -func (m *LldpAddrEntryEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LldpAddrEntryEntry.Marshal(b, m, deterministic) -} -func (dst *LldpAddrEntryEntry) XXX_Merge(src proto.Message) { - xxx_messageInfo_LldpAddrEntryEntry.Merge(dst, src) -} -func (m *LldpAddrEntryEntry) XXX_Size() int { - return xxx_messageInfo_LldpAddrEntryEntry.Size(m) -} -func (m *LldpAddrEntryEntry) XXX_DiscardUnknown() { - xxx_messageInfo_LldpAddrEntryEntry.DiscardUnknown(m) -} - -var xxx_messageInfo_LldpAddrEntryEntry proto.InternalMessageInfo - -func (m *LldpAddrEntryEntry) GetLldpAddrEntry() []*LldpAddrEntryItem { - if m != nil { - return m.LldpAddrEntry - } - return nil -} - -type LldpNeighborDetail struct { - PeerMacAddress string `protobuf:"bytes,1,opt,name=peer_mac_address,json=peerMacAddress,proto3" json:"peer_mac_address,omitempty"` - PortDescription string `protobuf:"bytes,2,opt,name=port_description,json=portDescription,proto3" json:"port_description,omitempty"` - SystemName string `protobuf:"bytes,3,opt,name=system_name,json=systemName,proto3" json:"system_name,omitempty"` - SystemDescription string `protobuf:"bytes,4,opt,name=system_description,json=systemDescription,proto3" json:"system_description,omitempty"` - TimeRemaining uint32 `protobuf:"varint,5,opt,name=time_remaining,json=timeRemaining,proto3" json:"time_remaining,omitempty"` - SystemCapabilities string `protobuf:"bytes,6,opt,name=system_capabilities,json=systemCapabilities,proto3" json:"system_capabilities,omitempty"` - EnabledCapabilities string `protobuf:"bytes,7,opt,name=enabled_capabilities,json=enabledCapabilities,proto3" json:"enabled_capabilities,omitempty"` - NetworkAddresses *LldpAddrEntryEntry `protobuf:"bytes,8,opt,name=network_addresses,json=networkAddresses,proto3" json:"network_addresses,omitempty"` - AutoNegotiation string `protobuf:"bytes,9,opt,name=auto_negotiation,json=autoNegotiation,proto3" json:"auto_negotiation,omitempty"` - PhysicalMediaCapabilities string `protobuf:"bytes,10,opt,name=physical_media_capabilities,json=physicalMediaCapabilities,proto3" json:"physical_media_capabilities,omitempty"` - MediaAttachmentUnitType uint32 `protobuf:"varint,11,opt,name=media_attachment_unit_type,json=mediaAttachmentUnitType,proto3" json:"media_attachment_unit_type,omitempty"` - PortVlanId uint32 `protobuf:"varint,12,opt,name=port_vlan_id,json=portVlanId,proto3" json:"port_vlan_id,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *LldpNeighborDetail) Reset() { *m = LldpNeighborDetail{} } -func (m *LldpNeighborDetail) String() string { return proto.CompactTextString(m) } -func (*LldpNeighborDetail) ProtoMessage() {} -func (*LldpNeighborDetail) Descriptor() ([]byte, []int) { - return fileDescriptor_lldp_neighbor_20c02b2819426aa6, []int{4} -} -func (m *LldpNeighborDetail) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LldpNeighborDetail.Unmarshal(m, b) -} -func (m *LldpNeighborDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LldpNeighborDetail.Marshal(b, m, deterministic) -} -func (dst *LldpNeighborDetail) XXX_Merge(src proto.Message) { - xxx_messageInfo_LldpNeighborDetail.Merge(dst, src) -} -func (m *LldpNeighborDetail) XXX_Size() int { - return xxx_messageInfo_LldpNeighborDetail.Size(m) -} -func (m *LldpNeighborDetail) XXX_DiscardUnknown() { - xxx_messageInfo_LldpNeighborDetail.DiscardUnknown(m) -} - -var xxx_messageInfo_LldpNeighborDetail proto.InternalMessageInfo - -func (m *LldpNeighborDetail) GetPeerMacAddress() string { - if m != nil { - return m.PeerMacAddress - } - return "" -} - -func (m *LldpNeighborDetail) GetPortDescription() string { - if m != nil { - return m.PortDescription - } - return "" -} - -func (m *LldpNeighborDetail) GetSystemName() string { - if m != nil { - return m.SystemName - } - return "" -} - -func (m *LldpNeighborDetail) GetSystemDescription() string { - if m != nil { - return m.SystemDescription - } - return "" -} - -func (m *LldpNeighborDetail) GetTimeRemaining() uint32 { - if m != nil { - return m.TimeRemaining - } - return 0 -} - -func (m *LldpNeighborDetail) GetSystemCapabilities() string { - if m != nil { - return m.SystemCapabilities - } - return "" -} - -func (m *LldpNeighborDetail) GetEnabledCapabilities() string { - if m != nil { - return m.EnabledCapabilities - } - return "" -} - -func (m *LldpNeighborDetail) GetNetworkAddresses() *LldpAddrEntryEntry { - if m != nil { - return m.NetworkAddresses - } - return nil -} - -func (m *LldpNeighborDetail) GetAutoNegotiation() string { - if m != nil { - return m.AutoNegotiation - } - return "" -} - -func (m *LldpNeighborDetail) GetPhysicalMediaCapabilities() string { - if m != nil { - return m.PhysicalMediaCapabilities - } - return "" -} - -func (m *LldpNeighborDetail) GetMediaAttachmentUnitType() uint32 { - if m != nil { - return m.MediaAttachmentUnitType - } - return 0 -} - -func (m *LldpNeighborDetail) GetPortVlanId() uint32 { - if m != nil { - return m.PortVlanId - } - return 0 -} - -type LldpUnknownTlvEntryItem struct { - TlvType uint32 `protobuf:"varint,1,opt,name=tlv_type,json=tlvType,proto3" json:"tlv_type,omitempty"` - TlvValue []byte `protobuf:"bytes,2,opt,name=tlv_value,json=tlvValue,proto3" json:"tlv_value,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *LldpUnknownTlvEntryItem) Reset() { *m = LldpUnknownTlvEntryItem{} } -func (m *LldpUnknownTlvEntryItem) String() string { return proto.CompactTextString(m) } -func (*LldpUnknownTlvEntryItem) ProtoMessage() {} -func (*LldpUnknownTlvEntryItem) Descriptor() ([]byte, []int) { - return fileDescriptor_lldp_neighbor_20c02b2819426aa6, []int{5} -} -func (m *LldpUnknownTlvEntryItem) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LldpUnknownTlvEntryItem.Unmarshal(m, b) -} -func (m *LldpUnknownTlvEntryItem) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LldpUnknownTlvEntryItem.Marshal(b, m, deterministic) -} -func (dst *LldpUnknownTlvEntryItem) XXX_Merge(src proto.Message) { - xxx_messageInfo_LldpUnknownTlvEntryItem.Merge(dst, src) -} -func (m *LldpUnknownTlvEntryItem) XXX_Size() int { - return xxx_messageInfo_LldpUnknownTlvEntryItem.Size(m) -} -func (m *LldpUnknownTlvEntryItem) XXX_DiscardUnknown() { - xxx_messageInfo_LldpUnknownTlvEntryItem.DiscardUnknown(m) -} - -var xxx_messageInfo_LldpUnknownTlvEntryItem proto.InternalMessageInfo - -func (m *LldpUnknownTlvEntryItem) GetTlvType() uint32 { - if m != nil { - return m.TlvType - } - return 0 -} - -func (m *LldpUnknownTlvEntryItem) GetTlvValue() []byte { - if m != nil { - return m.TlvValue - } - return nil -} - -type LldpUnknownTlvEntryEntry struct { - LldpUnknownTlvEntry []*LldpUnknownTlvEntryItem `protobuf:"bytes,1,rep,name=lldp_unknown_tlv_entry,json=lldpUnknownTlvEntry,proto3" json:"lldp_unknown_tlv_entry,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *LldpUnknownTlvEntryEntry) Reset() { *m = LldpUnknownTlvEntryEntry{} } -func (m *LldpUnknownTlvEntryEntry) String() string { return proto.CompactTextString(m) } -func (*LldpUnknownTlvEntryEntry) ProtoMessage() {} -func (*LldpUnknownTlvEntryEntry) Descriptor() ([]byte, []int) { - return fileDescriptor_lldp_neighbor_20c02b2819426aa6, []int{6} -} -func (m *LldpUnknownTlvEntryEntry) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LldpUnknownTlvEntryEntry.Unmarshal(m, b) -} -func (m *LldpUnknownTlvEntryEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LldpUnknownTlvEntryEntry.Marshal(b, m, deterministic) -} -func (dst *LldpUnknownTlvEntryEntry) XXX_Merge(src proto.Message) { - xxx_messageInfo_LldpUnknownTlvEntryEntry.Merge(dst, src) -} -func (m *LldpUnknownTlvEntryEntry) XXX_Size() int { - return xxx_messageInfo_LldpUnknownTlvEntryEntry.Size(m) -} -func (m *LldpUnknownTlvEntryEntry) XXX_DiscardUnknown() { - xxx_messageInfo_LldpUnknownTlvEntryEntry.DiscardUnknown(m) -} - -var xxx_messageInfo_LldpUnknownTlvEntryEntry proto.InternalMessageInfo - -func (m *LldpUnknownTlvEntryEntry) GetLldpUnknownTlvEntry() []*LldpUnknownTlvEntryItem { - if m != nil { - return m.LldpUnknownTlvEntry - } - return nil -} - -type LldpOrgDefTlvEntryItem struct { - Oui uint32 `protobuf:"varint,1,opt,name=oui,proto3" json:"oui,omitempty"` - TlvSubtype uint32 `protobuf:"varint,2,opt,name=tlv_subtype,json=tlvSubtype,proto3" json:"tlv_subtype,omitempty"` - TlvInfoIndes uint32 `protobuf:"varint,3,opt,name=tlv_info_indes,json=tlvInfoIndes,proto3" json:"tlv_info_indes,omitempty"` - TlvValue []byte `protobuf:"bytes,4,opt,name=tlv_value,json=tlvValue,proto3" json:"tlv_value,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *LldpOrgDefTlvEntryItem) Reset() { *m = LldpOrgDefTlvEntryItem{} } -func (m *LldpOrgDefTlvEntryItem) String() string { return proto.CompactTextString(m) } -func (*LldpOrgDefTlvEntryItem) ProtoMessage() {} -func (*LldpOrgDefTlvEntryItem) Descriptor() ([]byte, []int) { - return fileDescriptor_lldp_neighbor_20c02b2819426aa6, []int{7} -} -func (m *LldpOrgDefTlvEntryItem) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LldpOrgDefTlvEntryItem.Unmarshal(m, b) -} -func (m *LldpOrgDefTlvEntryItem) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LldpOrgDefTlvEntryItem.Marshal(b, m, deterministic) -} -func (dst *LldpOrgDefTlvEntryItem) XXX_Merge(src proto.Message) { - xxx_messageInfo_LldpOrgDefTlvEntryItem.Merge(dst, src) -} -func (m *LldpOrgDefTlvEntryItem) XXX_Size() int { - return xxx_messageInfo_LldpOrgDefTlvEntryItem.Size(m) -} -func (m *LldpOrgDefTlvEntryItem) XXX_DiscardUnknown() { - xxx_messageInfo_LldpOrgDefTlvEntryItem.DiscardUnknown(m) -} - -var xxx_messageInfo_LldpOrgDefTlvEntryItem proto.InternalMessageInfo - -func (m *LldpOrgDefTlvEntryItem) GetOui() uint32 { - if m != nil { - return m.Oui - } - return 0 -} - -func (m *LldpOrgDefTlvEntryItem) GetTlvSubtype() uint32 { - if m != nil { - return m.TlvSubtype - } - return 0 -} - -func (m *LldpOrgDefTlvEntryItem) GetTlvInfoIndes() uint32 { - if m != nil { - return m.TlvInfoIndes - } - return 0 -} - -func (m *LldpOrgDefTlvEntryItem) GetTlvValue() []byte { - if m != nil { - return m.TlvValue - } - return nil -} - -type LldpOrgDefTlvEntryEntry struct { - LldpOrgDefTlvEntry []*LldpOrgDefTlvEntryItem `protobuf:"bytes,1,rep,name=lldp_org_def_tlv_entry,json=lldpOrgDefTlvEntry,proto3" json:"lldp_org_def_tlv_entry,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *LldpOrgDefTlvEntryEntry) Reset() { *m = LldpOrgDefTlvEntryEntry{} } -func (m *LldpOrgDefTlvEntryEntry) String() string { return proto.CompactTextString(m) } -func (*LldpOrgDefTlvEntryEntry) ProtoMessage() {} -func (*LldpOrgDefTlvEntryEntry) Descriptor() ([]byte, []int) { - return fileDescriptor_lldp_neighbor_20c02b2819426aa6, []int{8} -} -func (m *LldpOrgDefTlvEntryEntry) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LldpOrgDefTlvEntryEntry.Unmarshal(m, b) -} -func (m *LldpOrgDefTlvEntryEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LldpOrgDefTlvEntryEntry.Marshal(b, m, deterministic) -} -func (dst *LldpOrgDefTlvEntryEntry) XXX_Merge(src proto.Message) { - xxx_messageInfo_LldpOrgDefTlvEntryEntry.Merge(dst, src) -} -func (m *LldpOrgDefTlvEntryEntry) XXX_Size() int { - return xxx_messageInfo_LldpOrgDefTlvEntryEntry.Size(m) -} -func (m *LldpOrgDefTlvEntryEntry) XXX_DiscardUnknown() { - xxx_messageInfo_LldpOrgDefTlvEntryEntry.DiscardUnknown(m) -} - -var xxx_messageInfo_LldpOrgDefTlvEntryEntry proto.InternalMessageInfo - -func (m *LldpOrgDefTlvEntryEntry) GetLldpOrgDefTlvEntry() []*LldpOrgDefTlvEntryItem { - if m != nil { - return m.LldpOrgDefTlvEntry - } - return nil -} - -type LldpNeighborMib struct { - RemTimeMark uint32 `protobuf:"varint,1,opt,name=rem_time_mark,json=remTimeMark,proto3" json:"rem_time_mark,omitempty"` - RemLocalPortNum uint32 `protobuf:"varint,2,opt,name=rem_local_port_num,json=remLocalPortNum,proto3" json:"rem_local_port_num,omitempty"` - RemIndex uint32 `protobuf:"varint,3,opt,name=rem_index,json=remIndex,proto3" json:"rem_index,omitempty"` - ChassisIdSubType uint32 `protobuf:"varint,4,opt,name=chassis_id_sub_type,json=chassisIdSubType,proto3" json:"chassis_id_sub_type,omitempty"` - ChassisIdLen uint32 `protobuf:"varint,5,opt,name=chassis_id_len,json=chassisIdLen,proto3" json:"chassis_id_len,omitempty"` - PortIdSubType uint32 `protobuf:"varint,6,opt,name=port_id_sub_type,json=portIdSubType,proto3" json:"port_id_sub_type,omitempty"` - PortIdLen uint32 `protobuf:"varint,7,opt,name=port_id_len,json=portIdLen,proto3" json:"port_id_len,omitempty"` - CombinedCapabilities uint32 `protobuf:"varint,8,opt,name=combined_capabilities,json=combinedCapabilities,proto3" json:"combined_capabilities,omitempty"` - UnknownTlvList *LldpUnknownTlvEntryEntry `protobuf:"bytes,9,opt,name=unknown_tlv_list,json=unknownTlvList,proto3" json:"unknown_tlv_list,omitempty"` - OrgDefTlvList *LldpOrgDefTlvEntryEntry `protobuf:"bytes,10,opt,name=org_def_tlv_list,json=orgDefTlvList,proto3" json:"org_def_tlv_list,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *LldpNeighborMib) Reset() { *m = LldpNeighborMib{} } -func (m *LldpNeighborMib) String() string { return proto.CompactTextString(m) } -func (*LldpNeighborMib) ProtoMessage() {} -func (*LldpNeighborMib) Descriptor() ([]byte, []int) { - return fileDescriptor_lldp_neighbor_20c02b2819426aa6, []int{9} -} -func (m *LldpNeighborMib) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LldpNeighborMib.Unmarshal(m, b) -} -func (m *LldpNeighborMib) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LldpNeighborMib.Marshal(b, m, deterministic) -} -func (dst *LldpNeighborMib) XXX_Merge(src proto.Message) { - xxx_messageInfo_LldpNeighborMib.Merge(dst, src) -} -func (m *LldpNeighborMib) XXX_Size() int { - return xxx_messageInfo_LldpNeighborMib.Size(m) -} -func (m *LldpNeighborMib) XXX_DiscardUnknown() { - xxx_messageInfo_LldpNeighborMib.DiscardUnknown(m) -} - -var xxx_messageInfo_LldpNeighborMib proto.InternalMessageInfo - -func (m *LldpNeighborMib) GetRemTimeMark() uint32 { - if m != nil { - return m.RemTimeMark - } - return 0 -} - -func (m *LldpNeighborMib) GetRemLocalPortNum() uint32 { - if m != nil { - return m.RemLocalPortNum - } - return 0 -} - -func (m *LldpNeighborMib) GetRemIndex() uint32 { - if m != nil { - return m.RemIndex - } - return 0 -} - -func (m *LldpNeighborMib) GetChassisIdSubType() uint32 { - if m != nil { - return m.ChassisIdSubType - } - return 0 -} - -func (m *LldpNeighborMib) GetChassisIdLen() uint32 { - if m != nil { - return m.ChassisIdLen - } - return 0 -} - -func (m *LldpNeighborMib) GetPortIdSubType() uint32 { - if m != nil { - return m.PortIdSubType - } - return 0 -} - -func (m *LldpNeighborMib) GetPortIdLen() uint32 { - if m != nil { - return m.PortIdLen - } - return 0 -} - -func (m *LldpNeighborMib) GetCombinedCapabilities() uint32 { - if m != nil { - return m.CombinedCapabilities - } - return 0 -} - -func (m *LldpNeighborMib) GetUnknownTlvList() *LldpUnknownTlvEntryEntry { - if m != nil { - return m.UnknownTlvList - } - return nil -} - -func (m *LldpNeighborMib) GetOrgDefTlvList() *LldpOrgDefTlvEntryEntry { - if m != nil { - return m.OrgDefTlvList - } - return nil -} - -type LldpNeighborItem struct { - ReceivingInterfaceName string `protobuf:"bytes,1,opt,name=receiving_interface_name,json=receivingInterfaceName,proto3" json:"receiving_interface_name,omitempty"` - ReceivingParentInterfaceName string `protobuf:"bytes,2,opt,name=receiving_parent_interface_name,json=receivingParentInterfaceName,proto3" json:"receiving_parent_interface_name,omitempty"` - DeviceId string `protobuf:"bytes,3,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"` - ChassisId string `protobuf:"bytes,4,opt,name=chassis_id,json=chassisId,proto3" json:"chassis_id,omitempty"` - PortIdDetail string `protobuf:"bytes,5,opt,name=port_id_detail,json=portIdDetail,proto3" json:"port_id_detail,omitempty"` - HeaderVersion uint32 `protobuf:"varint,6,opt,name=header_version,json=headerVersion,proto3" json:"header_version,omitempty"` - HoldTime uint32 `protobuf:"varint,7,opt,name=hold_time,json=holdTime,proto3" json:"hold_time,omitempty"` - EnabledCapabilities string `protobuf:"bytes,8,opt,name=enabled_capabilities,json=enabledCapabilities,proto3" json:"enabled_capabilities,omitempty"` - Platform string `protobuf:"bytes,9,opt,name=platform,proto3" json:"platform,omitempty"` - Detail *LldpNeighborDetail `protobuf:"bytes,10,opt,name=detail,proto3" json:"detail,omitempty"` - Mib *LldpNeighborMib `protobuf:"bytes,11,opt,name=mib,proto3" json:"mib,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *LldpNeighborItem) Reset() { *m = LldpNeighborItem{} } -func (m *LldpNeighborItem) String() string { return proto.CompactTextString(m) } -func (*LldpNeighborItem) ProtoMessage() {} -func (*LldpNeighborItem) Descriptor() ([]byte, []int) { - return fileDescriptor_lldp_neighbor_20c02b2819426aa6, []int{10} -} -func (m *LldpNeighborItem) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LldpNeighborItem.Unmarshal(m, b) -} -func (m *LldpNeighborItem) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LldpNeighborItem.Marshal(b, m, deterministic) -} -func (dst *LldpNeighborItem) XXX_Merge(src proto.Message) { - xxx_messageInfo_LldpNeighborItem.Merge(dst, src) -} -func (m *LldpNeighborItem) XXX_Size() int { - return xxx_messageInfo_LldpNeighborItem.Size(m) -} -func (m *LldpNeighborItem) XXX_DiscardUnknown() { - xxx_messageInfo_LldpNeighborItem.DiscardUnknown(m) -} - -var xxx_messageInfo_LldpNeighborItem proto.InternalMessageInfo - -func (m *LldpNeighborItem) GetReceivingInterfaceName() string { - if m != nil { - return m.ReceivingInterfaceName - } - return "" -} - -func (m *LldpNeighborItem) GetReceivingParentInterfaceName() string { - if m != nil { - return m.ReceivingParentInterfaceName - } - return "" -} - -func (m *LldpNeighborItem) GetDeviceId() string { - if m != nil { - return m.DeviceId - } - return "" -} - -func (m *LldpNeighborItem) GetChassisId() string { - if m != nil { - return m.ChassisId - } - return "" -} - -func (m *LldpNeighborItem) GetPortIdDetail() string { - if m != nil { - return m.PortIdDetail - } - return "" -} - -func (m *LldpNeighborItem) GetHeaderVersion() uint32 { - if m != nil { - return m.HeaderVersion - } - return 0 -} - -func (m *LldpNeighborItem) GetHoldTime() uint32 { - if m != nil { - return m.HoldTime - } - return 0 -} - -func (m *LldpNeighborItem) GetEnabledCapabilities() string { - if m != nil { - return m.EnabledCapabilities - } - return "" -} - -func (m *LldpNeighborItem) GetPlatform() string { - if m != nil { - return m.Platform - } - return "" -} - -func (m *LldpNeighborItem) GetDetail() *LldpNeighborDetail { - if m != nil { - return m.Detail - } - return nil -} - -func (m *LldpNeighborItem) GetMib() *LldpNeighborMib { - if m != nil { - return m.Mib - } - return nil -} - -type LldpNeighborEntry struct { - LldpNeighbor []*LldpNeighborItem `protobuf:"bytes,50,rep,name=lldp_neighbor,json=lldpNeighbor,proto3" json:"lldp_neighbor,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *LldpNeighborEntry) Reset() { *m = LldpNeighborEntry{} } -func (m *LldpNeighborEntry) String() string { return proto.CompactTextString(m) } -func (*LldpNeighborEntry) ProtoMessage() {} -func (*LldpNeighborEntry) Descriptor() ([]byte, []int) { - return fileDescriptor_lldp_neighbor_20c02b2819426aa6, []int{11} -} -func (m *LldpNeighborEntry) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_LldpNeighborEntry.Unmarshal(m, b) -} -func (m *LldpNeighborEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_LldpNeighborEntry.Marshal(b, m, deterministic) -} -func (dst *LldpNeighborEntry) XXX_Merge(src proto.Message) { - xxx_messageInfo_LldpNeighborEntry.Merge(dst, src) -} -func (m *LldpNeighborEntry) XXX_Size() int { - return xxx_messageInfo_LldpNeighborEntry.Size(m) -} -func (m *LldpNeighborEntry) XXX_DiscardUnknown() { - xxx_messageInfo_LldpNeighborEntry.DiscardUnknown(m) -} - -var xxx_messageInfo_LldpNeighborEntry proto.InternalMessageInfo - -func (m *LldpNeighborEntry) GetLldpNeighbor() []*LldpNeighborItem { - if m != nil { - return m.LldpNeighbor - } - return nil -} - -func init() { - proto.RegisterType((*LldpNeighborEntry_KEYS)(nil), "cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_neighbor_entry_KEYS") - proto.RegisterType((*LldpL3Addr)(nil), "cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_l3_addr") - proto.RegisterType((*LldpAddrEntryItem)(nil), "cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_addr_entry_item") - proto.RegisterType((*LldpAddrEntryEntry)(nil), "cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_addr_entry_entry") - proto.RegisterType((*LldpNeighborDetail)(nil), "cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_neighbor_detail") - proto.RegisterType((*LldpUnknownTlvEntryItem)(nil), "cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_unknown_tlv_entry_item") - proto.RegisterType((*LldpUnknownTlvEntryEntry)(nil), "cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_unknown_tlv_entry_entry") - proto.RegisterType((*LldpOrgDefTlvEntryItem)(nil), "cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_org_def_tlv_entry_item") - proto.RegisterType((*LldpOrgDefTlvEntryEntry)(nil), "cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_org_def_tlv_entry_entry") - proto.RegisterType((*LldpNeighborMib)(nil), "cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_neighbor_mib") - proto.RegisterType((*LldpNeighborItem)(nil), "cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_neighbor_item") - proto.RegisterType((*LldpNeighborEntry)(nil), "cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail.lldp_neighbor_entry") -} - -func init() { proto.RegisterFile("lldp_neighbor.proto", fileDescriptor_lldp_neighbor_20c02b2819426aa6) } - -var fileDescriptor_lldp_neighbor_20c02b2819426aa6 = []byte{ - // 1197 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xcf, 0x8b, 0x1c, 0x45, - 0x14, 0xa6, 0xdd, 0xcd, 0xee, 0xcc, 0x9b, 0x1f, 0x99, 0xd4, 0x26, 0x71, 0x92, 0x8d, 0x26, 0x0e, - 0x06, 0x23, 0x92, 0x11, 0x37, 0x12, 0x04, 0x41, 0x08, 0x26, 0xe0, 0x60, 0xb2, 0x86, 0xde, 0x1f, - 0x20, 0x8a, 0x45, 0x4d, 0x77, 0xcd, 0x4c, 0xb1, 0x5d, 0xd5, 0x4d, 0x75, 0x4d, 0xef, 0x2e, 0x9e, - 0xbc, 0x78, 0x12, 0x14, 0x3c, 0xc5, 0x8b, 0xfe, 0x1d, 0x0a, 0xfe, 0x4f, 0x1e, 0xbd, 0xc9, 0xab, - 0xaa, 0xee, 0x9d, 0x9e, 0xec, 0x82, 0x87, 0x9d, 0x4b, 0xcf, 0xf4, 0x57, 0x5f, 0xbd, 0x57, 0xef, - 0xab, 0xf7, 0x5e, 0x55, 0xc3, 0x56, 0x92, 0xc4, 0x19, 0x55, 0x5c, 0x4c, 0x67, 0xe3, 0x54, 0x0f, - 0x33, 0x9d, 0x9a, 0x94, 0x7c, 0x11, 0x89, 0x3c, 0x4a, 0xa9, 0x48, 0x73, 0x7a, 0xa2, 0x29, 0x37, - 0x33, 0xae, 0x15, 0x37, 0xd4, 0x52, 0xd3, 0x8c, 0xeb, 0x21, 0xfe, 0x1b, 0xaa, 0x34, 0xe6, 0xb9, - 0x7d, 0x0e, 0xcb, 0xf9, 0xf9, 0x30, 0xe6, 0x86, 0x89, 0xa4, 0xfc, 0x1d, 0x7c, 0x0f, 0xfd, 0x9a, - 0x03, 0xca, 0x95, 0xd1, 0xa7, 0xf4, 0xcb, 0x67, 0x5f, 0xef, 0x91, 0x6d, 0x68, 0xe2, 0x64, 0xaa, - 0x98, 0xe4, 0xfd, 0xe0, 0x5e, 0xf0, 0xa0, 0x19, 0x36, 0x10, 0xd8, 0x65, 0x92, 0x93, 0xfb, 0xd0, - 0x15, 0xca, 0x70, 0x3d, 0x61, 0x91, 0x67, 0xbc, 0x61, 0x19, 0x9d, 0x0a, 0xb5, 0xb4, 0x6d, 0x68, - 0xc6, 0xbc, 0x10, 0x11, 0xa7, 0x22, 0xee, 0xaf, 0x39, 0x1b, 0x0e, 0x18, 0xc5, 0x83, 0x63, 0x68, - 0x5b, 0xe7, 0xc9, 0x23, 0xca, 0xe2, 0x58, 0x93, 0x77, 0xa0, 0x8d, 0xbf, 0x3c, 0xcf, 0xa9, 0x39, - 0xcd, 0x4a, 0x9f, 0x2d, 0x8f, 0xed, 0x9f, 0x66, 0x1c, 0x29, 0x22, 0x2b, 0x3e, 0xa6, 0x1e, 0xf3, - 0x4e, 0x5b, 0x88, 0x3d, 0x71, 0x90, 0xa7, 0x3c, 0xae, 0x28, 0x6b, 0x15, 0xe5, 0xb1, 0xa7, 0x0c, - 0xfe, 0x0e, 0xe0, 0xba, 0xf5, 0x8c, 0x1c, 0x1f, 0xb2, 0x30, 0x5c, 0x92, 0x0c, 0x36, 0xcb, 0x69, - 0xe8, 0xbc, 0xb5, 0x73, 0x38, 0xbc, 0x2c, 0xa9, 0x87, 0x8b, 0xa1, 0x86, 0xa5, 0x1b, 0xf2, 0x16, - 0x80, 0x64, 0x34, 0x9f, 0x8f, 0x6d, 0xc4, 0x18, 0x4e, 0x27, 0x6c, 0x4a, 0xb6, 0xe7, 0x00, 0x72, - 0x03, 0x36, 0xc4, 0x84, 0xaa, 0xb9, 0xb4, 0x61, 0x74, 0xc2, 0x2b, 0x62, 0xb2, 0x3b, 0x97, 0x83, - 0x3f, 0x02, 0xb8, 0xb1, 0x1c, 0x80, 0x7d, 0x92, 0x1f, 0x03, 0xb8, 0xba, 0x34, 0xd2, 0x0f, 0xee, - 0xad, 0x3d, 0x68, 0xed, 0x7c, 0x77, 0xc9, 0xa1, 0x2c, 0x69, 0x17, 0x76, 0x10, 0x45, 0x85, 0x9f, - 0x21, 0x36, 0xf8, 0xfd, 0x8a, 0xd7, 0xb8, 0x4a, 0x2d, 0x37, 0x99, 0x3c, 0x80, 0x5e, 0xc6, 0xb9, - 0xa6, 0x92, 0x45, 0x74, 0x51, 0xec, 0x66, 0xd8, 0x45, 0xfc, 0x05, 0x8b, 0xca, 0x9d, 0x7c, 0x1f, - 0x7a, 0x59, 0xaa, 0x0d, 0x8d, 0x79, 0x1e, 0x69, 0x91, 0x19, 0x91, 0x2a, 0xbf, 0xe1, 0x57, 0x11, - 0x7f, 0x7a, 0x06, 0x93, 0xbb, 0xd0, 0xca, 0x4f, 0x73, 0xc3, 0xa5, 0xcb, 0x45, 0xb7, 0xe7, 0xe0, - 0x20, 0x9b, 0x88, 0x0f, 0x81, 0x78, 0xc2, 0xa2, 0xb5, 0x75, 0xcb, 0xbb, 0xe6, 0x46, 0x16, 0xed, - 0xdd, 0x87, 0xae, 0x11, 0x92, 0x53, 0xcd, 0x25, 0x13, 0x4a, 0xa8, 0x69, 0xff, 0x8a, 0xd5, 0xbf, - 0x83, 0x68, 0x58, 0x82, 0xe4, 0x43, 0xd8, 0xf2, 0x56, 0x23, 0x96, 0xb1, 0xb1, 0x48, 0x84, 0x11, - 0x3c, 0xef, 0x6f, 0x58, 0xb3, 0xde, 0xe1, 0xe7, 0x0b, 0x23, 0xe4, 0x23, 0xb8, 0xce, 0x15, 0x1b, - 0x27, 0x3c, 0xae, 0xcf, 0xd8, 0xb4, 0x33, 0xb6, 0xfc, 0x58, 0x6d, 0xca, 0x4f, 0x01, 0x5c, 0x53, - 0xdc, 0x1c, 0xa7, 0xfa, 0xa8, 0xd4, 0x8b, 0xe7, 0xfd, 0x86, 0x4d, 0x4f, 0xba, 0xba, 0x3d, 0xb5, - 0xcf, 0xb0, 0xe7, 0x3d, 0x3f, 0x29, 0x1d, 0xe3, 0xa6, 0xb0, 0xb9, 0x49, 0xa9, 0xe2, 0xd3, 0xd4, - 0x08, 0x66, 0x65, 0x6c, 0xba, 0x4d, 0x41, 0x7c, 0xf7, 0x0c, 0x26, 0x9f, 0xc1, 0x76, 0x36, 0x3b, - 0xcd, 0x45, 0xc4, 0x12, 0x2a, 0x79, 0x2c, 0x58, 0x3d, 0x66, 0xb0, 0xb3, 0x6e, 0x95, 0x94, 0x17, - 0xc8, 0xa8, 0x45, 0xfe, 0x29, 0xdc, 0x76, 0xd3, 0x98, 0x31, 0x2c, 0x9a, 0x49, 0xae, 0x0c, 0x9d, - 0x2b, 0x61, 0x5c, 0x77, 0x68, 0xd9, 0x0d, 0x79, 0xd3, 0x32, 0x9e, 0x54, 0x84, 0x03, 0x25, 0x8c, - 0xed, 0x14, 0xf7, 0xa0, 0x6d, 0x93, 0xa7, 0x48, 0x98, 0xc2, 0xe6, 0xd3, 0xb6, 0x74, 0x40, 0xec, - 0x30, 0x61, 0x6a, 0x14, 0x0f, 0x0e, 0x60, 0xdb, 0x06, 0x3d, 0x57, 0x47, 0x2a, 0x3d, 0x56, 0xd4, - 0x24, 0xc5, 0x62, 0x2f, 0xb8, 0x05, 0x0d, 0x44, 0xaa, 0x4e, 0xd4, 0x09, 0x37, 0x4d, 0x52, 0x58, - 0xdb, 0xdb, 0xd0, 0xc4, 0xa1, 0x82, 0x25, 0x73, 0x57, 0xb3, 0xed, 0x10, 0xb9, 0x87, 0xf8, 0x3e, - 0xf8, 0x2b, 0x80, 0x3b, 0x17, 0xd8, 0x75, 0x25, 0xfa, 0x5b, 0x00, 0x37, 0xcf, 0x27, 0xf8, 0x4a, - 0xe5, 0x97, 0xbc, 0xab, 0xe7, 0x07, 0x18, 0xda, 0xa3, 0xe5, 0xc0, 0x8d, 0xed, 0x27, 0x85, 0x2b, - 0xdb, 0x5f, 0x03, 0xaf, 0x4a, 0xaa, 0xa7, 0x34, 0xe6, 0x93, 0x65, 0x55, 0x7a, 0xb0, 0x96, 0xce, - 0x85, 0x17, 0x04, 0xff, 0x62, 0xe9, 0x21, 0xa7, 0xde, 0xc2, 0xc0, 0x24, 0x45, 0xd9, 0xc3, 0xde, - 0x85, 0x2e, 0x12, 0x84, 0x9a, 0xa4, 0x54, 0xa8, 0x98, 0xe7, 0xbe, 0x97, 0xb5, 0x4d, 0x52, 0x8c, - 0xd4, 0x24, 0x1d, 0x21, 0x56, 0xd7, 0x74, 0x7d, 0x49, 0xd3, 0x3f, 0x4b, 0x4d, 0x5f, 0x5f, 0x95, - 0xd3, 0xf4, 0x55, 0xa9, 0xe9, 0x6b, 0x84, 0x15, 0x69, 0x7a, 0xbe, 0x3c, 0x21, 0xc1, 0xc1, 0xaf, - 0xf4, 0xf4, 0x29, 0x9f, 0x54, 0x92, 0xfe, 0xbb, 0x0e, 0xd7, 0xea, 0x9d, 0x50, 0x8a, 0x31, 0x19, - 0x40, 0x47, 0x73, 0x49, 0x6d, 0x97, 0x91, 0x4c, 0x1f, 0x79, 0x49, 0x5b, 0x9a, 0xcb, 0x7d, 0x21, - 0xf9, 0x0b, 0xa6, 0x8f, 0xc8, 0x07, 0x40, 0x90, 0x93, 0xa4, 0x58, 0x41, 0x36, 0x9b, 0xf1, 0x24, - 0x70, 0x0a, 0x5f, 0xd5, 0x5c, 0x3e, 0xc7, 0x81, 0x97, 0xa9, 0x36, 0xbb, 0x73, 0x89, 0x02, 0x22, - 0x19, 0x15, 0x3e, 0xf1, 0x0a, 0x37, 0x34, 0x97, 0xa8, 0xee, 0x09, 0x79, 0x08, 0x5b, 0xd1, 0x8c, - 0xe5, 0xb9, 0xc8, 0xa9, 0x88, 0x71, 0xaf, 0x5c, 0x5e, 0xaf, 0x5b, 0x5a, 0xcf, 0x0f, 0x8d, 0xe2, - 0xbd, 0xf9, 0x78, 0xdf, 0x6f, 0xd9, 0x02, 0x3d, 0xe1, 0xca, 0xb7, 0xbf, 0x76, 0xc5, 0x7c, 0xce, - 0x15, 0x79, 0xcf, 0xf7, 0xe7, 0x45, 0x8b, 0x1b, 0xae, 0x4d, 0x22, 0x7e, 0x66, 0xee, 0x6d, 0x68, - 0x95, 0x44, 0xb4, 0xb5, 0xe9, 0x4e, 0x39, 0xc7, 0x41, 0x43, 0x8f, 0xe0, 0x46, 0x94, 0xca, 0xb1, - 0x50, 0xcb, 0x6d, 0xb1, 0x61, 0x99, 0xd7, 0xcb, 0xc1, 0x5a, 0x77, 0xf8, 0x25, 0x80, 0xde, 0x62, - 0x66, 0x27, 0x22, 0x37, 0xb6, 0x13, 0xb5, 0x76, 0x26, 0x2b, 0x2f, 0x20, 0xd7, 0x1d, 0xbb, 0xf3, - 0xaa, 0x7a, 0x9e, 0x8b, 0xdc, 0x90, 0x9f, 0x03, 0xe8, 0x2d, 0x26, 0x86, 0x5d, 0x12, 0xac, 0x64, - 0x49, 0x17, 0x14, 0x42, 0xd8, 0x49, 0xcb, 0xe4, 0xc3, 0x15, 0x0d, 0xfe, 0x59, 0x07, 0x52, 0xcf, - 0x3d, 0x5b, 0xc5, 0x9f, 0x40, 0x5f, 0xf3, 0x88, 0x8b, 0x42, 0xa8, 0x29, 0x5d, 0xba, 0xc7, 0xb9, - 0xb3, 0xf8, 0x66, 0x35, 0x3e, 0xaa, 0x5d, 0xe8, 0x9e, 0xc1, 0xdd, 0xb3, 0x99, 0x19, 0xd3, 0xd8, - 0x93, 0xcf, 0xbd, 0x08, 0xde, 0xa9, 0x68, 0x2f, 0x2d, 0x6b, 0xf4, 0xbf, 0xef, 0x85, 0x78, 0x27, - 0x3a, 0xcb, 0x3e, 0x7f, 0x46, 0x37, 0xab, 0xcc, 0xc3, 0xe4, 0x2c, 0xb3, 0xc9, 0x29, 0x62, 0x93, - 0xb3, 0x19, 0xb6, 0x5d, 0x42, 0x3d, 0x75, 0xd7, 0x8c, 0xfb, 0xd0, 0x9d, 0x71, 0x16, 0x73, 0x4d, - 0x0b, 0xae, 0x73, 0x3c, 0xa5, 0x7c, 0x6a, 0x3a, 0xf4, 0xd0, 0x81, 0xb8, 0x90, 0x59, 0x9a, 0xc4, - 0xb6, 0x0e, 0x7d, 0x62, 0x36, 0x10, 0xc0, 0x1a, 0xbc, 0xf0, 0xb4, 0x6e, 0x5c, 0x7c, 0x5a, 0xdf, - 0x86, 0x46, 0x96, 0x30, 0x33, 0x49, 0xb5, 0xf4, 0xc7, 0x62, 0xf5, 0x4e, 0x0a, 0xd8, 0xf0, 0x0b, - 0x76, 0x39, 0x71, 0xd9, 0x37, 0xb2, 0xa5, 0x9b, 0x56, 0xe8, 0xbd, 0x11, 0x09, 0x6b, 0x52, 0x8c, - 0xed, 0x81, 0xd9, 0xda, 0xf9, 0x66, 0x55, 0x4e, 0xa5, 0x18, 0x87, 0xe8, 0x67, 0xf0, 0x2a, 0x58, - 0xfa, 0x6a, 0xf1, 0x3d, 0xfa, 0x87, 0x00, 0x3a, 0x35, 0xbc, 0xbf, 0x63, 0x5b, 0xf3, 0xb7, 0xab, - 0x5a, 0x91, 0xed, 0xc8, 0xf6, 0x13, 0x63, 0xd7, 0x43, 0xe3, 0x0d, 0xfb, 0x01, 0xf5, 0xe8, 0xbf, - 0x00, 0x00, 0x00, 0xff, 0xff, 0x34, 0x95, 0x35, 0x22, 0x57, 0x0d, 0x00, 0x00, -} diff --git a/proto/telemetry/lldp65x/lldp_neighbor.proto b/proto/telemetry/lldp65x/lldp_neighbor.proto deleted file mode 100644 index 21421b6..0000000 --- a/proto/telemetry/lldp65x/lldp_neighbor.proto +++ /dev/null @@ -1,293 +0,0 @@ -// Apache License -// Version 2.0, January 2004 -// http://www.apache.org/licenses/ -// -// TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -// -// 1. Definitions. -// -// "License" shall mean the terms and conditions for use, reproduction, -// and distribution as defined by Sections 1 through 9 of this document. -// -// "Licensor" shall mean the copyright owner or entity authorized by -// the copyright owner that is granting the License. -// -// "Legal Entity" shall mean the union of the acting entity and all -// other entities that control, are controlled by, or are under common -// control with that entity. For the purposes of this definition, -// "control" means (i) the power, direct or indirect, to cause the -// direction or management of such entity, whether by contract or -// otherwise, or (ii) ownership of fifty percent (50%) or more of the -// outstanding shares, or (iii) beneficial ownership of such entity. -// -// "You" (or "Your") shall mean an individual or Legal Entity -// exercising permissions granted by this License. -// -// "Source" form shall mean the preferred form for making modifications, -// including but not limited to software source code, documentation -// source, and configuration files. -// -// "Object" form shall mean any form resulting from mechanical -// transformation or translation of a Source form, including but -// not limited to compiled object code, generated documentation, -// and conversions to other media types. -// -// "Work" shall mean the work of authorship, whether in Source or -// Object form, made available under the License, as indicated by a -// copyright notice that is included in or attached to the work -// (an example is provided in the Appendix below). -// -// "Derivative Works" shall mean any work, whether in Source or Object -// form, that is based on (or derived from) the Work and for which the -// editorial revisions, annotations, elaborations, or other modifications -// represent, as a whole, an original work of authorship. For the purposes -// of this License, Derivative Works shall not include works that remain -// separable from, or merely link (or bind by name) to the interfaces of, -// the Work and Derivative Works thereof. -// -// "Contribution" shall mean any work of authorship, including -// the original version of the Work and any modifications or additions -// to that Work or Derivative Works thereof, that is intentionally -// submitted to Licensor for inclusion in the Work by the copyright owner -// or by an individual or Legal Entity authorized to submit on behalf of -// the copyright owner. For the purposes of this definition, "submitted" -// means any form of electronic, verbal, or written communication sent -// to the Licensor or its representatives, including but not limited to -// communication on electronic mailing lists, source code control systems, -// and issue tracking systems that are managed by, or on behalf of, the -// Licensor for the purpose of discussing and improving the Work, but -// excluding communication that is conspicuously marked or otherwise -// designated in writing by the copyright owner as "Not a Contribution." -// -// "Contributor" shall mean Licensor and any individual or Legal Entity -// on behalf of whom a Contribution has been received by Licensor and -// subsequently incorporated within the Work. -// -// 2. Grant of Copyright License. Subject to the terms and conditions of -// this License, each Contributor hereby grants to You a perpetual, -// worldwide, non-exclusive, no-charge, royalty-free, irrevocable -// copyright license to reproduce, prepare Derivative Works of, -// publicly display, publicly perform, sublicense, and distribute the -// Work and such Derivative Works in Source or Object form. -// -// 3. Grant of Patent License. Subject to the terms and conditions of -// this License, each Contributor hereby grants to You a perpetual, -// worldwide, non-exclusive, no-charge, royalty-free, irrevocable -// (except as stated in this section) patent license to make, have made, -// use, offer to sell, sell, import, and otherwise transfer the Work, -// where such license applies only to those patent claims licensable -// by such Contributor that are necessarily infringed by their -// Contribution(s) alone or by combination of their Contribution(s) -// with the Work to which such Contribution(s) was submitted. If You -// institute patent litigation against any entity (including a -// cross-claim or counterclaim in a lawsuit) alleging that the Work -// or a Contribution incorporated within the Work constitutes direct -// or contributory patent infringement, then any patent licenses -// granted to You under this License for that Work shall terminate -// as of the date such litigation is filed. -// -// 4. Redistribution. You may reproduce and distribute copies of the -// Work or Derivative Works thereof in any medium, with or without -// modifications, and in Source or Object form, provided that You -// meet the following conditions: -// -// (a) You must give any other recipients of the Work or -// Derivative Works a copy of this License; and -// -// (b) You must cause any modified files to carry prominent notices -// stating that You changed the files; and -// -// (c) You must retain, in the Source form of any Derivative Works -// that You distribute, all copyright, patent, trademark, and -// attribution notices from the Source form of the Work, -// excluding those notices that do not pertain to any part of -// the Derivative Works; and -// -// (d) If the Work includes a "NOTICE" text file as part of its -// distribution, then any Derivative Works that You distribute must -// include a readable copy of the attribution notices contained -// within such NOTICE file, excluding those notices that do not -// pertain to any part of the Derivative Works, in at least one -// of the following places: within a NOTICE text file distributed -// as part of the Derivative Works; within the Source form or -// documentation, if provided along with the Derivative Works; or, -// within a display generated by the Derivative Works, if and -// wherever such third-party notices normally appear. The contents -// of the NOTICE file are for informational purposes only and -// do not modify the License. You may add Your own attribution -// notices within Derivative Works that You distribute, alongside -// or as an addendum to the NOTICE text from the Work, provided -// that such additional attribution notices cannot be construed -// as modifying the License. -// -// You may add Your own copyright statement to Your modifications and -// may provide additional or different license terms and conditions -// for use, reproduction, or distribution of Your modifications, or -// for any such Derivative Works as a whole, provided Your use, -// reproduction, and distribution of the Work otherwise complies with -// the conditions stated in this License. -// -// 5. Submission of Contributions. Unless You explicitly state otherwise, -// any Contribution intentionally submitted for inclusion in the Work -// by You to the Licensor shall be under the terms and conditions of -// this License, without any additional terms or conditions. -// Notwithstanding the above, nothing herein shall supersede or modify -// the terms of any separate license agreement you may have executed -// with Licensor regarding such Contributions. -// -// 6. Trademarks. This License does not grant permission to use the trade -// names, trademarks, service marks, or product names of the Licensor, -// except as required for reasonable and customary use in describing the -// origin of the Work and reproducing the content of the NOTICE file. -// -// 7. Disclaimer of Warranty. Unless required by applicable law or -// agreed to in writing, Licensor provides the Work (and each -// Contributor provides its Contributions) on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -// implied, including, without limitation, any warranties or conditions -// of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A -// PARTICULAR PURPOSE. You are solely responsible for determining the -// appropriateness of using or redistributing the Work and assume any -// risks associated with Your exercise of permissions under this License. -// -// 8. Limitation of Liability. In no event and under no legal theory, -// whether in tort (including negligence), contract, or otherwise, -// unless required by applicable law (such as deliberate and grossly -// negligent acts) or agreed to in writing, shall any Contributor be -// liable to You for damages, including any direct, indirect, special, -// incidental, or consequential damages of any character arising as a -// result of this License or out of the use or inability to use the -// Work (including but not limited to damages for loss of goodwill, -// work stoppage, computer failure or malfunction, or any and all -// other commercial damages or losses), even if such Contributor -// has been advised of the possibility of such damages. -// -// 9. Accepting Warranty or Additional Liability. While redistributing -// the Work or Derivative Works thereof, You may choose to offer, -// and charge a fee for, acceptance of support, warranty, indemnity, -// or other liability obligations and/or rights consistent with this -// License. However, in accepting such obligations, You may act only -// on Your own behalf and on Your sole responsibility, not on behalf -// of any other Contributor, and only if You agree to indemnify, -// defend, and hold each Contributor harmless for any liability -// incurred by, or claims asserted against, such Contributor by reason -// of your accepting any such warranty or additional liability. -// -// END OF TERMS AND CONDITIONS -// -// APPENDIX: How to apply the Apache License to your work. -// -// To apply the Apache License to your work, attach the following -// boilerplate notice, with the fields enclosed by brackets "{}" -// replaced with your own identifying information. (Don't include -// the brackets!) The text should be enclosed in the appropriate -// comment syntax for the file format. We also recommend that a -// file or class name and description of purpose be included on the -// same "printed page" as the copyright notice for easier -// identification within third-party archives. -// -// Copyright (c) 2017 Cisco -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package cisco_ios_xr_ethernet_lldp_oper.lldp.nodes.node.neighbors.details.detail; - -message lldp_neighbor_entry_KEYS { - string node_name = 1; - string interface_name = 2; - string device_id = 3; -} - -message lldp_l3_addr { - string address_type = 1; - string ipv4_address = 2; - string ipv6_address = 3; -} - -message lldp_addr_entry_item { - lldp_l3_addr address = 1; - uint32 ma_subtype = 2; - uint32 if_num = 3; -} - -message lldp_addr_entry_entry { - repeated lldp_addr_entry_item lldp_addr_entry = 1; -} - -message lldp_neighbor_detail { - string peer_mac_address = 1; - string port_description = 2; - string system_name = 3; - string system_description = 4; - uint32 time_remaining = 5; - string system_capabilities = 6; - string enabled_capabilities = 7; - lldp_addr_entry_entry network_addresses = 8; - string auto_negotiation = 9; - string physical_media_capabilities = 10; - uint32 media_attachment_unit_type = 11; - uint32 port_vlan_id = 12; -} - -message lldp_unknown_tlv_entry_item { - uint32 tlv_type = 1; - bytes tlv_value = 2; -} - -message lldp_unknown_tlv_entry_entry { - repeated lldp_unknown_tlv_entry_item lldp_unknown_tlv_entry = 1; -} - -message lldp_org_def_tlv_entry_item { - uint32 oui = 1; - uint32 tlv_subtype = 2; - uint32 tlv_info_indes = 3; - bytes tlv_value = 4; -} - -message lldp_org_def_tlv_entry_entry { - repeated lldp_org_def_tlv_entry_item lldp_org_def_tlv_entry = 1; -} - -message lldp_neighbor_mib { - uint32 rem_time_mark = 1; - uint32 rem_local_port_num = 2; - uint32 rem_index = 3; - uint32 chassis_id_sub_type = 4; - uint32 chassis_id_len = 5; - uint32 port_id_sub_type = 6; - uint32 port_id_len = 7; - uint32 combined_capabilities = 8; - lldp_unknown_tlv_entry_entry unknown_tlv_list = 9; - lldp_org_def_tlv_entry_entry org_def_tlv_list = 10; -} - -message lldp_neighbor_item { - string receiving_interface_name = 1; - string receiving_parent_interface_name = 2; - string device_id = 3; - string chassis_id = 4; - string port_id_detail = 5; - uint32 header_version = 6; - uint32 hold_time = 7; - string enabled_capabilities = 8; - string platform = 9; - lldp_neighbor_detail detail = 10; - lldp_neighbor_mib mib = 11; -} - -message lldp_neighbor_entry { - repeated lldp_neighbor_item lldp_neighbor = 50; -} \ No newline at end of file diff --git a/proto/telemetry/telemetry.pb.go b/proto/telemetry/telemetry.pb.go index 9b589b1..748eab4 100644 --- a/proto/telemetry/telemetry.pb.go +++ b/proto/telemetry/telemetry.pb.go @@ -1,35 +1,44 @@ -// Code generated by protoc-gen-go. -// source: telemetry.proto -// DO NOT EDIT! - -/* -Package telemetry is a generated protocol buffer package. - -It is generated from these files: - telemetry.proto - -It has these top-level messages: - Telemetry - TelemetryField - TelemetryGPBTable - TelemetryRowGPB -*/ -package telemetry +// ---------------------------------------------------------------------------- +// telemetry_bis.proto - Telemetry protobuf definitions +// +// August 2016 +// +// Copyright (c) 2016 by Cisco Systems, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------- + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.0 +// protoc v3.5.0 +// source: proto/telemetry/telemetry.proto -import proto "github.com/golang/protobuf/proto" -import fmt "fmt" -import math "math" +package telemetry -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) // Telemetry message is the outermost payload message used to stream // telemetry in a Model Driven Telemetry (MDT) system. MDT provides a @@ -37,12 +46,16 @@ const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package // a Yang model and receive periodic or event-based updates of the data // set from an MDT-capable device. type Telemetry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // // node_id_str is a string encoded unique node ID of the MDT-capable // device producing the message. (node_id_uuid alternative is not currently // produced in IOS-XR) // - // Types that are valid to be assigned to NodeId: + // Types that are assignable to NodeId: // *Telemetry_NodeIdStr NodeId isTelemetry_NodeId `protobuf_oneof:"node_id"` // @@ -50,7 +63,7 @@ type Telemetry struct { // this content is being produced. (subscription_id alternative is not // currently produced in IOS-XR) // - // Types that are valid to be assigned to Subscription: + // Types that are assignable to Subscription: // *Telemetry_SubscriptionIdStr Subscription isTelemetry_Subscription `protobuf_oneof:"subscription"` // @@ -60,63 +73,73 @@ type Telemetry struct { // encoding_path is the Yang path leading to the content in this message. // The Yang tree encoded in the content section of this message is rooted // at the point described by the encoding_path. - EncodingPath string `protobuf:"bytes,6,opt,name=encoding_path,json=encodingPath" json:"encoding_path,omitempty"` + EncodingPath string `protobuf:"bytes,6,opt,name=encoding_path,json=encodingPath,proto3" json:"encoding_path,omitempty"` // - // model_version is not currently produced in IOS-XR - // string model_version = 7; + // model_revision + ModelVersion string `protobuf:"bytes,7,opt,name=model_version,json=modelVersion,proto3" json:"model_version,omitempty"` // // collection_id identifies messages belonging to a collection round. // Multiple message may be generated from a collection round. - CollectionId uint64 `protobuf:"varint,8,opt,name=collection_id,json=collectionId" json:"collection_id,omitempty"` + CollectionId uint64 `protobuf:"varint,8,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty"` // // collection_start_time is the time when the collection identified by // the collection_id begins - encoded as milliseconds since the epoch. // If a single collection is spread over multiple Telemetry Messages, // collection_start_time may be encoded in the first Telemetry Message // for the collection only. - CollectionStartTime uint64 `protobuf:"varint,9,opt,name=collection_start_time,json=collectionStartTime" json:"collection_start_time,omitempty"` + CollectionStartTime uint64 `protobuf:"varint,9,opt,name=collection_start_time,json=collectionStartTime,proto3" json:"collection_start_time,omitempty"` // // msg_timestamp is the time when the data encoded in the Telemetry // message is generated - encoded as milliseconds since the epoch. - MsgTimestamp uint64 `protobuf:"varint,10,opt,name=msg_timestamp,json=msgTimestamp" json:"msg_timestamp,omitempty"` + MsgTimestamp uint64 `protobuf:"varint,10,opt,name=msg_timestamp,json=msgTimestamp,proto3" json:"msg_timestamp,omitempty"` // // data_gpbkv contains the payload data if data is being encoded in the // self-describing GPB-KV format. - DataGpbkv []*TelemetryField `protobuf:"bytes,11,rep,name=data_gpbkv,json=dataGpbkv" json:"data_gpbkv,omitempty"` + DataGpbkv []*TelemetryField `protobuf:"bytes,11,rep,name=data_gpbkv,json=dataGpbkv,proto3" json:"data_gpbkv,omitempty"` // // data_gpb contains the payload data if data is being encoded as // serialised GPB messages. - DataGpb *TelemetryGPBTable `protobuf:"bytes,12,opt,name=data_gpb,json=dataGpb" json:"data_gpb,omitempty"` + DataGpb *TelemetryGPBTable `protobuf:"bytes,12,opt,name=data_gpb,json=dataGpb,proto3" json:"data_gpb,omitempty"` // // collection_end_time is the timestamp when the last Telemetry message // for a collection has been encoded - encoded as milliseconds since the // epoch. If a single collection is spread over multiple Telemetry // messages, collection_end_time is encoded in the last Telemetry Message // for the collection only. - CollectionEndTime uint64 `protobuf:"varint,13,opt,name=collection_end_time,json=collectionEndTime" json:"collection_end_time,omitempty"` + CollectionEndTime uint64 `protobuf:"varint,13,opt,name=collection_end_time,json=collectionEndTime,proto3" json:"collection_end_time,omitempty"` } -func (m *Telemetry) Reset() { *m = Telemetry{} } -func (m *Telemetry) String() string { return proto.CompactTextString(m) } -func (*Telemetry) ProtoMessage() {} -func (*Telemetry) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } - -type isTelemetry_NodeId interface { - isTelemetry_NodeId() -} -type isTelemetry_Subscription interface { - isTelemetry_Subscription() +func (x *Telemetry) Reset() { + *x = Telemetry{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_telemetry_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -type Telemetry_NodeIdStr struct { - NodeIdStr string `protobuf:"bytes,1,opt,name=node_id_str,json=nodeIdStr,oneof"` +func (x *Telemetry) String() string { + return protoimpl.X.MessageStringOf(x) } -type Telemetry_SubscriptionIdStr struct { - SubscriptionIdStr string `protobuf:"bytes,3,opt,name=subscription_id_str,json=subscriptionIdStr,oneof"` + +func (*Telemetry) ProtoMessage() {} + +func (x *Telemetry) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_telemetry_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -func (*Telemetry_NodeIdStr) isTelemetry_NodeId() {} -func (*Telemetry_SubscriptionIdStr) isTelemetry_Subscription() {} +// Deprecated: Use Telemetry.ProtoReflect.Descriptor instead. +func (*Telemetry) Descriptor() ([]byte, []int) { + return file_proto_telemetry_telemetry_proto_rawDescGZIP(), []int{0} +} func (m *Telemetry) GetNodeId() isTelemetry_NodeId { if m != nil { @@ -124,6 +147,14 @@ func (m *Telemetry) GetNodeId() isTelemetry_NodeId { } return nil } + +func (x *Telemetry) GetNodeIdStr() string { + if x, ok := x.GetNodeId().(*Telemetry_NodeIdStr); ok { + return x.NodeIdStr + } + return "" +} + func (m *Telemetry) GetSubscription() isTelemetry_Subscription { if m != nil { return m.Subscription @@ -131,153 +162,99 @@ func (m *Telemetry) GetSubscription() isTelemetry_Subscription { return nil } -func (m *Telemetry) GetNodeIdStr() string { - if x, ok := m.GetNodeId().(*Telemetry_NodeIdStr); ok { - return x.NodeIdStr +func (x *Telemetry) GetSubscriptionIdStr() string { + if x, ok := x.GetSubscription().(*Telemetry_SubscriptionIdStr); ok { + return x.SubscriptionIdStr } return "" } -func (m *Telemetry) GetSubscriptionIdStr() string { - if x, ok := m.GetSubscription().(*Telemetry_SubscriptionIdStr); ok { - return x.SubscriptionIdStr +func (x *Telemetry) GetEncodingPath() string { + if x != nil { + return x.EncodingPath } return "" } -func (m *Telemetry) GetEncodingPath() string { - if m != nil { - return m.EncodingPath +func (x *Telemetry) GetModelVersion() string { + if x != nil { + return x.ModelVersion } return "" } -func (m *Telemetry) GetCollectionId() uint64 { - if m != nil { - return m.CollectionId +func (x *Telemetry) GetCollectionId() uint64 { + if x != nil { + return x.CollectionId } return 0 } -func (m *Telemetry) GetCollectionStartTime() uint64 { - if m != nil { - return m.CollectionStartTime +func (x *Telemetry) GetCollectionStartTime() uint64 { + if x != nil { + return x.CollectionStartTime } return 0 } -func (m *Telemetry) GetMsgTimestamp() uint64 { - if m != nil { - return m.MsgTimestamp +func (x *Telemetry) GetMsgTimestamp() uint64 { + if x != nil { + return x.MsgTimestamp } return 0 } -func (m *Telemetry) GetDataGpbkv() []*TelemetryField { - if m != nil { - return m.DataGpbkv +func (x *Telemetry) GetDataGpbkv() []*TelemetryField { + if x != nil { + return x.DataGpbkv } return nil } -func (m *Telemetry) GetDataGpb() *TelemetryGPBTable { - if m != nil { - return m.DataGpb +func (x *Telemetry) GetDataGpb() *TelemetryGPBTable { + if x != nil { + return x.DataGpb } return nil } -func (m *Telemetry) GetCollectionEndTime() uint64 { - if m != nil { - return m.CollectionEndTime +func (x *Telemetry) GetCollectionEndTime() uint64 { + if x != nil { + return x.CollectionEndTime } return 0 } -// XXX_OneofFuncs is for the internal use of the proto package. -func (*Telemetry) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { - return _Telemetry_OneofMarshaler, _Telemetry_OneofUnmarshaler, _Telemetry_OneofSizer, []interface{}{ - (*Telemetry_NodeIdStr)(nil), - (*Telemetry_SubscriptionIdStr)(nil), - } +type isTelemetry_NodeId interface { + isTelemetry_NodeId() } -func _Telemetry_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { - m := msg.(*Telemetry) - // node_id - switch x := m.NodeId.(type) { - case *Telemetry_NodeIdStr: - b.EncodeVarint(1<<3 | proto.WireBytes) - b.EncodeStringBytes(x.NodeIdStr) - case nil: - default: - return fmt.Errorf("Telemetry.NodeId has unexpected type %T", x) - } - // subscription - switch x := m.Subscription.(type) { - case *Telemetry_SubscriptionIdStr: - b.EncodeVarint(3<<3 | proto.WireBytes) - b.EncodeStringBytes(x.SubscriptionIdStr) - case nil: - default: - return fmt.Errorf("Telemetry.Subscription has unexpected type %T", x) - } - return nil +type Telemetry_NodeIdStr struct { + NodeIdStr string `protobuf:"bytes,1,opt,name=node_id_str,json=nodeIdStr,proto3,oneof"` // bytes node_id_uuid = 2; } -func _Telemetry_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { - m := msg.(*Telemetry) - switch tag { - case 1: // node_id.node_id_str - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeStringBytes() - m.NodeId = &Telemetry_NodeIdStr{x} - return true, err - case 3: // subscription.subscription_id_str - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeStringBytes() - m.Subscription = &Telemetry_SubscriptionIdStr{x} - return true, err - default: - return false, nil - } -} - -func _Telemetry_OneofSizer(msg proto.Message) (n int) { - m := msg.(*Telemetry) - // node_id - switch x := m.NodeId.(type) { - case *Telemetry_NodeIdStr: - n += proto.SizeVarint(1<<3 | proto.WireBytes) - n += proto.SizeVarint(uint64(len(x.NodeIdStr))) - n += len(x.NodeIdStr) - case nil: - default: - panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) - } - // subscription - switch x := m.Subscription.(type) { - case *Telemetry_SubscriptionIdStr: - n += proto.SizeVarint(3<<3 | proto.WireBytes) - n += proto.SizeVarint(uint64(len(x.SubscriptionIdStr))) - n += len(x.SubscriptionIdStr) - case nil: - default: - panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) - } - return n +func (*Telemetry_NodeIdStr) isTelemetry_NodeId() {} + +type isTelemetry_Subscription interface { + isTelemetry_Subscription() +} + +type Telemetry_SubscriptionIdStr struct { + SubscriptionIdStr string `protobuf:"bytes,3,opt,name=subscription_id_str,json=subscriptionIdStr,proto3,oneof"` // uint32 subscription_id = 4; } +func (*Telemetry_SubscriptionIdStr) isTelemetry_Subscription() {} + // // TelemetryField messages are used to export content in the self // describing GPB KV form. The TelemetryField message is sufficient to // decode telemetry messages for all models. KV-GPB encoding is very // similar in concept, to JSON encoding type TelemetryField struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // // timestamp represents the starting time of the generation of data // starting from this key, value pair in this message - encoded as @@ -285,11 +262,11 @@ type TelemetryField struct { // msg_timestamp in the containing Telemetry Message. This field can be // omitted if the value is the same as a TelemetryField message up the // hierarchy within the same Telemetry Message as well. - Timestamp uint64 `protobuf:"varint,1,opt,name=timestamp" json:"timestamp,omitempty"` + Timestamp uint64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // // name: string encoding of the name in the key, value pair. It is // the corresponding YANG element name. - Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // // value_by_type, if present, for the corresponding YANG element // represented by the name field in the same TelemetryField message. The @@ -300,7 +277,7 @@ type TelemetryField struct { // container are encoded using the nesting primitive defined in this // encoding proposal. // - // Types that are valid to be assigned to ValueByType: + // Types that are assignable to ValueByType: // *TelemetryField_BytesValue // *TelemetryField_StringValue // *TelemetryField_BoolValue @@ -314,331 +291,246 @@ type TelemetryField struct { // // The Yang model may include nesting (e.g hierarchy of containers). The // next level of nesting, if present, is encoded, starting from fields. - Fields []*TelemetryField `protobuf:"bytes,15,rep,name=fields" json:"fields,omitempty"` + Fields []*TelemetryField `protobuf:"bytes,15,rep,name=fields,proto3" json:"fields,omitempty"` + // set only for delete event + Delete bool `protobuf:"varint,16,opt,name=delete,proto3" json:"delete,omitempty"` } -func (m *TelemetryField) Reset() { *m = TelemetryField{} } -func (m *TelemetryField) String() string { return proto.CompactTextString(m) } -func (*TelemetryField) ProtoMessage() {} -func (*TelemetryField) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } - -type isTelemetryField_ValueByType interface { - isTelemetryField_ValueByType() +func (x *TelemetryField) Reset() { + *x = TelemetryField{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_telemetry_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } -type TelemetryField_BytesValue struct { - BytesValue []byte `protobuf:"bytes,4,opt,name=bytes_value,json=bytesValue,proto3,oneof"` -} -type TelemetryField_StringValue struct { - StringValue string `protobuf:"bytes,5,opt,name=string_value,json=stringValue,oneof"` -} -type TelemetryField_BoolValue struct { - BoolValue bool `protobuf:"varint,6,opt,name=bool_value,json=boolValue,oneof"` -} -type TelemetryField_Uint32Value struct { - Uint32Value uint32 `protobuf:"varint,7,opt,name=uint32_value,json=uint32Value,oneof"` -} -type TelemetryField_Uint64Value struct { - Uint64Value uint64 `protobuf:"varint,8,opt,name=uint64_value,json=uint64Value,oneof"` -} -type TelemetryField_Sint32Value struct { - Sint32Value int32 `protobuf:"zigzag32,9,opt,name=sint32_value,json=sint32Value,oneof"` -} -type TelemetryField_Sint64Value struct { - Sint64Value int64 `protobuf:"zigzag64,10,opt,name=sint64_value,json=sint64Value,oneof"` -} -type TelemetryField_DoubleValue struct { - DoubleValue float64 `protobuf:"fixed64,11,opt,name=double_value,json=doubleValue,oneof"` -} -type TelemetryField_FloatValue struct { - FloatValue float32 `protobuf:"fixed32,12,opt,name=float_value,json=floatValue,oneof"` +func (x *TelemetryField) String() string { + return protoimpl.X.MessageStringOf(x) } -func (*TelemetryField_BytesValue) isTelemetryField_ValueByType() {} -func (*TelemetryField_StringValue) isTelemetryField_ValueByType() {} -func (*TelemetryField_BoolValue) isTelemetryField_ValueByType() {} -func (*TelemetryField_Uint32Value) isTelemetryField_ValueByType() {} -func (*TelemetryField_Uint64Value) isTelemetryField_ValueByType() {} -func (*TelemetryField_Sint32Value) isTelemetryField_ValueByType() {} -func (*TelemetryField_Sint64Value) isTelemetryField_ValueByType() {} -func (*TelemetryField_DoubleValue) isTelemetryField_ValueByType() {} -func (*TelemetryField_FloatValue) isTelemetryField_ValueByType() {} +func (*TelemetryField) ProtoMessage() {} -func (m *TelemetryField) GetValueByType() isTelemetryField_ValueByType { - if m != nil { - return m.ValueByType +func (x *TelemetryField) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_telemetry_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (m *TelemetryField) GetTimestamp() uint64 { - if m != nil { - return m.Timestamp +// Deprecated: Use TelemetryField.ProtoReflect.Descriptor instead. +func (*TelemetryField) Descriptor() ([]byte, []int) { + return file_proto_telemetry_telemetry_proto_rawDescGZIP(), []int{1} +} + +func (x *TelemetryField) GetTimestamp() uint64 { + if x != nil { + return x.Timestamp } return 0 } -func (m *TelemetryField) GetName() string { - if m != nil { - return m.Name +func (x *TelemetryField) GetName() string { + if x != nil { + return x.Name } return "" } -func (m *TelemetryField) GetBytesValue() []byte { - if x, ok := m.GetValueByType().(*TelemetryField_BytesValue); ok { +func (m *TelemetryField) GetValueByType() isTelemetryField_ValueByType { + if m != nil { + return m.ValueByType + } + return nil +} + +func (x *TelemetryField) GetBytesValue() []byte { + if x, ok := x.GetValueByType().(*TelemetryField_BytesValue); ok { return x.BytesValue } return nil } -func (m *TelemetryField) GetStringValue() string { - if x, ok := m.GetValueByType().(*TelemetryField_StringValue); ok { +func (x *TelemetryField) GetStringValue() string { + if x, ok := x.GetValueByType().(*TelemetryField_StringValue); ok { return x.StringValue } return "" } -func (m *TelemetryField) GetBoolValue() bool { - if x, ok := m.GetValueByType().(*TelemetryField_BoolValue); ok { +func (x *TelemetryField) GetBoolValue() bool { + if x, ok := x.GetValueByType().(*TelemetryField_BoolValue); ok { return x.BoolValue } return false } -func (m *TelemetryField) GetUint32Value() uint32 { - if x, ok := m.GetValueByType().(*TelemetryField_Uint32Value); ok { +func (x *TelemetryField) GetUint32Value() uint32 { + if x, ok := x.GetValueByType().(*TelemetryField_Uint32Value); ok { return x.Uint32Value } return 0 } -func (m *TelemetryField) GetUint64Value() uint64 { - if x, ok := m.GetValueByType().(*TelemetryField_Uint64Value); ok { +func (x *TelemetryField) GetUint64Value() uint64 { + if x, ok := x.GetValueByType().(*TelemetryField_Uint64Value); ok { return x.Uint64Value } return 0 } -func (m *TelemetryField) GetSint32Value() int32 { - if x, ok := m.GetValueByType().(*TelemetryField_Sint32Value); ok { +func (x *TelemetryField) GetSint32Value() int32 { + if x, ok := x.GetValueByType().(*TelemetryField_Sint32Value); ok { return x.Sint32Value } return 0 } -func (m *TelemetryField) GetSint64Value() int64 { - if x, ok := m.GetValueByType().(*TelemetryField_Sint64Value); ok { +func (x *TelemetryField) GetSint64Value() int64 { + if x, ok := x.GetValueByType().(*TelemetryField_Sint64Value); ok { return x.Sint64Value } return 0 } -func (m *TelemetryField) GetDoubleValue() float64 { - if x, ok := m.GetValueByType().(*TelemetryField_DoubleValue); ok { +func (x *TelemetryField) GetDoubleValue() float64 { + if x, ok := x.GetValueByType().(*TelemetryField_DoubleValue); ok { return x.DoubleValue } return 0 } -func (m *TelemetryField) GetFloatValue() float32 { - if x, ok := m.GetValueByType().(*TelemetryField_FloatValue); ok { +func (x *TelemetryField) GetFloatValue() float32 { + if x, ok := x.GetValueByType().(*TelemetryField_FloatValue); ok { return x.FloatValue } return 0 } -func (m *TelemetryField) GetFields() []*TelemetryField { - if m != nil { - return m.Fields +func (x *TelemetryField) GetFields() []*TelemetryField { + if x != nil { + return x.Fields } return nil } -// XXX_OneofFuncs is for the internal use of the proto package. -func (*TelemetryField) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { - return _TelemetryField_OneofMarshaler, _TelemetryField_OneofUnmarshaler, _TelemetryField_OneofSizer, []interface{}{ - (*TelemetryField_BytesValue)(nil), - (*TelemetryField_StringValue)(nil), - (*TelemetryField_BoolValue)(nil), - (*TelemetryField_Uint32Value)(nil), - (*TelemetryField_Uint64Value)(nil), - (*TelemetryField_Sint32Value)(nil), - (*TelemetryField_Sint64Value)(nil), - (*TelemetryField_DoubleValue)(nil), - (*TelemetryField_FloatValue)(nil), +func (x *TelemetryField) GetDelete() bool { + if x != nil { + return x.Delete } + return false } -func _TelemetryField_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { - m := msg.(*TelemetryField) - // value_by_type - switch x := m.ValueByType.(type) { - case *TelemetryField_BytesValue: - b.EncodeVarint(4<<3 | proto.WireBytes) - b.EncodeRawBytes(x.BytesValue) - case *TelemetryField_StringValue: - b.EncodeVarint(5<<3 | proto.WireBytes) - b.EncodeStringBytes(x.StringValue) - case *TelemetryField_BoolValue: - t := uint64(0) - if x.BoolValue { - t = 1 - } - b.EncodeVarint(6<<3 | proto.WireVarint) - b.EncodeVarint(t) - case *TelemetryField_Uint32Value: - b.EncodeVarint(7<<3 | proto.WireVarint) - b.EncodeVarint(uint64(x.Uint32Value)) - case *TelemetryField_Uint64Value: - b.EncodeVarint(8<<3 | proto.WireVarint) - b.EncodeVarint(uint64(x.Uint64Value)) - case *TelemetryField_Sint32Value: - b.EncodeVarint(9<<3 | proto.WireVarint) - b.EncodeZigzag32(uint64(x.Sint32Value)) - case *TelemetryField_Sint64Value: - b.EncodeVarint(10<<3 | proto.WireVarint) - b.EncodeZigzag64(uint64(x.Sint64Value)) - case *TelemetryField_DoubleValue: - b.EncodeVarint(11<<3 | proto.WireFixed64) - b.EncodeFixed64(math.Float64bits(x.DoubleValue)) - case *TelemetryField_FloatValue: - b.EncodeVarint(12<<3 | proto.WireFixed32) - b.EncodeFixed32(uint64(math.Float32bits(x.FloatValue))) - case nil: - default: - return fmt.Errorf("TelemetryField.ValueByType has unexpected type %T", x) - } - return nil +type isTelemetryField_ValueByType interface { + isTelemetryField_ValueByType() } -func _TelemetryField_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { - m := msg.(*TelemetryField) - switch tag { - case 4: // value_by_type.bytes_value - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeRawBytes(true) - m.ValueByType = &TelemetryField_BytesValue{x} - return true, err - case 5: // value_by_type.string_value - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeStringBytes() - m.ValueByType = &TelemetryField_StringValue{x} - return true, err - case 6: // value_by_type.bool_value - if wire != proto.WireVarint { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeVarint() - m.ValueByType = &TelemetryField_BoolValue{x != 0} - return true, err - case 7: // value_by_type.uint32_value - if wire != proto.WireVarint { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeVarint() - m.ValueByType = &TelemetryField_Uint32Value{uint32(x)} - return true, err - case 8: // value_by_type.uint64_value - if wire != proto.WireVarint { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeVarint() - m.ValueByType = &TelemetryField_Uint64Value{x} - return true, err - case 9: // value_by_type.sint32_value - if wire != proto.WireVarint { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeZigzag32() - m.ValueByType = &TelemetryField_Sint32Value{int32(x)} - return true, err - case 10: // value_by_type.sint64_value - if wire != proto.WireVarint { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeZigzag64() - m.ValueByType = &TelemetryField_Sint64Value{int64(x)} - return true, err - case 11: // value_by_type.double_value - if wire != proto.WireFixed64 { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeFixed64() - m.ValueByType = &TelemetryField_DoubleValue{math.Float64frombits(x)} - return true, err - case 12: // value_by_type.float_value - if wire != proto.WireFixed32 { - return true, proto.ErrInternalBadWireType - } - x, err := b.DecodeFixed32() - m.ValueByType = &TelemetryField_FloatValue{math.Float32frombits(uint32(x))} - return true, err - default: - return false, nil - } -} - -func _TelemetryField_OneofSizer(msg proto.Message) (n int) { - m := msg.(*TelemetryField) - // value_by_type - switch x := m.ValueByType.(type) { - case *TelemetryField_BytesValue: - n += proto.SizeVarint(4<<3 | proto.WireBytes) - n += proto.SizeVarint(uint64(len(x.BytesValue))) - n += len(x.BytesValue) - case *TelemetryField_StringValue: - n += proto.SizeVarint(5<<3 | proto.WireBytes) - n += proto.SizeVarint(uint64(len(x.StringValue))) - n += len(x.StringValue) - case *TelemetryField_BoolValue: - n += proto.SizeVarint(6<<3 | proto.WireVarint) - n += 1 - case *TelemetryField_Uint32Value: - n += proto.SizeVarint(7<<3 | proto.WireVarint) - n += proto.SizeVarint(uint64(x.Uint32Value)) - case *TelemetryField_Uint64Value: - n += proto.SizeVarint(8<<3 | proto.WireVarint) - n += proto.SizeVarint(uint64(x.Uint64Value)) - case *TelemetryField_Sint32Value: - n += proto.SizeVarint(9<<3 | proto.WireVarint) - n += proto.SizeVarint(uint64((uint32(x.Sint32Value) << 1) ^ uint32((int32(x.Sint32Value) >> 31)))) - case *TelemetryField_Sint64Value: - n += proto.SizeVarint(10<<3 | proto.WireVarint) - n += proto.SizeVarint(uint64(uint64(x.Sint64Value<<1) ^ uint64((int64(x.Sint64Value) >> 63)))) - case *TelemetryField_DoubleValue: - n += proto.SizeVarint(11<<3 | proto.WireFixed64) - n += 8 - case *TelemetryField_FloatValue: - n += proto.SizeVarint(12<<3 | proto.WireFixed32) - n += 4 - case nil: - default: - panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) - } - return n +type TelemetryField_BytesValue struct { + BytesValue []byte `protobuf:"bytes,4,opt,name=bytes_value,json=bytesValue,proto3,oneof"` +} + +type TelemetryField_StringValue struct { + StringValue string `protobuf:"bytes,5,opt,name=string_value,json=stringValue,proto3,oneof"` +} + +type TelemetryField_BoolValue struct { + BoolValue bool `protobuf:"varint,6,opt,name=bool_value,json=boolValue,proto3,oneof"` +} + +type TelemetryField_Uint32Value struct { + Uint32Value uint32 `protobuf:"varint,7,opt,name=uint32_value,json=uint32Value,proto3,oneof"` +} + +type TelemetryField_Uint64Value struct { + Uint64Value uint64 `protobuf:"varint,8,opt,name=uint64_value,json=uint64Value,proto3,oneof"` } +type TelemetryField_Sint32Value struct { + Sint32Value int32 `protobuf:"zigzag32,9,opt,name=sint32_value,json=sint32Value,proto3,oneof"` +} + +type TelemetryField_Sint64Value struct { + Sint64Value int64 `protobuf:"zigzag64,10,opt,name=sint64_value,json=sint64Value,proto3,oneof"` +} + +type TelemetryField_DoubleValue struct { + DoubleValue float64 `protobuf:"fixed64,11,opt,name=double_value,json=doubleValue,proto3,oneof"` +} + +type TelemetryField_FloatValue struct { + FloatValue float32 `protobuf:"fixed32,12,opt,name=float_value,json=floatValue,proto3,oneof"` +} + +func (*TelemetryField_BytesValue) isTelemetryField_ValueByType() {} + +func (*TelemetryField_StringValue) isTelemetryField_ValueByType() {} + +func (*TelemetryField_BoolValue) isTelemetryField_ValueByType() {} + +func (*TelemetryField_Uint32Value) isTelemetryField_ValueByType() {} + +func (*TelemetryField_Uint64Value) isTelemetryField_ValueByType() {} + +func (*TelemetryField_Sint32Value) isTelemetryField_ValueByType() {} + +func (*TelemetryField_Sint64Value) isTelemetryField_ValueByType() {} + +func (*TelemetryField_DoubleValue) isTelemetryField_ValueByType() {} + +func (*TelemetryField_FloatValue) isTelemetryField_ValueByType() {} + // TelemetryGPBTable contains a repeated number of TelemetryRowGPB, // each of which represents content from a subtree instance in the // the YANG model. For example; a TelemetryGPBTable might contain // the interface statistics of a collection of interfaces. type TelemetryGPBTable struct { - Row []*TelemetryRowGPB `protobuf:"bytes,1,rep,name=row" json:"row,omitempty"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Row []*TelemetryRowGPB `protobuf:"bytes,1,rep,name=row,proto3" json:"row,omitempty"` } -func (m *TelemetryGPBTable) Reset() { *m = TelemetryGPBTable{} } -func (m *TelemetryGPBTable) String() string { return proto.CompactTextString(m) } -func (*TelemetryGPBTable) ProtoMessage() {} -func (*TelemetryGPBTable) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } +func (x *TelemetryGPBTable) Reset() { + *x = TelemetryGPBTable{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_telemetry_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} -func (m *TelemetryGPBTable) GetRow() []*TelemetryRowGPB { - if m != nil { - return m.Row +func (x *TelemetryGPBTable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TelemetryGPBTable) ProtoMessage() {} + +func (x *TelemetryGPBTable) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_telemetry_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TelemetryGPBTable.ProtoReflect.Descriptor instead. +func (*TelemetryGPBTable) Descriptor() ([]byte, []int) { + return file_proto_telemetry_telemetry_proto_rawDescGZIP(), []int{2} +} + +func (x *TelemetryGPBTable) GetRow() []*TelemetryRowGPB { + if x != nil { + return x.Row } return nil } @@ -651,12 +543,16 @@ func (m *TelemetryGPBTable) GetRow() []*TelemetryRowGPB { // interface statistics of one interface. Per encoding-path .proto // messages are required to decode keys/content pairs below. type TelemetryRowGPB struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + // // timestamp at which the data for this instance of the TelemetryRowGPB // message was generated by an MDT-capable device - encoded as // milliseconds since the epoch. When included, this is typically // different from the msg_timestamp in the containing Telemetry message. - Timestamp uint64 `protobuf:"varint,1,opt,name=timestamp" json:"timestamp,omitempty"` + Timestamp uint64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // // keys: if the encoding-path includes one or more list elements, and/or // ends in a list element, the keys field is a GPB encoded message that @@ -683,76 +579,256 @@ type TelemetryRowGPB struct { Content []byte `protobuf:"bytes,11,opt,name=content,proto3" json:"content,omitempty"` } -func (m *TelemetryRowGPB) Reset() { *m = TelemetryRowGPB{} } -func (m *TelemetryRowGPB) String() string { return proto.CompactTextString(m) } -func (*TelemetryRowGPB) ProtoMessage() {} -func (*TelemetryRowGPB) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } +func (x *TelemetryRowGPB) Reset() { + *x = TelemetryRowGPB{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_telemetry_telemetry_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} -func (m *TelemetryRowGPB) GetTimestamp() uint64 { - if m != nil { - return m.Timestamp +func (x *TelemetryRowGPB) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TelemetryRowGPB) ProtoMessage() {} + +func (x *TelemetryRowGPB) ProtoReflect() protoreflect.Message { + mi := &file_proto_telemetry_telemetry_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TelemetryRowGPB.ProtoReflect.Descriptor instead. +func (*TelemetryRowGPB) Descriptor() ([]byte, []int) { + return file_proto_telemetry_telemetry_proto_rawDescGZIP(), []int{3} +} + +func (x *TelemetryRowGPB) GetTimestamp() uint64 { + if x != nil { + return x.Timestamp } return 0 } -func (m *TelemetryRowGPB) GetKeys() []byte { - if m != nil { - return m.Keys +func (x *TelemetryRowGPB) GetKeys() []byte { + if x != nil { + return x.Keys } return nil } -func (m *TelemetryRowGPB) GetContent() []byte { - if m != nil { - return m.Content +func (x *TelemetryRowGPB) GetContent() []byte { + if x != nil { + return x.Content } return nil } -func init() { - proto.RegisterType((*Telemetry)(nil), "telemetry.Telemetry") - proto.RegisterType((*TelemetryField)(nil), "telemetry.TelemetryField") - proto.RegisterType((*TelemetryGPBTable)(nil), "telemetry.TelemetryGPBTable") - proto.RegisterType((*TelemetryRowGPB)(nil), "telemetry.TelemetryRowGPB") -} - -func init() { proto.RegisterFile("telemetry.proto", fileDescriptor0) } - -var fileDescriptor0 = []byte{ - // 546 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x84, 0x94, 0x41, 0x6f, 0x9b, 0x40, - 0x10, 0x85, 0xb3, 0xb1, 0x6b, 0x9b, 0x01, 0xc7, 0xf2, 0x46, 0x95, 0xb6, 0x55, 0xa4, 0x12, 0xe7, - 0xc2, 0xa1, 0xb2, 0x5a, 0x27, 0x4a, 0x7b, 0xad, 0xa5, 0xd6, 0xc9, 0xcd, 0xda, 0x58, 0xbd, 0x55, - 0x08, 0xcc, 0xc6, 0x41, 0x01, 0x16, 0xb1, 0xeb, 0x44, 0xfe, 0x77, 0xbd, 0xf7, 0x4f, 0x55, 0xb3, - 0x80, 0xc1, 0x6d, 0xa4, 0xdc, 0xe0, 0xcd, 0x37, 0x4f, 0xc3, 0xcc, 0x13, 0x30, 0xd2, 0x22, 0x11, - 0xa9, 0xd0, 0xc5, 0x6e, 0x9a, 0x17, 0x52, 0x4b, 0x6a, 0xed, 0x85, 0xc9, 0xef, 0x0e, 0x58, 0xab, - 0xfa, 0x8d, 0xba, 0x60, 0x67, 0x32, 0x12, 0x7e, 0x1c, 0xf9, 0x4a, 0x17, 0x8c, 0xb8, 0xc4, 0xb3, - 0x6e, 0x8e, 0xb8, 0x85, 0xe2, 0x6d, 0x74, 0xa7, 0x0b, 0xfa, 0x09, 0x4e, 0xd5, 0x36, 0x54, 0xeb, - 0x22, 0xce, 0x75, 0x2c, 0xb3, 0x9a, 0xec, 0x18, 0x92, 0xf0, 0x71, 0xbb, 0x58, 0x76, 0x5c, 0xc0, - 0x50, 0x64, 0x6b, 0x19, 0xc5, 0xd9, 0xc6, 0xcf, 0x03, 0xfd, 0xc0, 0x7a, 0xc8, 0x72, 0xa7, 0x16, - 0x97, 0x81, 0x7e, 0x40, 0x68, 0x2d, 0x93, 0x44, 0xac, 0x2b, 0x53, 0x36, 0x70, 0x89, 0xd7, 0xe5, - 0x4e, 0x23, 0xde, 0x46, 0x74, 0x06, 0x6f, 0x5b, 0x90, 0xd2, 0x41, 0xa1, 0x7d, 0x1d, 0xa7, 0x82, - 0x59, 0x06, 0x3e, 0x6d, 0x8a, 0x77, 0x58, 0x5b, 0xc5, 0xa9, 0x40, 0xe3, 0x54, 0x6d, 0x0c, 0xa6, - 0x74, 0x90, 0xe6, 0x0c, 0x4a, 0xe3, 0x54, 0x6d, 0x56, 0xb5, 0x46, 0xbf, 0x02, 0x44, 0x81, 0x0e, - 0xfc, 0x4d, 0x1e, 0x3e, 0x3e, 0x31, 0xdb, 0xed, 0x78, 0xf6, 0xec, 0xdd, 0xb4, 0xd9, 0xda, 0x7e, - 0x41, 0x3f, 0x62, 0x91, 0x44, 0xdc, 0x42, 0x78, 0x81, 0x2c, 0xfd, 0x02, 0x83, 0xba, 0x93, 0x39, - 0x2e, 0xf1, 0xec, 0xd9, 0xd9, 0x4b, 0x7d, 0x8b, 0xe5, 0x7c, 0x15, 0x84, 0x89, 0xe0, 0xfd, 0xaa, - 0x95, 0x4e, 0xa1, 0x35, 0xae, 0x2f, 0xb2, 0xa8, 0xfc, 0x92, 0xa1, 0x99, 0x6e, 0xdc, 0x94, 0xbe, - 0x67, 0x11, 0xce, 0x39, 0xb7, 0xa0, 0x5f, 0x5d, 0x66, 0x7e, 0x02, 0x4e, 0x7b, 0xcb, 0x93, 0x3f, - 0x1d, 0x38, 0x39, 0x9c, 0x90, 0x9e, 0x81, 0xd5, 0x7c, 0x31, 0x31, 0x9e, 0x8d, 0x40, 0x29, 0x74, - 0xb3, 0x20, 0x15, 0xec, 0xd8, 0x1c, 0xc2, 0x3c, 0xd3, 0x73, 0xb0, 0xc3, 0x9d, 0x16, 0xca, 0x7f, - 0x0a, 0x92, 0xad, 0x60, 0x5d, 0x97, 0x78, 0xce, 0xcd, 0x11, 0x07, 0x23, 0xfe, 0x44, 0x8d, 0x5e, - 0x80, 0xa3, 0x74, 0x81, 0x67, 0x2c, 0x99, 0x37, 0x55, 0x3a, 0xec, 0x52, 0x2d, 0xa1, 0x0f, 0x00, - 0xa1, 0x94, 0x49, 0x85, 0xe0, 0xa9, 0x07, 0x18, 0x20, 0xd4, 0xf6, 0x2e, 0xdb, 0x38, 0xd3, 0x97, - 0xb3, 0x0a, 0xe9, 0xbb, 0xc4, 0x1b, 0xa2, 0x4b, 0xa9, 0x1e, 0x40, 0xd7, 0x57, 0x15, 0x64, 0xd2, - 0x50, 0x43, 0xd7, 0x57, 0xcd, 0x3c, 0x6d, 0x27, 0x4c, 0xc1, 0xd8, 0xcc, 0x73, 0xe8, 0xa4, 0xda, - 0x4e, 0x78, 0x7e, 0x5a, 0x43, 0x2d, 0xa7, 0x48, 0x6e, 0xc3, 0x44, 0x54, 0x90, 0xed, 0x12, 0x8f, - 0x20, 0x54, 0xaa, 0x25, 0x74, 0x0e, 0xf6, 0x7d, 0x22, 0x03, 0x5d, 0x31, 0x78, 0xed, 0x63, 0xdc, - 0x90, 0x11, 0x4b, 0xe4, 0x33, 0xf4, 0xee, 0x71, 0xff, 0x8a, 0x8d, 0x5e, 0xcb, 0x50, 0x05, 0xce, - 0x47, 0x30, 0x34, 0x7e, 0x7e, 0xb8, 0xf3, 0xf5, 0x2e, 0x17, 0x93, 0x6f, 0x30, 0xfe, 0x2f, 0x36, - 0xf4, 0x23, 0x74, 0x0a, 0xf9, 0xcc, 0x88, 0x71, 0x7d, 0xff, 0x92, 0x2b, 0x97, 0xcf, 0x8b, 0xe5, - 0x9c, 0x23, 0x36, 0xf9, 0x05, 0xa3, 0x7f, 0xf4, 0xd7, 0x03, 0xf1, 0x28, 0x76, 0xca, 0x2c, 0xc7, - 0xe1, 0xe6, 0x99, 0x32, 0xe8, 0xaf, 0x65, 0xa6, 0x45, 0xa6, 0xcd, 0x3a, 0x1c, 0x5e, 0xbf, 0x86, - 0x3d, 0xf3, 0x13, 0xb9, 0xfc, 0x1b, 0x00, 0x00, 0xff, 0xff, 0xcd, 0x43, 0x6f, 0x37, 0x57, 0x04, - 0x00, 0x00, +var File_proto_telemetry_telemetry_proto protoreflect.FileDescriptor + +var file_proto_telemetry_telemetry_proto_rawDesc = []byte{ + 0x0a, 0x1f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, + 0x79, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x09, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x22, 0xe5, 0x03, 0x0a, + 0x09, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x6f, + 0x64, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x53, 0x74, 0x72, 0x12, 0x30, 0x0a, 0x13, + 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x5f, + 0x73, 0x74, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x73, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x53, 0x74, 0x72, 0x12, 0x23, + 0x0a, 0x0d, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x50, + 0x61, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x32, 0x0a, + 0x15, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x63, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6d, 0x73, 0x67, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x38, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x67, + 0x70, 0x62, 0x6b, 0x76, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x65, 0x6c, + 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x47, 0x70, 0x62, 0x6b, 0x76, + 0x12, 0x37, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x67, 0x70, 0x62, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x54, + 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x47, 0x50, 0x42, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x52, 0x07, 0x64, 0x61, 0x74, 0x61, 0x47, 0x70, 0x62, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6f, 0x6c, + 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x6e, 0x6f, 0x64, + 0x65, 0x5f, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe3, 0x03, 0x0a, 0x0e, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, + 0x72, 0x79, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x62, 0x79, 0x74, + 0x65, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, + 0x52, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0b, 0x75, 0x69, 0x6e, 0x74, + 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, + 0x0b, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, + 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x11, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x12, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, + 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, + 0x48, 0x00, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x31, + 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x54, 0x65, 0x6c, 0x65, 0x6d, + 0x65, 0x74, 0x72, 0x79, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x5f, 0x62, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x41, 0x0a, 0x11, 0x54, 0x65, + 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x47, 0x50, 0x42, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, + 0x2c, 0x0a, 0x03, 0x72, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x74, + 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, + 0x72, 0x79, 0x52, 0x6f, 0x77, 0x47, 0x50, 0x42, 0x52, 0x03, 0x72, 0x6f, 0x77, 0x22, 0x5d, 0x0a, + 0x0f, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x52, 0x6f, 0x77, 0x47, 0x50, 0x42, + 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, + 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x6b, 0x65, + 0x79, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_proto_telemetry_telemetry_proto_rawDescOnce sync.Once + file_proto_telemetry_telemetry_proto_rawDescData = file_proto_telemetry_telemetry_proto_rawDesc +) + +func file_proto_telemetry_telemetry_proto_rawDescGZIP() []byte { + file_proto_telemetry_telemetry_proto_rawDescOnce.Do(func() { + file_proto_telemetry_telemetry_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_telemetry_telemetry_proto_rawDescData) + }) + return file_proto_telemetry_telemetry_proto_rawDescData +} + +var file_proto_telemetry_telemetry_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_proto_telemetry_telemetry_proto_goTypes = []interface{}{ + (*Telemetry)(nil), // 0: telemetry.Telemetry + (*TelemetryField)(nil), // 1: telemetry.TelemetryField + (*TelemetryGPBTable)(nil), // 2: telemetry.TelemetryGPBTable + (*TelemetryRowGPB)(nil), // 3: telemetry.TelemetryRowGPB +} +var file_proto_telemetry_telemetry_proto_depIdxs = []int32{ + 1, // 0: telemetry.Telemetry.data_gpbkv:type_name -> telemetry.TelemetryField + 2, // 1: telemetry.Telemetry.data_gpb:type_name -> telemetry.TelemetryGPBTable + 1, // 2: telemetry.TelemetryField.fields:type_name -> telemetry.TelemetryField + 3, // 3: telemetry.TelemetryGPBTable.row:type_name -> telemetry.TelemetryRowGPB + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { file_proto_telemetry_telemetry_proto_init() } +func file_proto_telemetry_telemetry_proto_init() { + if File_proto_telemetry_telemetry_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_proto_telemetry_telemetry_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Telemetry); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_telemetry_telemetry_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TelemetryField); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_telemetry_telemetry_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TelemetryGPBTable); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_telemetry_telemetry_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TelemetryRowGPB); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_proto_telemetry_telemetry_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*Telemetry_NodeIdStr)(nil), + (*Telemetry_SubscriptionIdStr)(nil), + } + file_proto_telemetry_telemetry_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*TelemetryField_BytesValue)(nil), + (*TelemetryField_StringValue)(nil), + (*TelemetryField_BoolValue)(nil), + (*TelemetryField_Uint32Value)(nil), + (*TelemetryField_Uint64Value)(nil), + (*TelemetryField_Sint32Value)(nil), + (*TelemetryField_Sint64Value)(nil), + (*TelemetryField_DoubleValue)(nil), + (*TelemetryField_FloatValue)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_proto_telemetry_telemetry_proto_rawDesc, + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_proto_telemetry_telemetry_proto_goTypes, + DependencyIndexes: file_proto_telemetry_telemetry_proto_depIdxs, + MessageInfos: file_proto_telemetry_telemetry_proto_msgTypes, + }.Build() + File_proto_telemetry_telemetry_proto = out.File + file_proto_telemetry_telemetry_proto_rawDesc = nil + file_proto_telemetry_telemetry_proto_goTypes = nil + file_proto_telemetry_telemetry_proto_depIdxs = nil } diff --git a/proto/telemetry/telemetry.proto b/proto/telemetry/telemetry.proto index d3ec3ff..4a40237 100644 --- a/proto/telemetry/telemetry.proto +++ b/proto/telemetry/telemetry.proto @@ -1,4 +1,5 @@ /* ---------------------------------------------------------------------------- + * telemetry_bis.proto - Telemetry protobuf definitions * * August 2016 * @@ -18,165 +19,167 @@ * ---------------------------------------------------------------------------- */ -syntax = "proto3"; -package telemetry; - -// Telemetry message is the outermost payload message used to stream -// telemetry in a Model Driven Telemetry (MDT) system. MDT provides a -// mechanism for an external entity to subscribe to a data set defined in -// a Yang model and receive periodic or event-based updates of the data -// set from an MDT-capable device. -message Telemetry { - // - // node_id_str is a string encoded unique node ID of the MDT-capable - // device producing the message. (node_id_uuid alternative is not currently - // produced in IOS-XR) - oneof node_id { - string node_id_str = 1; - // bytes node_id_uuid = 2; - } - // - // subscription_id_str is the name of the subscription against which - // this content is being produced. (subscription_id alternative is not - // currently produced in IOS-XR) - oneof subscription { - string subscription_id_str = 3; - // uint32 subscription_id = 4; - } - // - // sensor_path is not currently produced in IOS-XR - // string sensor_path = 5; - // - // encoding_path is the Yang path leading to the content in this message. - // The Yang tree encoded in the content section of this message is rooted - // at the point described by the encoding_path. - string encoding_path = 6; - // - // model_version is not currently produced in IOS-XR - // string model_version = 7; - // - // collection_id identifies messages belonging to a collection round. - // Multiple message may be generated from a collection round. - uint64 collection_id = 8; - // - // collection_start_time is the time when the collection identified by - // the collection_id begins - encoded as milliseconds since the epoch. - // If a single collection is spread over multiple Telemetry Messages, - // collection_start_time may be encoded in the first Telemetry Message - // for the collection only. - uint64 collection_start_time = 9; - // - // msg_timestamp is the time when the data encoded in the Telemetry - // message is generated - encoded as milliseconds since the epoch. - uint64 msg_timestamp = 10; - // - // data_gpbkv contains the payload data if data is being encoded in the - // self-describing GPB-KV format. - repeated TelemetryField data_gpbkv = 11; - // - // data_gpb contains the payload data if data is being encoded as - // serialised GPB messages. - TelemetryGPBTable data_gpb = 12; - // - // collection_end_time is the timestamp when the last Telemetry message - // for a collection has been encoded - encoded as milliseconds since the - // epoch. If a single collection is spread over multiple Telemetry - // messages, collection_end_time is encoded in the last Telemetry Message - // for the collection only. - uint64 collection_end_time = 13; - // - // heartbeat_sequence_number is not currently produced in IOS-XR - // uint64 heartbeat_sequence_number = 14; // not produced -} - -// -// TelemetryField messages are used to export content in the self -// describing GPB KV form. The TelemetryField message is sufficient to -// decode telemetry messages for all models. KV-GPB encoding is very -// similar in concept, to JSON encoding -message TelemetryField { - // - // timestamp represents the starting time of the generation of data - // starting from this key, value pair in this message - encoded as - // milliseconds since the epoch. It is encoded when different from the - // msg_timestamp in the containing Telemetry Message. This field can be - // omitted if the value is the same as a TelemetryField message up the - // hierarchy within the same Telemetry Message as well. - uint64 timestamp = 1; - // - // name: string encoding of the name in the key, value pair. It is - // the corresponding YANG element name. - string name = 2; - // - // value_by_type, if present, for the corresponding YANG element - // represented by the name field in the same TelemetryField message. The - // value is encoded to the matching type as defined in the YANG model. - // YANG models often define new types (derived types) using one or more - // base types. The types included in the oneof grouping is sufficient to - // represent such derived types. Derived types represented as a Yang - // container are encoded using the nesting primitive defined in this - // encoding proposal. - oneof value_by_type { - bytes bytes_value = 4; - string string_value = 5; - bool bool_value = 6; - uint32 uint32_value = 7; - uint64 uint64_value = 8; - sint32 sint32_value = 9; - sint64 sint64_value = 10; - double double_value = 11; - float float_value = 12; - } - // - // The Yang model may include nesting (e.g hierarchy of containers). The - // next level of nesting, if present, is encoded, starting from fields. - repeated TelemetryField fields = 15; -} - -// TelemetryGPBTable contains a repeated number of TelemetryRowGPB, -// each of which represents content from a subtree instance in the -// the YANG model. For example; a TelemetryGPBTable might contain -// the interface statistics of a collection of interfaces. -message TelemetryGPBTable { - repeated TelemetryRowGPB row = 1; -} - -// -// TelemetryRowGPB, in conjunction with the Telemetry encoding_path and -// model_version, unambiguously represents the root of a subtree in -// the YANG model, and content from that subtree encoded in serialised -// GPB messages. For example; a TelemetryRowGPB might contain the -// interface statistics of one interface. Per encoding-path .proto -// messages are required to decode keys/content pairs below. -message TelemetryRowGPB { - // - // timestamp at which the data for this instance of the TelemetryRowGPB - // message was generated by an MDT-capable device - encoded as - // milliseconds since the epoch. When included, this is typically - // different from the msg_timestamp in the containing Telemetry message. - uint64 timestamp = 1; - // - // keys: if the encoding-path includes one or more list elements, and/or - // ends in a list element, the keys field is a GPB encoded message that - // contains the sequence of key values for each such list element in the - // encoding-path traversed starting from the root. The set of keys - // unambiguously identifies the instance of data encoded in the - // TelemetryRowGPB message. Corresponding protobuf message definition will - // be required to decode the byte stream. The encoding_path field in - // Telemetry message, together with model_version field should be - // sufficient to identify the corresponding protobuf message. - bytes keys = 10; - // - // content: the content field is a GPB encoded message that contains the - // data for the corresponding encoding-path. A separate decoding pass - // would be performed by consumer with the content field as a GPB message - // and the matching .proto used to decode the message. Corresponding - // protobuf message definition will be required to decode the byte - // stream. The encoding_path field in Telemetry message, together with - // model_version field should be sufficient to identify the corresponding - // protobuf message. The decoded combination of keys (when present) and - // content, unambiguously represents an instance of the data set, as - // defined in the Yang model, identified by the encoding-path in the - // containing Telemetry message. -bytes content = 11; -} \ No newline at end of file + syntax = "proto3"; + package telemetry; + + // Telemetry message is the outermost payload message used to stream + // telemetry in a Model Driven Telemetry (MDT) system. MDT provides a + // mechanism for an external entity to subscribe to a data set defined in + // a Yang model and receive periodic or event-based updates of the data + // set from an MDT-capable device. + message Telemetry { + // + // node_id_str is a string encoded unique node ID of the MDT-capable + // device producing the message. (node_id_uuid alternative is not currently + // produced in IOS-XR) + oneof node_id { + string node_id_str = 1; + // bytes node_id_uuid = 2; + } + // + // subscription_id_str is the name of the subscription against which + // this content is being produced. (subscription_id alternative is not + // currently produced in IOS-XR) + oneof subscription { + string subscription_id_str = 3; + // uint32 subscription_id = 4; + } + // + // sensor_path is not currently produced in IOS-XR + // string sensor_path = 5; + // + // encoding_path is the Yang path leading to the content in this message. + // The Yang tree encoded in the content section of this message is rooted + // at the point described by the encoding_path. + string encoding_path = 6; + // + // model_revision + string model_version = 7; + // + // collection_id identifies messages belonging to a collection round. + // Multiple message may be generated from a collection round. + uint64 collection_id = 8; + // + // collection_start_time is the time when the collection identified by + // the collection_id begins - encoded as milliseconds since the epoch. + // If a single collection is spread over multiple Telemetry Messages, + // collection_start_time may be encoded in the first Telemetry Message + // for the collection only. + uint64 collection_start_time = 9; + // + // msg_timestamp is the time when the data encoded in the Telemetry + // message is generated - encoded as milliseconds since the epoch. + uint64 msg_timestamp = 10; + // + // data_gpbkv contains the payload data if data is being encoded in the + // self-describing GPB-KV format. + repeated TelemetryField data_gpbkv = 11; + // + // data_gpb contains the payload data if data is being encoded as + // serialised GPB messages. + TelemetryGPBTable data_gpb = 12; + // + // collection_end_time is the timestamp when the last Telemetry message + // for a collection has been encoded - encoded as milliseconds since the + // epoch. If a single collection is spread over multiple Telemetry + // messages, collection_end_time is encoded in the last Telemetry Message + // for the collection only. + uint64 collection_end_time = 13; + // + // heartbeat_sequence_number is not currently produced in IOS-XR + // uint64 heartbeat_sequence_number = 14; // not produced + } + + // + // TelemetryField messages are used to export content in the self + // describing GPB KV form. The TelemetryField message is sufficient to + // decode telemetry messages for all models. KV-GPB encoding is very + // similar in concept, to JSON encoding + message TelemetryField { + // + // timestamp represents the starting time of the generation of data + // starting from this key, value pair in this message - encoded as + // milliseconds since the epoch. It is encoded when different from the + // msg_timestamp in the containing Telemetry Message. This field can be + // omitted if the value is the same as a TelemetryField message up the + // hierarchy within the same Telemetry Message as well. + uint64 timestamp = 1; + // + // name: string encoding of the name in the key, value pair. It is + // the corresponding YANG element name. + string name = 2; + // + // value_by_type, if present, for the corresponding YANG element + // represented by the name field in the same TelemetryField message. The + // value is encoded to the matching type as defined in the YANG model. + // YANG models often define new types (derived types) using one or more + // base types. The types included in the oneof grouping is sufficient to + // represent such derived types. Derived types represented as a Yang + // container are encoded using the nesting primitive defined in this + // encoding proposal. + oneof value_by_type { + bytes bytes_value = 4; + string string_value = 5; + bool bool_value = 6; + uint32 uint32_value = 7; + uint64 uint64_value = 8; + sint32 sint32_value = 9; + sint64 sint64_value = 10; + double double_value = 11; + float float_value = 12; + } + // + // The Yang model may include nesting (e.g hierarchy of containers). The + // next level of nesting, if present, is encoded, starting from fields. + repeated TelemetryField fields = 15; + // set only for delete event + bool delete = 16; + } + + // TelemetryGPBTable contains a repeated number of TelemetryRowGPB, + // each of which represents content from a subtree instance in the + // the YANG model. For example; a TelemetryGPBTable might contain + // the interface statistics of a collection of interfaces. + message TelemetryGPBTable { + repeated TelemetryRowGPB row = 1; + } + + // + // TelemetryRowGPB, in conjunction with the Telemetry encoding_path and + // model_version, unambiguously represents the root of a subtree in + // the YANG model, and content from that subtree encoded in serialised + // GPB messages. For example; a TelemetryRowGPB might contain the + // interface statistics of one interface. Per encoding-path .proto + // messages are required to decode keys/content pairs below. + message TelemetryRowGPB { + // + // timestamp at which the data for this instance of the TelemetryRowGPB + // message was generated by an MDT-capable device - encoded as + // milliseconds since the epoch. When included, this is typically + // different from the msg_timestamp in the containing Telemetry message. + uint64 timestamp = 1; + // + // keys: if the encoding-path includes one or more list elements, and/or + // ends in a list element, the keys field is a GPB encoded message that + // contains the sequence of key values for each such list element in the + // encoding-path traversed starting from the root. The set of keys + // unambiguously identifies the instance of data encoded in the + // TelemetryRowGPB message. Corresponding protobuf message definition will + // be required to decode the byte stream. The encoding_path field in + // Telemetry message, together with model_version field should be + // sufficient to identify the corresponding protobuf message. + bytes keys = 10; + // + // content: the content field is a GPB encoded message that contains the + // data for the corresponding encoding-path. A separate decoding pass + // would be performed by consumer with the content field as a GPB message + // and the matching .proto used to decode the message. Corresponding + // protobuf message definition will be required to decode the byte + // stream. The encoding_path field in Telemetry message, together with + // model_version field should be sufficient to identify the corresponding + // protobuf message. The decoded combination of keys (when present) and + // content, unambiguously represents an instance of the data set, as + // defined in the Yang model, identified by the encoding-path in the + // containing Telemetry message. + bytes content = 11; + } \ No newline at end of file diff --git a/sla.go b/sla.go index 6d9a4e3..33751ef 100644 --- a/sla.go +++ b/sla.go @@ -4,10 +4,10 @@ import ( "fmt" "io" "net" + "context" + "errors" pb "github.com/nleiva/xrgrpc/proto/sla" - "github.com/pkg/errors" - "golang.org/x/net/context" "google.golang.org/grpc" ) @@ -50,7 +50,7 @@ func VRFOperation(conn *grpc.ClientConn, o int, d uint32) error { // 'r' is the result that comes back from the target. r, err := c.SLRoutev6VrfRegOp(context.Background(), &a) if err != nil { - return errors.Wrap(err, "gRPC SLRoutev6VrfRegOp failed") + return fmt.Errorf("gRPC SLRoutev6VrfRegOp failed: %w", err) } // SL_SUCCESS: Entire bulk operation was successful. @@ -74,7 +74,7 @@ func SetRoute(conn *grpc.ClientConn, o int, ad string, d uint32, nh string) erro //intf := "HundredGigE0/0/0/1" _, nw, err := net.ParseCIDR(ad) if err != nil { - return errors.Errorf("Could not parse address: %s", ad) + return fmt.Errorf("Could not parse address: %w", err) } mk, _ := nw.Mask.Size() @@ -122,7 +122,7 @@ func SetRoute(conn *grpc.ClientConn, o int, ad string, d uint32, nh string) erro // 'r' is the result that comes back from the target. r, err := c.SLRoutev6Op(context.Background(), &a) if err != nil { - return errors.Wrap(err, "gRPC SLRoutev6Op failed") + return fmt.Errorf("gRPC SLRoutev6Op failed: %w", err) } // SL_SUCCESS: Entire bulk operation was successful. @@ -157,7 +157,7 @@ func ClientInit(conn *grpc.ClientConn) error { // 'r' is the result that comes back from the target. _, err := c.SLGlobalsGet(context.Background(), &a) if err != nil { - return errors.Wrap(err, "gRPC SLGlobalsGet failed") + return fmt.Errorf("gRPC SLGlobalsGet failed: %w", err) } return nil } From 3d844d123dff8d61d80f9a0869f239f18f3a4916 Mon Sep 17 00:00:00 2001 From: nleiva Date: Wed, 11 May 2022 17:20:43 -0400 Subject: [PATCH 2/3] Add test case --- client_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/client_test.go b/client_test.go index 78d6fff..73449a3 100644 --- a/client_test.go +++ b/client_test.go @@ -434,6 +434,7 @@ func TestConnect(t *testing.T) { {name: "wrong target", target: "192.168.0.1:57344", err: "TBD"}, {name: "wrong certificate", certf: "example/input/certificate/ems5502-1.pem", err: "TBD"}, {name: "inexistent certificate", certf: "dummy", err: "TBD"}, + {name: "No certificate", certf: ""}, } s := Server(t, "none") From 5814af49eef175942718611f2f07363ed4cc7cc5 Mon Sep 17 00:00:00 2001 From: nleiva Date: Wed, 11 May 2022 17:32:48 -0400 Subject: [PATCH 3/3] Remove Service Layer API --- README.md | 49 - example/setroute/.gitignore | 1 - example/setroute/main.go | 69 -- proto/sla/sl_common_types.pb.go | 1737 ---------------------------- proto/sla/sl_common_types.proto | 535 --------- proto/sla/sl_global.pb.go | 755 ------------ proto/sla/sl_global.proto | 189 --- proto/sla/sl_global_grpc.pb.go | 209 ---- proto/sla/sl_route_common.pb.go | 1402 ---------------------- proto/sla/sl_route_common.proto | 287 ----- proto/sla/sl_route_ipv6.pb.go | 806 ------------- proto/sla/sl_route_ipv6.proto | 223 ---- proto/sla/sl_route_ipv6_grpc.pb.go | 538 --------- proto/sla/sl_version.pb.go | 150 --- proto/sla/sl_version.proto | 30 - sla.go | 242 ---- 16 files changed, 7222 deletions(-) delete mode 100644 example/setroute/.gitignore delete mode 100644 example/setroute/main.go delete mode 100644 proto/sla/sl_common_types.pb.go delete mode 100755 proto/sla/sl_common_types.proto delete mode 100644 proto/sla/sl_global.pb.go delete mode 100755 proto/sla/sl_global.proto delete mode 100644 proto/sla/sl_global_grpc.pb.go delete mode 100644 proto/sla/sl_route_common.pb.go delete mode 100755 proto/sla/sl_route_common.proto delete mode 100644 proto/sla/sl_route_ipv6.pb.go delete mode 100755 proto/sla/sl_route_ipv6.proto delete mode 100644 proto/sla/sl_route_ipv6_grpc.pb.go delete mode 100644 proto/sla/sl_version.pb.go delete mode 100755 proto/sla/sl_version.proto delete mode 100644 sla.go diff --git a/README.md b/README.md index db77383..f004561 100644 --- a/README.md +++ b/README.md @@ -45,9 +45,6 @@ The end goal is to enable use-cases where multiple interactions with devices are - [JSON (GPBKV): OpenConfig](#json-gpbkv-openconfig) - [GPB (Protobuf)](#gpb-protobuf) + [Config and Validate](#config-and-validate) - + [Service Layer API](#service-layer-api) - - [Add an IPv6 route](#add-an-ipv6-route) - - [SLA IOS XR config](#sla-ios-xr-config) + [Bypass the config file](#bypass-the-config-file) * [XR gRPC Config](#xr-grpc-config) + [Port range](#port-range) @@ -730,43 +727,6 @@ telemetry model-driven ! ``` -### Service Layer API - -#### Add an IPv6 route - -Add a new route to the IPv6 routing table. - -- example/setroute - -```console -$ ./setroute -pfx "2001:db8:1413::/48" -nh "2001:db8:cafe::2" -2017/07/25 15:02:01 This process took 329.560647ms -``` - -Which results in: - -```console -RP/0/RP0/CPU0:mrstn-5502-1.cisco.com#show route ipv6 unicast 2001:db8:1413::/48 -Tue Jul 25 15:02:20.369 EDT - -Routing entry for 2001:db8:1413::/48 - Known via "application Service-layer", distance 2, metric 0 - Installed Jul 25 15:01:54.011 for 00:00:27 - Routing Descriptor Blocks - 2001:db8:cafe::2, from :: - Route metric is 0 - No advertising protos. -``` - -#### SLA IOS XR config - -``` -!! IOS XR Configuration version = 6.2.2 -grpc - service-layer -! -``` - ### Actions >*NOTE*: Support for actions has been deprecated on XR, most likely in favor of gNOI. @@ -1044,15 +1004,6 @@ $ protoc --go_out=. \ proto/telemetry/lldp/lldp_neighbor.proto ``` -- `proto/sla` - -```console -$ cd proto/sla -$ protoc --go_out=. --go_opt=paths=source_relative \ - --go-grpc_out=. --go-grpc_opt=paths=source_relative \ - *.proto -``` - ## Running the Examples After cloning the repo, go the a folder example and execute `go run main.go`. For example: diff --git a/example/setroute/.gitignore b/example/setroute/.gitignore deleted file mode 100644 index 619cc89..0000000 --- a/example/setroute/.gitignore +++ /dev/null @@ -1 +0,0 @@ -setroute \ No newline at end of file diff --git a/example/setroute/main.go b/example/setroute/main.go deleted file mode 100644 index 21d5f5c..0000000 --- a/example/setroute/main.go +++ /dev/null @@ -1,69 +0,0 @@ -package main - -import ( - "flag" - "log" - "time" - - xr "github.com/nleiva/xrgrpc" -) - -func timeTrack(start time.Time) { - elapsed := time.Since(start) - log.Printf("This process took %s\n", elapsed) -} - -func main() { - // To time this process - defer timeTrack(time.Now()) - - // IPv6 prefix to setup; defaults to "2001:db8::/32" - pfx := flag.String("pfx", "2001:db8::/32", "IPv6 prefix to setup") - // IPv6 next-hop to setup; defaults to "2001:db8:cafe::1" - nh := flag.String("nh", "2001:db8:cafe::1", "IPv6 next-hop to setup") - // Config file; defaults to "config.json" - cfg := flag.String("cfg", "../input/config.json", "Configuration file") - flag.Parse() - - // Admin Distance - var admdis uint32 = 2 - - // Define target parameters from the configuration file - targets := xr.NewDevices() - err := xr.DecodeJSONConfig(targets, *cfg) - if err != nil { - log.Fatalf("Could not read the config: %v\n", err) - } - - // Setup a connection to the target. 'd' is the index of the router - // in the config file - d := 1 - conn, _, err := xr.Connect(targets.Routers[d]) - if err != nil { - log.Fatalf("Could not setup a client connection to %s, %v", targets.Routers[d].Host, err) - } - defer conn.Close() - - // CSCva95005: Return SL_NOT_CONNECTED when the init session is killed from the Client. - err = xr.ClientInit(conn) - if err != nil { - log.Fatalf("Failed to initialize connection to %s, %v", targets.Routers[d].Host, err) - } - - // VRF Register Operation (= 1), - err = xr.VRFOperation(conn, 1, admdis) - if err != nil { - log.Fatalf("Failed to register the VRF Operation on %s, %v", targets.Routers[d].Host, err) - } - // VRF EOF Operation (= 3), - err = xr.VRFOperation(conn, 3, admdis) - if err != nil { - log.Fatalf("Failed to send VRF Operation EOF to %s, %v", targets.Routers[d].Host, err) - } - // Route Add Operation (= 1), - err = xr.SetRoute(conn, 1, *pfx, admdis, *nh) - if err != nil { - log.Fatalf("Failed to set Route on %s, %v", targets.Routers[d].Host, err) - } - -} diff --git a/proto/sla/sl_common_types.pb.go b/proto/sla/sl_common_types.pb.go deleted file mode 100644 index 7b5f656..0000000 --- a/proto/sla/sl_common_types.pb.go +++ /dev/null @@ -1,1737 +0,0 @@ -// @file -// @brief Common definitions for all of the service layer proto files. -// -//--------------------------------------------------------------------- -// Copyright (c) 2016 by Cisco Systems, Inc. -// All rights reserved. -//--------------------------------------------------------------------- -// -// - -//@defgroup Common -//@brief Common service definitions and Global initializations. - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.28.0 -// protoc v3.5.0 -// source: sl_common_types.proto - -package service_layer - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -// Registration Operations. -type SLRegOp int32 - -const ( - // Reserved. 0x0 - SLRegOp_SL_REGOP_RESERVED SLRegOp = 0 - // Register. 0x1 - SLRegOp_SL_REGOP_REGISTER SLRegOp = 1 - // Un-Register. 0x2 - SLRegOp_SL_REGOP_UNREGISTER SLRegOp = 2 - // End Of File. 0x3 - SLRegOp_SL_REGOP_EOF SLRegOp = 3 -) - -// Enum value maps for SLRegOp. -var ( - SLRegOp_name = map[int32]string{ - 0: "SL_REGOP_RESERVED", - 1: "SL_REGOP_REGISTER", - 2: "SL_REGOP_UNREGISTER", - 3: "SL_REGOP_EOF", - } - SLRegOp_value = map[string]int32{ - "SL_REGOP_RESERVED": 0, - "SL_REGOP_REGISTER": 1, - "SL_REGOP_UNREGISTER": 2, - "SL_REGOP_EOF": 3, - } -) - -func (x SLRegOp) Enum() *SLRegOp { - p := new(SLRegOp) - *p = x - return p -} - -func (x SLRegOp) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (SLRegOp) Descriptor() protoreflect.EnumDescriptor { - return file_sl_common_types_proto_enumTypes[0].Descriptor() -} - -func (SLRegOp) Type() protoreflect.EnumType { - return &file_sl_common_types_proto_enumTypes[0] -} - -func (x SLRegOp) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use SLRegOp.Descriptor instead. -func (SLRegOp) EnumDescriptor() ([]byte, []int) { - return file_sl_common_types_proto_rawDescGZIP(), []int{0} -} - -// Object Operations. -type SLObjectOp int32 - -const ( - // Reserved. 0x0 - SLObjectOp_SL_OBJOP_RESERVED SLObjectOp = 0 - // Add. 0x1 - SLObjectOp_SL_OBJOP_ADD SLObjectOp = 1 - // Update. 0x2 - SLObjectOp_SL_OBJOP_UPDATE SLObjectOp = 2 - // Delete. 0x3 - SLObjectOp_SL_OBJOP_DELETE SLObjectOp = 3 -) - -// Enum value maps for SLObjectOp. -var ( - SLObjectOp_name = map[int32]string{ - 0: "SL_OBJOP_RESERVED", - 1: "SL_OBJOP_ADD", - 2: "SL_OBJOP_UPDATE", - 3: "SL_OBJOP_DELETE", - } - SLObjectOp_value = map[string]int32{ - "SL_OBJOP_RESERVED": 0, - "SL_OBJOP_ADD": 1, - "SL_OBJOP_UPDATE": 2, - "SL_OBJOP_DELETE": 3, - } -) - -func (x SLObjectOp) Enum() *SLObjectOp { - p := new(SLObjectOp) - *p = x - return p -} - -func (x SLObjectOp) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (SLObjectOp) Descriptor() protoreflect.EnumDescriptor { - return file_sl_common_types_proto_enumTypes[1].Descriptor() -} - -func (SLObjectOp) Type() protoreflect.EnumType { - return &file_sl_common_types_proto_enumTypes[1] -} - -func (x SLObjectOp) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use SLObjectOp.Descriptor instead. -func (SLObjectOp) EnumDescriptor() ([]byte, []int) { - return file_sl_common_types_proto_rawDescGZIP(), []int{1} -} - -// Notification Operations. -type SLNotifOp int32 - -const ( - // Reserved. 0x0 - SLNotifOp_SL_NOTIFOP_RESERVED SLNotifOp = 0 - // Enable. 0x1 - SLNotifOp_SL_NOTIFOP_ENABLE SLNotifOp = 1 - // Disable. 0x2 - SLNotifOp_SL_NOTIFOP_DISABLE SLNotifOp = 2 -) - -// Enum value maps for SLNotifOp. -var ( - SLNotifOp_name = map[int32]string{ - 0: "SL_NOTIFOP_RESERVED", - 1: "SL_NOTIFOP_ENABLE", - 2: "SL_NOTIFOP_DISABLE", - } - SLNotifOp_value = map[string]int32{ - "SL_NOTIFOP_RESERVED": 0, - "SL_NOTIFOP_ENABLE": 1, - "SL_NOTIFOP_DISABLE": 2, - } -) - -func (x SLNotifOp) Enum() *SLNotifOp { - p := new(SLNotifOp) - *p = x - return p -} - -func (x SLNotifOp) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (SLNotifOp) Descriptor() protoreflect.EnumDescriptor { - return file_sl_common_types_proto_enumTypes[2].Descriptor() -} - -func (SLNotifOp) Type() protoreflect.EnumType { - return &file_sl_common_types_proto_enumTypes[2] -} - -func (x SLNotifOp) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use SLNotifOp.Descriptor instead. -func (SLNotifOp) EnumDescriptor() ([]byte, []int) { - return file_sl_common_types_proto_rawDescGZIP(), []int{2} -} - -type SLErrorStatus_SLErrno int32 - -const ( - // Success, no errors detected. 0x0. - SLErrorStatus_SL_SUCCESS SLErrorStatus_SLErrno = 0 - // Client is not connected. - // The client is expected to remain connected after init and version - // validation, RPC calls can fail with this error code otherwise. - // Refer to RPC SLGlobalInitNotif. 0x1 - SLErrorStatus_SL_NOT_CONNECTED SLErrorStatus_SLErrno = 1 - // Operation must be retried. 0x2 - SLErrorStatus_SL_EAGAIN SLErrorStatus_SLErrno = 2 - // One or more components does not have sufficient memory. 0x3 - SLErrorStatus_SL_ENOMEM SLErrorStatus_SLErrno = 3 - // Too many outstanding requests. 0x4 - SLErrorStatus_SL_EBUSY SLErrorStatus_SLErrno = 4 - // One or more arguments are invalid. 0x5 - SLErrorStatus_SL_EINVAL SLErrorStatus_SLErrno = 5 - // Unsupported version. 0x6 - SLErrorStatus_SL_UNSUPPORTED_VER SLErrorStatus_SLErrno = 6 - // Not Available. 0x7 - SLErrorStatus_SL_NOT_AVAILABLE SLErrorStatus_SLErrno = 7 - // Stream mode not supported. 0x8 - SLErrorStatus_SL_STREAM_NOT_SUPPORTED SLErrorStatus_SLErrno = 8 - // Operation not supported. 0x9 - SLErrorStatus_SL_ENOTSUP SLErrorStatus_SLErrno = 9 - // One or more objects is errored: - // Each object must be individually examined. 0xa - SLErrorStatus_SL_SOME_ERR SLErrorStatus_SLErrno = 10 - // Operation Timed out. - // The result of the operation is undeterministic (success or fail). 0xb - SLErrorStatus_SL_TIMEOUT SLErrorStatus_SLErrno = 11 - // Due to some event, the client will no longer receive notification - // events on this channel. 0xc - // Such events include: - // - Notification Session was hijacked by another client. - SLErrorStatus_SL_NOTIF_TERM SLErrorStatus_SLErrno = 12 - // Offset for INIT errors. 0x500 - SLErrorStatus_SL_INIT_START_OFFSET SLErrorStatus_SLErrno = 1280 - // Success, no errors detected - clear state. - // This error is returned on the first-ever initialization, or, - // when a fatal event has occured and all previous state was lost. 0x501 - SLErrorStatus_SL_INIT_STATE_CLEAR SLErrorStatus_SLErrno = 1281 - // Success, no errors detected - previous state fully recovered. - // This error is returned on a client re-initialization with - // successful recovery of state. 0x502 - SLErrorStatus_SL_INIT_STATE_READY SLErrorStatus_SLErrno = 1282 - // Server software incompatible with client software version. 0x503 - SLErrorStatus_SL_INIT_UNSUPPORTED_VER SLErrorStatus_SLErrno = 1283 - // Initialization request received while server is not ready. 0x504 - SLErrorStatus_SL_INIT_SERVER_NOT_INITIALIZED SLErrorStatus_SLErrno = 1284 - // Server operational mode change from stream to non-stream - // or vice-versa failed. 0x505 - SLErrorStatus_SL_INIT_SERVER_MODE_CHANGE_FAILED SLErrorStatus_SLErrno = 1285 - // Offset for VRF errors. 0x1000 - SLErrorStatus_SL_RPC_VRF_START_OFFSET SLErrorStatus_SLErrno = 4096 - // Operation rejected for ALL VRFs due to too many VRF registration - // messages in the request. 0x1001 - SLErrorStatus_SL_RPC_VRF_TOO_MANY_VRF_REG_MSGS SLErrorStatus_SLErrno = 4097 - // Operation rejected for all VRFs as server is not initialized. 0x1002 - SLErrorStatus_SL_RPC_VRF_SERVER_NOT_INITIALIZED SLErrorStatus_SLErrno = 4098 - // Offset for VRF errors. 0x2000 - SLErrorStatus_SL_VRF_START_OFFSET SLErrorStatus_SLErrno = 8192 - // VRF name in the VRF registration message is too long. 0x2001 - SLErrorStatus_SL_VRF_NAME_TOOLONG SLErrorStatus_SLErrno = 8193 - // VRF not found during a unregister or EOF. 0x2002 - SLErrorStatus_SL_VRF_NOT_FOUND SLErrorStatus_SLErrno = 8194 - // On a VRF registration, Table ID for the VRF is not found. 0x2003 - SLErrorStatus_SL_VRF_NO_TABLE_ID SLErrorStatus_SLErrno = 8195 - // VRF add registration message with invalid administrative distance. 0x2004 - SLErrorStatus_SL_VRF_REG_INVALID_ADMIN_DISTANCE SLErrorStatus_SLErrno = 8196 - // On a VRF registration, Table cannot be added to persistent memory. 0x2005 - SLErrorStatus_SL_VRF_TABLE_ADD_ERR SLErrorStatus_SLErrno = 8197 - // VRF table cannot be registered with RIB. 0x2006 - SLErrorStatus_SL_VRF_TABLE_REGISTRATION_ERR SLErrorStatus_SLErrno = 8198 - // VRF table cannot be unregistered with RIB. 0x2007 - SLErrorStatus_SL_VRF_TABLE_UNREGISTRATION_ERR SLErrorStatus_SLErrno = 8199 - // VRF table RIB EOF operation error. 0x2008 - SLErrorStatus_SL_VRF_TABLE_EOF_ERR SLErrorStatus_SLErrno = 8200 - // VRF registration message does not have a VRF name. 0x2009 - SLErrorStatus_SL_VRF_REG_VRF_NAME_MISSING SLErrorStatus_SLErrno = 8201 - // Offset for Route operation errors. 0x3000 - SLErrorStatus_SL_RPC_ROUTE_START_OFFSET SLErrorStatus_SLErrno = 12288 - // Operation rejected for ALL routes due to too many routes in the - // request. 0x3001 - SLErrorStatus_SL_RPC_ROUTE_TOO_MANY_ROUTES SLErrorStatus_SLErrno = 12289 - // Operation rejected for ALL routes as the request's VRF name - // is too long. 0x3002 - SLErrorStatus_SL_RPC_ROUTE_VRF_NAME_TOOLONG SLErrorStatus_SLErrno = 12290 - // Operation rejected for ALL routes as VRF for the given name - // is not found. 0x3003 - SLErrorStatus_SL_RPC_ROUTE_VRF_NOT_FOUND SLErrorStatus_SLErrno = 12291 - // Operation rejected for ALL routes as VRF's Table ID is not found. - // 0x3004 - SLErrorStatus_SL_RPC_ROUTE_VRF_NO_TABLE SLErrorStatus_SLErrno = 12292 - // Operation rejected for ALL routes as VRF is not registered with RIB. - // 0x3005 - SLErrorStatus_SL_RPC_ROUTE_VRF_TABLE_NOT_REGISTERED SLErrorStatus_SLErrno = 12293 - // Route Operation rejected for ALL objects as VRF name is missing. - // 0x3006 - SLErrorStatus_SL_RPC_ROUTE_VRF_NAME_MISSING SLErrorStatus_SLErrno = 12294 - // Operation rejected for all routes as the RPC request is - // not supported for the library's initialization mode. 0x3007 - SLErrorStatus_SL_RPC_ROUTE_INIT_MODE_INCOMPATIBLE SLErrorStatus_SLErrno = 12295 - // Operation rejected for all routes as server is not initialized. - // 0x3008 - SLErrorStatus_SL_RPC_ROUTE_SERVER_NOT_INITIALIZED SLErrorStatus_SLErrno = 12296 - // Offset for route errors. 0x4000 - SLErrorStatus_SL_ROUTE_START_OFFSET SLErrorStatus_SLErrno = 16384 - // Route add operation requested but no paths were provided. 0x4001 - SLErrorStatus_SL_ROUTE_ADD_NO_PATHS SLErrorStatus_SLErrno = 16385 - // Route update operation requested but no paths were provided. 0x4002 - SLErrorStatus_SL_ROUTE_UPDATE_NO_PATHS SLErrorStatus_SLErrno = 16386 - // Route's prefix length is invalid. 0x4003 - SLErrorStatus_SL_ROUTE_INVALID_PREFIX_LEN SLErrorStatus_SLErrno = 16387 - // Route's admininstrative distance is invalid. 0x4004 - SLErrorStatus_SL_ROUTE_INVALID_ADMIN_DISTANCE SLErrorStatus_SLErrno = 16388 - // Route's number of paths exceeds system capabilities. 0x4005 - SLErrorStatus_SL_ROUTE_INVALID_NUM_PATHS SLErrorStatus_SLErrno = 16389 - // Size of IPv6 prefix is invalid. 0x4006 - SLErrorStatus_SL_ROUTE_INVALID_PREFIX_SZ SLErrorStatus_SLErrno = 16390 - // Route's prefix is invalid. 0x4007 - SLErrorStatus_SL_ROUTE_INVALID_PREFIX SLErrorStatus_SLErrno = 16391 - // Route programming failed in RIB as VRF table limit reached. 0x4008 - SLErrorStatus_SL_ROUTE_ERR_RIB_TABLE_LIMIT_REACHED SLErrorStatus_SLErrno = 16392 - // RIB route programming failed in RIB due to invalid arguments. 0x4009 - SLErrorStatus_SL_ROUTE_ERR_RIB_INVALID_ARGS SLErrorStatus_SLErrno = 16393 - // One or more paths could not be programmed in RIB as VRF - // table limit reached. 0x400a - SLErrorStatus_SL_ROUTE_ERR_RIB_PATH_TABLE_LIMIT SLErrorStatus_SLErrno = 16394 - // One or more paths could not be programmed in RIB as number of paths - // reached system limit. 0x400b - SLErrorStatus_SL_ROUTE_ERR_RIB_TOOMANYPATHS SLErrorStatus_SLErrno = 16395 - // This route already exists in the database. 0x400c - SLErrorStatus_SL_ROUTE_EEXIST SLErrorStatus_SLErrno = 16396 - // Route prefix has host bits set. 0x400d - SLErrorStatus_SL_ROUTE_HOST_BITS_SET SLErrorStatus_SLErrno = 16397 - // IPv4 Route prefix is a multicast address. 0x400e - SLErrorStatus_SL_ROUTE_INVALID_PREFIX_MCAST SLErrorStatus_SLErrno = 16398 - // Route and Path AFI does not match. 0x400f - SLErrorStatus_SL_ROUTE_PATH_AFI_MISMATCH SLErrorStatus_SLErrno = 16399 - // Number of primary paths exceeds system capabilities. 0x4010 - SLErrorStatus_SL_ROUTE_TOOMANY_PRIMARY_PATHS SLErrorStatus_SLErrno = 16400 - // Number of backup paths exceeds system capabilities. 0x4011 - SLErrorStatus_SL_ROUTE_TOOMANY_BACKUP_PATHS SLErrorStatus_SLErrno = 16401 - // The route database is out of memory. 0x4012 - SLErrorStatus_SL_ROUTE_DB_NOMEM SLErrorStatus_SLErrno = 16402 - // The route has an invalid local label. 0x4013 - SLErrorStatus_SL_ROUTE_INVALID_LOCAL_LABEL SLErrorStatus_SLErrno = 16403 - // Offset for route path errors. 0x5000 - SLErrorStatus_SL_PATH_START_OFFSET SLErrorStatus_SLErrno = 20480 - // VRF table for the path could not be determined. 0x5001 - SLErrorStatus_SL_PATH_NH_NO_TABLE SLErrorStatus_SLErrno = 20481 - // Path next hop interface not found. 0x5002 - SLErrorStatus_SL_PATH_NH_INTF_NOT_FOUND SLErrorStatus_SLErrno = 20482 - // Number of labels in the path exceeds system capabilities. 0x5003 - SLErrorStatus_SL_PATH_INVALID_LABEL_COUNT SLErrorStatus_SLErrno = 20483 - // Path ID assigned to the path falls outside the supported range. 0x5004 - SLErrorStatus_SL_PATH_INVALID_ID SLErrorStatus_SLErrno = 20484 - // Path VRF name exceeds supported length. 0x5005 - SLErrorStatus_SL_PATH_VRF_NAME_TOOLONG SLErrorStatus_SLErrno = 20485 - // Path next hop interface name exceeds supported length. 0x5006 - SLErrorStatus_SL_PATH_NH_INTF_NAME_TOOLONG SLErrorStatus_SLErrno = 20486 - // Size of next hop IPv6 address is invalid. 0x5007 - SLErrorStatus_SL_PATH_NH_INVALID_ADDR_SZ SLErrorStatus_SLErrno = 20487 - // Next hop interface name is missing from path. 0x5008 - SLErrorStatus_SL_PATH_NH_INF_NAME_MISSING SLErrorStatus_SLErrno = 20488 - // Path has an invalid next hop address. 0x5009 - SLErrorStatus_SL_PATH_INVALID_NEXT_HOP_ADDR SLErrorStatus_SLErrno = 20489 - // Number of remote backup addresses in the path exceeds - // system capabilities. 0x500a - SLErrorStatus_SL_PATH_INVALID_REMOTE_ADDR_COUNT SLErrorStatus_SLErrno = 20490 - // Size of IPv6 remote backup address is invalid. 0x500b - SLErrorStatus_SL_PATH_REMOTE_ADDR_INVALID_SZ SLErrorStatus_SLErrno = 20491 - // Route and Path remote backup address AFI does not match. 0x500c - SLErrorStatus_SL_PATH_REMOTE_ADDR_AFI_MISMATCH SLErrorStatus_SLErrno = 20492 - // Path has an invalid protection bitmap. 0x500d - SLErrorStatus_SL_PATH_INVALID_PROTECTED_BITMAP SLErrorStatus_SLErrno = 20493 - // Protection bitmap of a backup path refers to a missing path. 0x500e - SLErrorStatus_SL_PATH_BACKUP_MISSING_PRIMARY_PATH SLErrorStatus_SLErrno = 20494 - // Too many primary paths with same Path ID. 0x500f - SLErrorStatus_SL_PATH_PRIMARY_ID_REPEATED SLErrorStatus_SLErrno = 20495 - // Too many pure backup paths with same Path ID. 0x5010 - SLErrorStatus_SL_PATH_BACKUP_ID_REPEATED SLErrorStatus_SLErrno = 20496 - // A primary path has too many backup paths. 0x5011 - SLErrorStatus_SL_PATH_PRIMARY_TOOMANY_BACKUP_PATHS SLErrorStatus_SLErrno = 20497 - // A primary path has too many labels. 0x5012 - SLErrorStatus_SL_PATH_PRIMARY_TOOMANY_LABELS SLErrorStatus_SLErrno = 20498 - // A primary path has too many remote addresses. 0x5013 - SLErrorStatus_SL_PATH_PRIMARY_TOOMANY_REMOTE_ADDR SLErrorStatus_SLErrno = 20499 - // A pure backup remote address is invalid. 0x5014 - SLErrorStatus_SL_PATH_REMOTE_ADDR_INVALID SLErrorStatus_SLErrno = 20500 - // Path has an invalid label. 0x5015 - SLErrorStatus_SL_PATH_INVALID_LABEL SLErrorStatus_SLErrno = 20501 - // Offset for BFD operation errors. 0x6000 - SLErrorStatus_SL_RPC_BFD_START_OFFSET SLErrorStatus_SLErrno = 24576 - // BFD Operation rejected for ALL Sessions as the BFD Session count - // is beyond supported limit. 0x6001 - SLErrorStatus_SL_RPC_BFD_TOO_MANY_BFD_SESSIONS SLErrorStatus_SLErrno = 24577 - // BFD Operation rejected due to one or many invalid parameters. 0x6002 - SLErrorStatus_SL_RPC_BFD_API_BAD_PARAMETER SLErrorStatus_SLErrno = 24578 - // BFD Operation failed as server is not registered with BFD. 0x6003 - SLErrorStatus_SL_RPC_BFD_API_CLIENT_NOT_REGISTERED SLErrorStatus_SLErrno = 24579 - // BFD Operation failed with internal error. 0x6004 - SLErrorStatus_SL_RPC_BFD_API_INTERNAL_ERROR SLErrorStatus_SLErrno = 24580 - // BFD Operation rejected as server is not initialized. 0x6005 - SLErrorStatus_SL_RPC_BFD_SERVER_NOT_INITIALIZED SLErrorStatus_SLErrno = 24581 - // BFD IPv4 not registered. 0x6006 - SLErrorStatus_SL_RPC_BFD_V4_NOT_REGISTERED SLErrorStatus_SLErrno = 24582 - // BFD IPv6 not registered. 0x6007 - SLErrorStatus_SL_RPC_BFD_V6_NOT_REGISTERED SLErrorStatus_SLErrno = 24583 - // Offset for BFD errors. 0x7000 - SLErrorStatus_SL_BFD_START_OFFSET SLErrorStatus_SLErrno = 28672 - // BFD Session's interface name exceeds supported length. 0x7001 - SLErrorStatus_SL_BFD_INTF_NAME_TOOLONG SLErrorStatus_SLErrno = 28673 - // BFD Session's interface not found. 0x7002 - SLErrorStatus_SL_BFD_INTF_NOT_FOUND SLErrorStatus_SLErrno = 28674 - // BFD Session's tx interval or multiplier are beyond the - // supported range. 0x7003 - SLErrorStatus_SL_BFD_INVALID_ATTRIBUTE SLErrorStatus_SLErrno = 28675 - // BFD Session's interface name is missing. 0x7004 - SLErrorStatus_SL_BFD_INTF_NAME_MISSING SLErrorStatus_SLErrno = 28676 - // BFD Session's neighbor is mcast address. 0x7005 - SLErrorStatus_SL_BFD_INVALID_NBR_MCAST SLErrorStatus_SLErrno = 28677 - // BFD Session's neighbor address is invalid. 0x7006 - SLErrorStatus_SL_BFD_INVALID_NBR SLErrorStatus_SLErrno = 28678 - // BFD Session's VRF Name is too long. 0x7007 - SLErrorStatus_SL_BFD_VRF_NAME_TOOLONG SLErrorStatus_SLErrno = 28679 - // BFD Session's one or more parameters are invalid. - // For example, Multihop BFD can not have the interface name set. 0x7008 - SLErrorStatus_SL_BFD_BAD_PARAMETER SLErrorStatus_SLErrno = 28680 - // BFD Session failed with internal error. 0x7009 - SLErrorStatus_SL_BFD_API_INTERNAL_ERROR SLErrorStatus_SLErrno = 28681 - // BFD Session's VRF not found. 0x700a - SLErrorStatus_SL_BFD_VRF_NOT_FOUND SLErrorStatus_SLErrno = 28682 - // BFD Session's neighbor IPv6 prefix size is invalid. 0x700b - SLErrorStatus_SL_BFD_INVALID_PREFIX_SIZE SLErrorStatus_SLErrno = 28683 - // BFD Session type invalid. 0x700c - SLErrorStatus_SL_BFD_INVALID_SESSION_TYPE SLErrorStatus_SLErrno = 28684 - // BFD Session's VRF is Invalid. 0x700d - SLErrorStatus_SL_BFD_INVALID_VRF SLErrorStatus_SLErrno = 28685 - // BFD Session not found. 0x700e - SLErrorStatus_SL_BFD_SESSION_NOT_FOUND SLErrorStatus_SLErrno = 28686 - // BFD Session exists. 0x700f - SLErrorStatus_SL_BFD_SESSION_EXISTS SLErrorStatus_SLErrno = 28687 - // BFD Internal database error. 0x7010 - SLErrorStatus_SL_BFD_INTERNAL_DB_ERROR SLErrorStatus_SLErrno = 28688 - // BFD Recovery error. 0x7011 - SLErrorStatus_SL_BFD_RECOVERY_ERROR SLErrorStatus_SLErrno = 28689 - // Offset for MPLS operation errors. 0x8000 - SLErrorStatus_SL_RPC_MPLS_START_OFFSET SLErrorStatus_SLErrno = 32768 - // Operation rejected for ALL ILMS due to too many ILMS in the - // request. 0x8001 - SLErrorStatus_SL_RPC_MPLS_ILM_TOO_MANY_ILMS SLErrorStatus_SLErrno = 32769 - // Operation rejected for all ILMs as server is not initialized. - // 0x0x8002 - SLErrorStatus_SL_RPC_MPLS_SERVER_NOT_INITIALIZED SLErrorStatus_SLErrno = 32770 - // Operation rejected for all ILMs as the RPC request is - // not supported for the library's initialization mode. 0x8003 - SLErrorStatus_SL_RPC_MPLS_INIT_MODE_INCOMPATIBLE SLErrorStatus_SLErrno = 32771 - // Operation rejected for ALL label blocks due to too many - // label blocks in the request. 0x8004 - SLErrorStatus_SL_RPC_MPLS_LABEL_BLK_TOO_MANY_LABEL_BLKS SLErrorStatus_SLErrno = 32772 - // Operation rejected for ALL ILMs as MPLS layer is not registered. - // 0x8005 - SLErrorStatus_SL_RPC_MPLS_NOT_REGISTERED SLErrorStatus_SLErrno = 32773 - // Offset for MPLS ILM errors. 0x9000 - SLErrorStatus_SL_ILM_ERR_OFFSET SLErrorStatus_SLErrno = 36864 - // MPLS ILM add to service layer failed. 0x9001 - SLErrorStatus_SL_ILM_ADD_FAILED SLErrorStatus_SLErrno = 36865 - // MPLS ILM add to Label Switching Database failed. 0x9002 - SLErrorStatus_SL_ILM_LSD_ADD_FAILED SLErrorStatus_SLErrno = 36866 - // MPLS ILM NHLFE count exceeded max supported number. 0x9003 - SLErrorStatus_SL_ILM_INVALID_NUM_NHLFE SLErrorStatus_SLErrno = 36867 - // MPLS ILM label value out of range. 0x9004 - SLErrorStatus_SL_ILM_INVALID_LABEL SLErrorStatus_SLErrno = 36868 - // MPLS ILM delete from service layer failed. 0x9005 - SLErrorStatus_SL_ILM_DELETE_FAILED SLErrorStatus_SLErrno = 36869 - // MPLS ILM delete from Label Switching Database failed. 0x9006 - SLErrorStatus_SL_ILM_LSD_DELETE_FAILED SLErrorStatus_SLErrno = 36870 - // Number of primary NHLFEs exceeds system capabilities. 0x9007 - SLErrorStatus_SL_ILM_TOOMANY_PRIMARY_NHLFES SLErrorStatus_SLErrno = 36871 - // Number of backup NHLFEs exceeds system capabilities. 0x9008 - SLErrorStatus_SL_ILM_TOOMANY_BACKUP_NHLFES SLErrorStatus_SLErrno = 36872 - // MPLS ILM label alloc failed in Label switching database. 0x9009 - SLErrorStatus_SL_ILM_LSD_ADD_LABEL_ALLOC_FAILED SLErrorStatus_SLErrno = 36873 - // MPLS ILM NHLFE attribute invalid. 0x900a - SLErrorStatus_SL_ILM_LSD_NHLFE_INVALID_ATTRIB SLErrorStatus_SLErrno = 36874 - // MPLS ILM already exists in the database. 0x900b - SLErrorStatus_SL_ILM_EEXIST SLErrorStatus_SLErrno = 36875 - // The ILM database is out of memory. 0x900c - SLErrorStatus_SL_ILM_DB_NOMEM SLErrorStatus_SLErrno = 36876 - // Offset for MPLS NHLFE errors. 0xa000 - SLErrorStatus_SL_NHLFE_ERR_OFFSET SLErrorStatus_SLErrno = 40960 - // MPLS NHLFE vrf table could not be determined. 0xa001 - SLErrorStatus_SL_NHLFE_NH_NO_TABLE SLErrorStatus_SLErrno = 40961 - // Size of next hop IPv6 address is invalid. 0xa002 - SLErrorStatus_SL_NHLFE_NH_INVALID_ADDR_SZ SLErrorStatus_SLErrno = 40962 - // NHLFE has an invalid next hop address. 0xa003 - SLErrorStatus_SL_NHLFE_INVALID_NEXT_HOP_ADDR SLErrorStatus_SLErrno = 40963 - // Path VRF name exceeds supported length. 0xa004 - SLErrorStatus_SL_NHLFE_VRF_NAME_TOOLONG SLErrorStatus_SLErrno = 40964 - // Next hop interface name is missing from path. 0xa005 - SLErrorStatus_SL_NHLFE_NH_INF_NAME_MISSING SLErrorStatus_SLErrno = 40965 - // Interface name exceeds supported length. 0xa006 - SLErrorStatus_SL_NHLFE_NH_INTF_NAME_TOOLONG SLErrorStatus_SLErrno = 40966 - // Number of labels in the path exceeds system capabilities. 0xa007 - SLErrorStatus_SL_NHLFE_INVALID_LABEL_COUNT SLErrorStatus_SLErrno = 40967 - // Path id is invalid in NHLFE. 0xa008 - SLErrorStatus_SL_NHLFE_INVALID_PATH_ID SLErrorStatus_SLErrno = 40968 - // MPLS NHLFE label value out of range. 0xa009 - SLErrorStatus_SL_NHLFE_INVALID_LABEL SLErrorStatus_SLErrno = 40969 - // NHLFE has an invalid protection bitmap. 0xa00a - SLErrorStatus_SL_NHLFE_INVALID_PROTECTED_BITMAP SLErrorStatus_SLErrno = 40970 - // Number of remote backup addresses in the NHLFE exceeds - // system capabilities. 0xa00b - SLErrorStatus_SL_NHLFE_INVALID_REMOTE_ADDR_COUNT SLErrorStatus_SLErrno = 40971 - // Size of IPv6 remote backup address is invalid. 0xa00c - SLErrorStatus_SL_NHLFE_REMOTE_ADDR_INVALID_SZ SLErrorStatus_SLErrno = 40972 - // A primary NHLFE has too many labels. 0xa00d - SLErrorStatus_SL_NHLFE_PRIMARY_TOOMANY_LABELS SLErrorStatus_SLErrno = 40973 - // A primary NHLFE has too many remote addresses. 0xa00e - SLErrorStatus_SL_NHLFE_PRIMARY_TOOMANY_REMOTE_ADDR SLErrorStatus_SLErrno = 40974 - // Too many pure backup NHLFE with same Path ID. 0xa00f - SLErrorStatus_SL_NHLFE_BACKUP_ID_REPEATED SLErrorStatus_SLErrno = 40975 - // Too many primary NHLFE with same Path ID. 0xa010 - SLErrorStatus_SL_NHLFE_PRIMARY_ID_REPEATED SLErrorStatus_SLErrno = 40976 - // Pure backup NHLFE has a empty protected bitmap. 0xa011 - SLErrorStatus_SL_NHLFE_BACKUP_PROTECTED_BITMAP_EMPTY SLErrorStatus_SLErrno = 40977 - // A primary NHLFE has too many backup paths. 0xa012 - SLErrorStatus_SL_NHLFE_PRIMARY_TOOMANY_BACKUP_PATHS SLErrorStatus_SLErrno = 40978 - // A pure backup remote address is invalid. 0xa013 - SLErrorStatus_SL_NHLFE_REMOTE_ADDR_INVALID SLErrorStatus_SLErrno = 40979 - // Protection bitmap of a backup NHLFE refers to a missing path. 0xa014 - SLErrorStatus_SL_NHLFE_BACKUP_MISSING_PRIMARY_PATH SLErrorStatus_SLErrno = 40980 - // NHLFE next-hop missing. 0xa015 - SLErrorStatus_SL_NHLFE_NEXT_HOP_MISSING SLErrorStatus_SLErrno = 40981 - // Label action specified is invalid. 0xa016 - SLErrorStatus_SL_NHLFE_LABEL_ACTION_INVALID SLErrorStatus_SLErrno = 40982 - // NHLFE next hop interface not found. 0xa017 - SLErrorStatus_SL_NHLFE_NH_INTF_NOT_FOUND SLErrorStatus_SLErrno = 40983 - // MPLS NHLFE operation failed. 0xa018 - SLErrorStatus_SL_NHLFE_OPER_FAILED SLErrorStatus_SLErrno = 40984 - // MPLS NHLFE label action missing. 0xa019 - SLErrorStatus_SL_NHLFE_LABEL_ACTION_MISSING SLErrorStatus_SLErrno = 40985 - // Offset for label block errors. 0xb000 - SLErrorStatus_SL_LABEL_BLK_ERR_OFFSET SLErrorStatus_SLErrno = 45056 - // MPLS label block add from Label Switching Database failed. 0xb001 - SLErrorStatus_SL_LABEL_BLK_LSD_ADD_FAILED SLErrorStatus_SLErrno = 45057 - // MPLS label block delete from Label Switching Database failed. 0xb002 - SLErrorStatus_SL_LABEL_BLK_LSD_DELETE_FAILED SLErrorStatus_SLErrno = 45058 - // MPLS label block not found. 0xb003 - SLErrorStatus_SL_LABEL_BLK_LSD_LABEL_BLK_NOT_FOUND SLErrorStatus_SLErrno = 45059 - // MPLS label block in use. 0xb004 - SLErrorStatus_SL_LABEL_BLK_LSD_LABEL_BLK_IN_USE SLErrorStatus_SLErrno = 45060 - // MPLS label block attribute invalid. 0xb005 - SLErrorStatus_SL_LABEL_BLK_LSD_INVALID_ATTRIB SLErrorStatus_SLErrno = 45061 - // MPLS label block size > max size per block. 0xb006 - SLErrorStatus_SL_LABEL_BLK_INVALID_BLOCK_SIZE SLErrorStatus_SLErrno = 45062 - // MPLS label start_label < min label for platform . 0xb007 - SLErrorStatus_SL_LABEL_BLK_INVALID_START_LABEL SLErrorStatus_SLErrno = 45063 - // MPLS label block already exists in the database. 0xb008 - SLErrorStatus_SL_LABEL_BLK_EEXIST SLErrorStatus_SLErrno = 45064 - // MPLS label database is out of memory. 0xb009 - SLErrorStatus_SL_LABEL_BLK_DB_NOMEM SLErrorStatus_SLErrno = 45065 - // Offset for MPLS registration errors. 0xc000 - SLErrorStatus_SL_MPLS_REG_ERR_OFFSET SLErrorStatus_SLErrno = 49152 - // MPLS registration error. 0xc001 - SLErrorStatus_SL_MPLS_REG_ERR SLErrorStatus_SLErrno = 49153 - // MPLS unregistration error. 0xc002 - SLErrorStatus_SL_MPLS_UNREG_ERR SLErrorStatus_SLErrno = 49154 - // MPLS EOF error. 0xc003 - SLErrorStatus_SL_MPLS_EOF_ERR SLErrorStatus_SLErrno = 49155 - // Offset for Interface operation errors. 0xd000 - SLErrorStatus_SL_RPC_INTF_START_OFFSET SLErrorStatus_SLErrno = 53248 - // Interface Operation rejected for ALL Sessions as the Interface - // Session count is beyond supported limit. 0xd001 - SLErrorStatus_SL_RPC_INTF_TOO_MANY_INTERFACES SLErrorStatus_SLErrno = 53249 - // Interface Operation rejected as server is not initialized. 0xd002 - SLErrorStatus_SL_RPC_INTF_SERVER_NOT_INITIALIZED SLErrorStatus_SLErrno = 53250 - // Interface Operation failed as server is not registered with - // interface manager. 0xd003 - SLErrorStatus_SL_RPC_INTF_API_CLIENT_NOT_REGISTERED SLErrorStatus_SLErrno = 53251 - // Offset for Interface object errors. 0xe000 - SLErrorStatus_SL_INTF_START_OFFSET SLErrorStatus_SLErrno = 57344 - // Interface object's interface name missing. 0xe001 - SLErrorStatus_SL_INTF_INTERFACE_NAME_MISSING SLErrorStatus_SLErrno = 57345 - // Interface object's interface name exceeds supported length. 0xe002 - SLErrorStatus_SL_INTF_INTERFACE_NAME_TOOLONG SLErrorStatus_SLErrno = 57346 - // Interface internal registration error. 0xe003 - SLErrorStatus_SL_INTF_INTERFACE_REG_ERR SLErrorStatus_SLErrno = 57347 - // Internal database error. 0xe004 - SLErrorStatus_SL_INTF_INTERNAL_DB_ERROR SLErrorStatus_SLErrno = 57348 - // Interface Recovery error. 0xe005 - SLErrorStatus_SL_INTF_RECOVERY_ERROR SLErrorStatus_SLErrno = 57349 - // Interface exists. 0xe006 - SLErrorStatus_SL_INTF_INTERFACE_EXISTS SLErrorStatus_SLErrno = 57350 - // Interface not found. 0xe007 - SLErrorStatus_SL_INTF_INTERFACE_NOT_FOUND SLErrorStatus_SLErrno = 57351 - // Offset for Internal errors. 0x100000 - SLErrorStatus_SL_INTERNAL_START_OFFSET SLErrorStatus_SLErrno = 1048576 -) - -// Enum value maps for SLErrorStatus_SLErrno. -var ( - SLErrorStatus_SLErrno_name = map[int32]string{ - 0: "SL_SUCCESS", - 1: "SL_NOT_CONNECTED", - 2: "SL_EAGAIN", - 3: "SL_ENOMEM", - 4: "SL_EBUSY", - 5: "SL_EINVAL", - 6: "SL_UNSUPPORTED_VER", - 7: "SL_NOT_AVAILABLE", - 8: "SL_STREAM_NOT_SUPPORTED", - 9: "SL_ENOTSUP", - 10: "SL_SOME_ERR", - 11: "SL_TIMEOUT", - 12: "SL_NOTIF_TERM", - 1280: "SL_INIT_START_OFFSET", - 1281: "SL_INIT_STATE_CLEAR", - 1282: "SL_INIT_STATE_READY", - 1283: "SL_INIT_UNSUPPORTED_VER", - 1284: "SL_INIT_SERVER_NOT_INITIALIZED", - 1285: "SL_INIT_SERVER_MODE_CHANGE_FAILED", - 4096: "SL_RPC_VRF_START_OFFSET", - 4097: "SL_RPC_VRF_TOO_MANY_VRF_REG_MSGS", - 4098: "SL_RPC_VRF_SERVER_NOT_INITIALIZED", - 8192: "SL_VRF_START_OFFSET", - 8193: "SL_VRF_NAME_TOOLONG", - 8194: "SL_VRF_NOT_FOUND", - 8195: "SL_VRF_NO_TABLE_ID", - 8196: "SL_VRF_REG_INVALID_ADMIN_DISTANCE", - 8197: "SL_VRF_TABLE_ADD_ERR", - 8198: "SL_VRF_TABLE_REGISTRATION_ERR", - 8199: "SL_VRF_TABLE_UNREGISTRATION_ERR", - 8200: "SL_VRF_TABLE_EOF_ERR", - 8201: "SL_VRF_REG_VRF_NAME_MISSING", - 12288: "SL_RPC_ROUTE_START_OFFSET", - 12289: "SL_RPC_ROUTE_TOO_MANY_ROUTES", - 12290: "SL_RPC_ROUTE_VRF_NAME_TOOLONG", - 12291: "SL_RPC_ROUTE_VRF_NOT_FOUND", - 12292: "SL_RPC_ROUTE_VRF_NO_TABLE", - 12293: "SL_RPC_ROUTE_VRF_TABLE_NOT_REGISTERED", - 12294: "SL_RPC_ROUTE_VRF_NAME_MISSING", - 12295: "SL_RPC_ROUTE_INIT_MODE_INCOMPATIBLE", - 12296: "SL_RPC_ROUTE_SERVER_NOT_INITIALIZED", - 16384: "SL_ROUTE_START_OFFSET", - 16385: "SL_ROUTE_ADD_NO_PATHS", - 16386: "SL_ROUTE_UPDATE_NO_PATHS", - 16387: "SL_ROUTE_INVALID_PREFIX_LEN", - 16388: "SL_ROUTE_INVALID_ADMIN_DISTANCE", - 16389: "SL_ROUTE_INVALID_NUM_PATHS", - 16390: "SL_ROUTE_INVALID_PREFIX_SZ", - 16391: "SL_ROUTE_INVALID_PREFIX", - 16392: "SL_ROUTE_ERR_RIB_TABLE_LIMIT_REACHED", - 16393: "SL_ROUTE_ERR_RIB_INVALID_ARGS", - 16394: "SL_ROUTE_ERR_RIB_PATH_TABLE_LIMIT", - 16395: "SL_ROUTE_ERR_RIB_TOOMANYPATHS", - 16396: "SL_ROUTE_EEXIST", - 16397: "SL_ROUTE_HOST_BITS_SET", - 16398: "SL_ROUTE_INVALID_PREFIX_MCAST", - 16399: "SL_ROUTE_PATH_AFI_MISMATCH", - 16400: "SL_ROUTE_TOOMANY_PRIMARY_PATHS", - 16401: "SL_ROUTE_TOOMANY_BACKUP_PATHS", - 16402: "SL_ROUTE_DB_NOMEM", - 16403: "SL_ROUTE_INVALID_LOCAL_LABEL", - 20480: "SL_PATH_START_OFFSET", - 20481: "SL_PATH_NH_NO_TABLE", - 20482: "SL_PATH_NH_INTF_NOT_FOUND", - 20483: "SL_PATH_INVALID_LABEL_COUNT", - 20484: "SL_PATH_INVALID_ID", - 20485: "SL_PATH_VRF_NAME_TOOLONG", - 20486: "SL_PATH_NH_INTF_NAME_TOOLONG", - 20487: "SL_PATH_NH_INVALID_ADDR_SZ", - 20488: "SL_PATH_NH_INF_NAME_MISSING", - 20489: "SL_PATH_INVALID_NEXT_HOP_ADDR", - 20490: "SL_PATH_INVALID_REMOTE_ADDR_COUNT", - 20491: "SL_PATH_REMOTE_ADDR_INVALID_SZ", - 20492: "SL_PATH_REMOTE_ADDR_AFI_MISMATCH", - 20493: "SL_PATH_INVALID_PROTECTED_BITMAP", - 20494: "SL_PATH_BACKUP_MISSING_PRIMARY_PATH", - 20495: "SL_PATH_PRIMARY_ID_REPEATED", - 20496: "SL_PATH_BACKUP_ID_REPEATED", - 20497: "SL_PATH_PRIMARY_TOOMANY_BACKUP_PATHS", - 20498: "SL_PATH_PRIMARY_TOOMANY_LABELS", - 20499: "SL_PATH_PRIMARY_TOOMANY_REMOTE_ADDR", - 20500: "SL_PATH_REMOTE_ADDR_INVALID", - 20501: "SL_PATH_INVALID_LABEL", - 24576: "SL_RPC_BFD_START_OFFSET", - 24577: "SL_RPC_BFD_TOO_MANY_BFD_SESSIONS", - 24578: "SL_RPC_BFD_API_BAD_PARAMETER", - 24579: "SL_RPC_BFD_API_CLIENT_NOT_REGISTERED", - 24580: "SL_RPC_BFD_API_INTERNAL_ERROR", - 24581: "SL_RPC_BFD_SERVER_NOT_INITIALIZED", - 24582: "SL_RPC_BFD_V4_NOT_REGISTERED", - 24583: "SL_RPC_BFD_V6_NOT_REGISTERED", - 28672: "SL_BFD_START_OFFSET", - 28673: "SL_BFD_INTF_NAME_TOOLONG", - 28674: "SL_BFD_INTF_NOT_FOUND", - 28675: "SL_BFD_INVALID_ATTRIBUTE", - 28676: "SL_BFD_INTF_NAME_MISSING", - 28677: "SL_BFD_INVALID_NBR_MCAST", - 28678: "SL_BFD_INVALID_NBR", - 28679: "SL_BFD_VRF_NAME_TOOLONG", - 28680: "SL_BFD_BAD_PARAMETER", - 28681: "SL_BFD_API_INTERNAL_ERROR", - 28682: "SL_BFD_VRF_NOT_FOUND", - 28683: "SL_BFD_INVALID_PREFIX_SIZE", - 28684: "SL_BFD_INVALID_SESSION_TYPE", - 28685: "SL_BFD_INVALID_VRF", - 28686: "SL_BFD_SESSION_NOT_FOUND", - 28687: "SL_BFD_SESSION_EXISTS", - 28688: "SL_BFD_INTERNAL_DB_ERROR", - 28689: "SL_BFD_RECOVERY_ERROR", - 32768: "SL_RPC_MPLS_START_OFFSET", - 32769: "SL_RPC_MPLS_ILM_TOO_MANY_ILMS", - 32770: "SL_RPC_MPLS_SERVER_NOT_INITIALIZED", - 32771: "SL_RPC_MPLS_INIT_MODE_INCOMPATIBLE", - 32772: "SL_RPC_MPLS_LABEL_BLK_TOO_MANY_LABEL_BLKS", - 32773: "SL_RPC_MPLS_NOT_REGISTERED", - 36864: "SL_ILM_ERR_OFFSET", - 36865: "SL_ILM_ADD_FAILED", - 36866: "SL_ILM_LSD_ADD_FAILED", - 36867: "SL_ILM_INVALID_NUM_NHLFE", - 36868: "SL_ILM_INVALID_LABEL", - 36869: "SL_ILM_DELETE_FAILED", - 36870: "SL_ILM_LSD_DELETE_FAILED", - 36871: "SL_ILM_TOOMANY_PRIMARY_NHLFES", - 36872: "SL_ILM_TOOMANY_BACKUP_NHLFES", - 36873: "SL_ILM_LSD_ADD_LABEL_ALLOC_FAILED", - 36874: "SL_ILM_LSD_NHLFE_INVALID_ATTRIB", - 36875: "SL_ILM_EEXIST", - 36876: "SL_ILM_DB_NOMEM", - 40960: "SL_NHLFE_ERR_OFFSET", - 40961: "SL_NHLFE_NH_NO_TABLE", - 40962: "SL_NHLFE_NH_INVALID_ADDR_SZ", - 40963: "SL_NHLFE_INVALID_NEXT_HOP_ADDR", - 40964: "SL_NHLFE_VRF_NAME_TOOLONG", - 40965: "SL_NHLFE_NH_INF_NAME_MISSING", - 40966: "SL_NHLFE_NH_INTF_NAME_TOOLONG", - 40967: "SL_NHLFE_INVALID_LABEL_COUNT", - 40968: "SL_NHLFE_INVALID_PATH_ID", - 40969: "SL_NHLFE_INVALID_LABEL", - 40970: "SL_NHLFE_INVALID_PROTECTED_BITMAP", - 40971: "SL_NHLFE_INVALID_REMOTE_ADDR_COUNT", - 40972: "SL_NHLFE_REMOTE_ADDR_INVALID_SZ", - 40973: "SL_NHLFE_PRIMARY_TOOMANY_LABELS", - 40974: "SL_NHLFE_PRIMARY_TOOMANY_REMOTE_ADDR", - 40975: "SL_NHLFE_BACKUP_ID_REPEATED", - 40976: "SL_NHLFE_PRIMARY_ID_REPEATED", - 40977: "SL_NHLFE_BACKUP_PROTECTED_BITMAP_EMPTY", - 40978: "SL_NHLFE_PRIMARY_TOOMANY_BACKUP_PATHS", - 40979: "SL_NHLFE_REMOTE_ADDR_INVALID", - 40980: "SL_NHLFE_BACKUP_MISSING_PRIMARY_PATH", - 40981: "SL_NHLFE_NEXT_HOP_MISSING", - 40982: "SL_NHLFE_LABEL_ACTION_INVALID", - 40983: "SL_NHLFE_NH_INTF_NOT_FOUND", - 40984: "SL_NHLFE_OPER_FAILED", - 40985: "SL_NHLFE_LABEL_ACTION_MISSING", - 45056: "SL_LABEL_BLK_ERR_OFFSET", - 45057: "SL_LABEL_BLK_LSD_ADD_FAILED", - 45058: "SL_LABEL_BLK_LSD_DELETE_FAILED", - 45059: "SL_LABEL_BLK_LSD_LABEL_BLK_NOT_FOUND", - 45060: "SL_LABEL_BLK_LSD_LABEL_BLK_IN_USE", - 45061: "SL_LABEL_BLK_LSD_INVALID_ATTRIB", - 45062: "SL_LABEL_BLK_INVALID_BLOCK_SIZE", - 45063: "SL_LABEL_BLK_INVALID_START_LABEL", - 45064: "SL_LABEL_BLK_EEXIST", - 45065: "SL_LABEL_BLK_DB_NOMEM", - 49152: "SL_MPLS_REG_ERR_OFFSET", - 49153: "SL_MPLS_REG_ERR", - 49154: "SL_MPLS_UNREG_ERR", - 49155: "SL_MPLS_EOF_ERR", - 53248: "SL_RPC_INTF_START_OFFSET", - 53249: "SL_RPC_INTF_TOO_MANY_INTERFACES", - 53250: "SL_RPC_INTF_SERVER_NOT_INITIALIZED", - 53251: "SL_RPC_INTF_API_CLIENT_NOT_REGISTERED", - 57344: "SL_INTF_START_OFFSET", - 57345: "SL_INTF_INTERFACE_NAME_MISSING", - 57346: "SL_INTF_INTERFACE_NAME_TOOLONG", - 57347: "SL_INTF_INTERFACE_REG_ERR", - 57348: "SL_INTF_INTERNAL_DB_ERROR", - 57349: "SL_INTF_RECOVERY_ERROR", - 57350: "SL_INTF_INTERFACE_EXISTS", - 57351: "SL_INTF_INTERFACE_NOT_FOUND", - 1048576: "SL_INTERNAL_START_OFFSET", - } - SLErrorStatus_SLErrno_value = map[string]int32{ - "SL_SUCCESS": 0, - "SL_NOT_CONNECTED": 1, - "SL_EAGAIN": 2, - "SL_ENOMEM": 3, - "SL_EBUSY": 4, - "SL_EINVAL": 5, - "SL_UNSUPPORTED_VER": 6, - "SL_NOT_AVAILABLE": 7, - "SL_STREAM_NOT_SUPPORTED": 8, - "SL_ENOTSUP": 9, - "SL_SOME_ERR": 10, - "SL_TIMEOUT": 11, - "SL_NOTIF_TERM": 12, - "SL_INIT_START_OFFSET": 1280, - "SL_INIT_STATE_CLEAR": 1281, - "SL_INIT_STATE_READY": 1282, - "SL_INIT_UNSUPPORTED_VER": 1283, - "SL_INIT_SERVER_NOT_INITIALIZED": 1284, - "SL_INIT_SERVER_MODE_CHANGE_FAILED": 1285, - "SL_RPC_VRF_START_OFFSET": 4096, - "SL_RPC_VRF_TOO_MANY_VRF_REG_MSGS": 4097, - "SL_RPC_VRF_SERVER_NOT_INITIALIZED": 4098, - "SL_VRF_START_OFFSET": 8192, - "SL_VRF_NAME_TOOLONG": 8193, - "SL_VRF_NOT_FOUND": 8194, - "SL_VRF_NO_TABLE_ID": 8195, - "SL_VRF_REG_INVALID_ADMIN_DISTANCE": 8196, - "SL_VRF_TABLE_ADD_ERR": 8197, - "SL_VRF_TABLE_REGISTRATION_ERR": 8198, - "SL_VRF_TABLE_UNREGISTRATION_ERR": 8199, - "SL_VRF_TABLE_EOF_ERR": 8200, - "SL_VRF_REG_VRF_NAME_MISSING": 8201, - "SL_RPC_ROUTE_START_OFFSET": 12288, - "SL_RPC_ROUTE_TOO_MANY_ROUTES": 12289, - "SL_RPC_ROUTE_VRF_NAME_TOOLONG": 12290, - "SL_RPC_ROUTE_VRF_NOT_FOUND": 12291, - "SL_RPC_ROUTE_VRF_NO_TABLE": 12292, - "SL_RPC_ROUTE_VRF_TABLE_NOT_REGISTERED": 12293, - "SL_RPC_ROUTE_VRF_NAME_MISSING": 12294, - "SL_RPC_ROUTE_INIT_MODE_INCOMPATIBLE": 12295, - "SL_RPC_ROUTE_SERVER_NOT_INITIALIZED": 12296, - "SL_ROUTE_START_OFFSET": 16384, - "SL_ROUTE_ADD_NO_PATHS": 16385, - "SL_ROUTE_UPDATE_NO_PATHS": 16386, - "SL_ROUTE_INVALID_PREFIX_LEN": 16387, - "SL_ROUTE_INVALID_ADMIN_DISTANCE": 16388, - "SL_ROUTE_INVALID_NUM_PATHS": 16389, - "SL_ROUTE_INVALID_PREFIX_SZ": 16390, - "SL_ROUTE_INVALID_PREFIX": 16391, - "SL_ROUTE_ERR_RIB_TABLE_LIMIT_REACHED": 16392, - "SL_ROUTE_ERR_RIB_INVALID_ARGS": 16393, - "SL_ROUTE_ERR_RIB_PATH_TABLE_LIMIT": 16394, - "SL_ROUTE_ERR_RIB_TOOMANYPATHS": 16395, - "SL_ROUTE_EEXIST": 16396, - "SL_ROUTE_HOST_BITS_SET": 16397, - "SL_ROUTE_INVALID_PREFIX_MCAST": 16398, - "SL_ROUTE_PATH_AFI_MISMATCH": 16399, - "SL_ROUTE_TOOMANY_PRIMARY_PATHS": 16400, - "SL_ROUTE_TOOMANY_BACKUP_PATHS": 16401, - "SL_ROUTE_DB_NOMEM": 16402, - "SL_ROUTE_INVALID_LOCAL_LABEL": 16403, - "SL_PATH_START_OFFSET": 20480, - "SL_PATH_NH_NO_TABLE": 20481, - "SL_PATH_NH_INTF_NOT_FOUND": 20482, - "SL_PATH_INVALID_LABEL_COUNT": 20483, - "SL_PATH_INVALID_ID": 20484, - "SL_PATH_VRF_NAME_TOOLONG": 20485, - "SL_PATH_NH_INTF_NAME_TOOLONG": 20486, - "SL_PATH_NH_INVALID_ADDR_SZ": 20487, - "SL_PATH_NH_INF_NAME_MISSING": 20488, - "SL_PATH_INVALID_NEXT_HOP_ADDR": 20489, - "SL_PATH_INVALID_REMOTE_ADDR_COUNT": 20490, - "SL_PATH_REMOTE_ADDR_INVALID_SZ": 20491, - "SL_PATH_REMOTE_ADDR_AFI_MISMATCH": 20492, - "SL_PATH_INVALID_PROTECTED_BITMAP": 20493, - "SL_PATH_BACKUP_MISSING_PRIMARY_PATH": 20494, - "SL_PATH_PRIMARY_ID_REPEATED": 20495, - "SL_PATH_BACKUP_ID_REPEATED": 20496, - "SL_PATH_PRIMARY_TOOMANY_BACKUP_PATHS": 20497, - "SL_PATH_PRIMARY_TOOMANY_LABELS": 20498, - "SL_PATH_PRIMARY_TOOMANY_REMOTE_ADDR": 20499, - "SL_PATH_REMOTE_ADDR_INVALID": 20500, - "SL_PATH_INVALID_LABEL": 20501, - "SL_RPC_BFD_START_OFFSET": 24576, - "SL_RPC_BFD_TOO_MANY_BFD_SESSIONS": 24577, - "SL_RPC_BFD_API_BAD_PARAMETER": 24578, - "SL_RPC_BFD_API_CLIENT_NOT_REGISTERED": 24579, - "SL_RPC_BFD_API_INTERNAL_ERROR": 24580, - "SL_RPC_BFD_SERVER_NOT_INITIALIZED": 24581, - "SL_RPC_BFD_V4_NOT_REGISTERED": 24582, - "SL_RPC_BFD_V6_NOT_REGISTERED": 24583, - "SL_BFD_START_OFFSET": 28672, - "SL_BFD_INTF_NAME_TOOLONG": 28673, - "SL_BFD_INTF_NOT_FOUND": 28674, - "SL_BFD_INVALID_ATTRIBUTE": 28675, - "SL_BFD_INTF_NAME_MISSING": 28676, - "SL_BFD_INVALID_NBR_MCAST": 28677, - "SL_BFD_INVALID_NBR": 28678, - "SL_BFD_VRF_NAME_TOOLONG": 28679, - "SL_BFD_BAD_PARAMETER": 28680, - "SL_BFD_API_INTERNAL_ERROR": 28681, - "SL_BFD_VRF_NOT_FOUND": 28682, - "SL_BFD_INVALID_PREFIX_SIZE": 28683, - "SL_BFD_INVALID_SESSION_TYPE": 28684, - "SL_BFD_INVALID_VRF": 28685, - "SL_BFD_SESSION_NOT_FOUND": 28686, - "SL_BFD_SESSION_EXISTS": 28687, - "SL_BFD_INTERNAL_DB_ERROR": 28688, - "SL_BFD_RECOVERY_ERROR": 28689, - "SL_RPC_MPLS_START_OFFSET": 32768, - "SL_RPC_MPLS_ILM_TOO_MANY_ILMS": 32769, - "SL_RPC_MPLS_SERVER_NOT_INITIALIZED": 32770, - "SL_RPC_MPLS_INIT_MODE_INCOMPATIBLE": 32771, - "SL_RPC_MPLS_LABEL_BLK_TOO_MANY_LABEL_BLKS": 32772, - "SL_RPC_MPLS_NOT_REGISTERED": 32773, - "SL_ILM_ERR_OFFSET": 36864, - "SL_ILM_ADD_FAILED": 36865, - "SL_ILM_LSD_ADD_FAILED": 36866, - "SL_ILM_INVALID_NUM_NHLFE": 36867, - "SL_ILM_INVALID_LABEL": 36868, - "SL_ILM_DELETE_FAILED": 36869, - "SL_ILM_LSD_DELETE_FAILED": 36870, - "SL_ILM_TOOMANY_PRIMARY_NHLFES": 36871, - "SL_ILM_TOOMANY_BACKUP_NHLFES": 36872, - "SL_ILM_LSD_ADD_LABEL_ALLOC_FAILED": 36873, - "SL_ILM_LSD_NHLFE_INVALID_ATTRIB": 36874, - "SL_ILM_EEXIST": 36875, - "SL_ILM_DB_NOMEM": 36876, - "SL_NHLFE_ERR_OFFSET": 40960, - "SL_NHLFE_NH_NO_TABLE": 40961, - "SL_NHLFE_NH_INVALID_ADDR_SZ": 40962, - "SL_NHLFE_INVALID_NEXT_HOP_ADDR": 40963, - "SL_NHLFE_VRF_NAME_TOOLONG": 40964, - "SL_NHLFE_NH_INF_NAME_MISSING": 40965, - "SL_NHLFE_NH_INTF_NAME_TOOLONG": 40966, - "SL_NHLFE_INVALID_LABEL_COUNT": 40967, - "SL_NHLFE_INVALID_PATH_ID": 40968, - "SL_NHLFE_INVALID_LABEL": 40969, - "SL_NHLFE_INVALID_PROTECTED_BITMAP": 40970, - "SL_NHLFE_INVALID_REMOTE_ADDR_COUNT": 40971, - "SL_NHLFE_REMOTE_ADDR_INVALID_SZ": 40972, - "SL_NHLFE_PRIMARY_TOOMANY_LABELS": 40973, - "SL_NHLFE_PRIMARY_TOOMANY_REMOTE_ADDR": 40974, - "SL_NHLFE_BACKUP_ID_REPEATED": 40975, - "SL_NHLFE_PRIMARY_ID_REPEATED": 40976, - "SL_NHLFE_BACKUP_PROTECTED_BITMAP_EMPTY": 40977, - "SL_NHLFE_PRIMARY_TOOMANY_BACKUP_PATHS": 40978, - "SL_NHLFE_REMOTE_ADDR_INVALID": 40979, - "SL_NHLFE_BACKUP_MISSING_PRIMARY_PATH": 40980, - "SL_NHLFE_NEXT_HOP_MISSING": 40981, - "SL_NHLFE_LABEL_ACTION_INVALID": 40982, - "SL_NHLFE_NH_INTF_NOT_FOUND": 40983, - "SL_NHLFE_OPER_FAILED": 40984, - "SL_NHLFE_LABEL_ACTION_MISSING": 40985, - "SL_LABEL_BLK_ERR_OFFSET": 45056, - "SL_LABEL_BLK_LSD_ADD_FAILED": 45057, - "SL_LABEL_BLK_LSD_DELETE_FAILED": 45058, - "SL_LABEL_BLK_LSD_LABEL_BLK_NOT_FOUND": 45059, - "SL_LABEL_BLK_LSD_LABEL_BLK_IN_USE": 45060, - "SL_LABEL_BLK_LSD_INVALID_ATTRIB": 45061, - "SL_LABEL_BLK_INVALID_BLOCK_SIZE": 45062, - "SL_LABEL_BLK_INVALID_START_LABEL": 45063, - "SL_LABEL_BLK_EEXIST": 45064, - "SL_LABEL_BLK_DB_NOMEM": 45065, - "SL_MPLS_REG_ERR_OFFSET": 49152, - "SL_MPLS_REG_ERR": 49153, - "SL_MPLS_UNREG_ERR": 49154, - "SL_MPLS_EOF_ERR": 49155, - "SL_RPC_INTF_START_OFFSET": 53248, - "SL_RPC_INTF_TOO_MANY_INTERFACES": 53249, - "SL_RPC_INTF_SERVER_NOT_INITIALIZED": 53250, - "SL_RPC_INTF_API_CLIENT_NOT_REGISTERED": 53251, - "SL_INTF_START_OFFSET": 57344, - "SL_INTF_INTERFACE_NAME_MISSING": 57345, - "SL_INTF_INTERFACE_NAME_TOOLONG": 57346, - "SL_INTF_INTERFACE_REG_ERR": 57347, - "SL_INTF_INTERNAL_DB_ERROR": 57348, - "SL_INTF_RECOVERY_ERROR": 57349, - "SL_INTF_INTERFACE_EXISTS": 57350, - "SL_INTF_INTERFACE_NOT_FOUND": 57351, - "SL_INTERNAL_START_OFFSET": 1048576, - } -) - -func (x SLErrorStatus_SLErrno) Enum() *SLErrorStatus_SLErrno { - p := new(SLErrorStatus_SLErrno) - *p = x - return p -} - -func (x SLErrorStatus_SLErrno) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (SLErrorStatus_SLErrno) Descriptor() protoreflect.EnumDescriptor { - return file_sl_common_types_proto_enumTypes[3].Descriptor() -} - -func (SLErrorStatus_SLErrno) Type() protoreflect.EnumType { - return &file_sl_common_types_proto_enumTypes[3] -} - -func (x SLErrorStatus_SLErrno) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use SLErrorStatus_SLErrno.Descriptor instead. -func (SLErrorStatus_SLErrno) EnumDescriptor() ([]byte, []int) { - return file_sl_common_types_proto_rawDescGZIP(), []int{0, 0} -} - -// Status codes, including errors and success codes. -// All service layer errors are defined below. -type SLErrorStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Status SLErrorStatus_SLErrno `protobuf:"varint,1,opt,name=Status,proto3,enum=SLErrorStatus_SLErrno" json:"Status,omitempty"` -} - -func (x *SLErrorStatus) Reset() { - *x = SLErrorStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_common_types_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLErrorStatus) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLErrorStatus) ProtoMessage() {} - -func (x *SLErrorStatus) ProtoReflect() protoreflect.Message { - mi := &file_sl_common_types_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SLErrorStatus.ProtoReflect.Descriptor instead. -func (*SLErrorStatus) Descriptor() ([]byte, []int) { - return file_sl_common_types_proto_rawDescGZIP(), []int{0} -} - -func (x *SLErrorStatus) GetStatus() SLErrorStatus_SLErrno { - if x != nil { - return x.Status - } - return SLErrorStatus_SL_SUCCESS -} - -// Interface info. -type SLInterface struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // One of Interface name or handle - // - // Types that are assignable to Interface: - // *SLInterface_Name - // *SLInterface_Handle - Interface isSLInterface_Interface `protobuf_oneof:"Interface"` -} - -func (x *SLInterface) Reset() { - *x = SLInterface{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_common_types_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLInterface) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLInterface) ProtoMessage() {} - -func (x *SLInterface) ProtoReflect() protoreflect.Message { - mi := &file_sl_common_types_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SLInterface.ProtoReflect.Descriptor instead. -func (*SLInterface) Descriptor() ([]byte, []int) { - return file_sl_common_types_proto_rawDescGZIP(), []int{1} -} - -func (m *SLInterface) GetInterface() isSLInterface_Interface { - if m != nil { - return m.Interface - } - return nil -} - -func (x *SLInterface) GetName() string { - if x, ok := x.GetInterface().(*SLInterface_Name); ok { - return x.Name - } - return "" -} - -func (x *SLInterface) GetHandle() uint32 { - if x, ok := x.GetInterface().(*SLInterface_Handle); ok { - return x.Handle - } - return 0 -} - -type isSLInterface_Interface interface { - isSLInterface_Interface() -} - -type SLInterface_Name struct { - // Interface name. - Name string `protobuf:"bytes,1,opt,name=Name,proto3,oneof"` -} - -type SLInterface_Handle struct { - // Interface handle. Can be retrieved from Interface API. - Handle uint32 `protobuf:"varint,2,opt,name=Handle,proto3,oneof"` -} - -func (*SLInterface_Name) isSLInterface_Interface() {} - -func (*SLInterface_Handle) isSLInterface_Interface() {} - -// One of IPv4 or IPv6 addresses. -type SLIpAddress struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // One of IPv4 or IPv6 address - // - // Types that are assignable to Address: - // *SLIpAddress_V4Address - // *SLIpAddress_V6Address - Address isSLIpAddress_Address `protobuf_oneof:"Address"` -} - -func (x *SLIpAddress) Reset() { - *x = SLIpAddress{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_common_types_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLIpAddress) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLIpAddress) ProtoMessage() {} - -func (x *SLIpAddress) ProtoReflect() protoreflect.Message { - mi := &file_sl_common_types_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SLIpAddress.ProtoReflect.Descriptor instead. -func (*SLIpAddress) Descriptor() ([]byte, []int) { - return file_sl_common_types_proto_rawDescGZIP(), []int{2} -} - -func (m *SLIpAddress) GetAddress() isSLIpAddress_Address { - if m != nil { - return m.Address - } - return nil -} - -func (x *SLIpAddress) GetV4Address() uint32 { - if x, ok := x.GetAddress().(*SLIpAddress_V4Address); ok { - return x.V4Address - } - return 0 -} - -func (x *SLIpAddress) GetV6Address() []byte { - if x, ok := x.GetAddress().(*SLIpAddress_V6Address); ok { - return x.V6Address - } - return nil -} - -type isSLIpAddress_Address interface { - isSLIpAddress_Address() -} - -type SLIpAddress_V4Address struct { - V4Address uint32 `protobuf:"varint,1,opt,name=V4Address,proto3,oneof"` -} - -type SLIpAddress_V6Address struct { - V6Address []byte `protobuf:"bytes,2,opt,name=V6Address,proto3,oneof"` -} - -func (*SLIpAddress_V4Address) isSLIpAddress_Address() {} - -func (*SLIpAddress_V6Address) isSLIpAddress_Address() {} - -var File_sl_common_types_proto protoreflect.FileDescriptor - -var file_sl_common_types_proto_rawDesc = []byte{ - 0x0a, 0x15, 0x73, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x2f, 0x0a, 0x0d, 0x53, 0x4c, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2e, 0x0a, 0x06, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x53, 0x4c, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6e, - 0x6f, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xe8, 0x2e, 0x0a, 0x07, 0x53, 0x4c, - 0x45, 0x72, 0x72, 0x6e, 0x6f, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x4c, 0x5f, 0x53, 0x55, 0x43, 0x43, - 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, - 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, - 0x4c, 0x5f, 0x45, 0x41, 0x47, 0x41, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x4c, - 0x5f, 0x45, 0x4e, 0x4f, 0x4d, 0x45, 0x4d, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x4c, 0x5f, - 0x45, 0x42, 0x55, 0x53, 0x59, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x4c, 0x5f, 0x45, 0x49, - 0x4e, 0x56, 0x41, 0x4c, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x4c, 0x5f, 0x55, 0x4e, 0x53, - 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x56, 0x45, 0x52, 0x10, 0x06, 0x12, 0x14, - 0x0a, 0x10, 0x53, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, - 0x4c, 0x45, 0x10, 0x07, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x41, - 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, - 0x08, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x4c, 0x5f, 0x45, 0x4e, 0x4f, 0x54, 0x53, 0x55, 0x50, 0x10, - 0x09, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x4c, 0x5f, 0x53, 0x4f, 0x4d, 0x45, 0x5f, 0x45, 0x52, 0x52, - 0x10, 0x0a, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x4c, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, - 0x10, 0x0b, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x5f, 0x54, - 0x45, 0x52, 0x4d, 0x10, 0x0c, 0x12, 0x19, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x49, 0x54, - 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0x0a, - 0x12, 0x18, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x45, 0x5f, 0x43, 0x4c, 0x45, 0x41, 0x52, 0x10, 0x81, 0x0a, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x4c, - 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x44, - 0x59, 0x10, 0x82, 0x0a, 0x12, 0x1c, 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, - 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x56, 0x45, 0x52, 0x10, - 0x83, 0x0a, 0x12, 0x23, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x53, 0x45, - 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, - 0x49, 0x5a, 0x45, 0x44, 0x10, 0x84, 0x0a, 0x12, 0x26, 0x0a, 0x21, 0x53, 0x4c, 0x5f, 0x49, 0x4e, - 0x49, 0x54, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, - 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x85, 0x0a, 0x12, - 0x1c, 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x53, 0x54, - 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0x20, 0x12, 0x25, 0x0a, - 0x20, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, - 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x52, 0x45, 0x47, 0x5f, 0x4d, 0x53, 0x47, - 0x53, 0x10, 0x81, 0x20, 0x12, 0x26, 0x0a, 0x21, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x56, - 0x52, 0x46, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, - 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x82, 0x20, 0x12, 0x18, 0x0a, 0x13, - 0x53, 0x4c, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, - 0x53, 0x45, 0x54, 0x10, 0x80, 0x40, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x56, 0x52, 0x46, - 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x81, 0x40, - 0x12, 0x15, 0x0a, 0x10, 0x53, 0x4c, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, - 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x82, 0x40, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x4c, 0x5f, 0x56, 0x52, - 0x46, 0x5f, 0x4e, 0x4f, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x49, 0x44, 0x10, 0x83, 0x40, - 0x12, 0x26, 0x0a, 0x21, 0x53, 0x4c, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x52, 0x45, 0x47, 0x5f, 0x49, - 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x44, 0x49, 0x53, - 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x84, 0x40, 0x12, 0x19, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x56, - 0x52, 0x46, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x45, 0x52, 0x52, - 0x10, 0x85, 0x40, 0x12, 0x22, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x54, 0x41, - 0x42, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x45, 0x52, 0x52, 0x10, 0x86, 0x40, 0x12, 0x24, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x56, 0x52, - 0x46, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x55, 0x4e, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, - 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x87, 0x40, 0x12, 0x19, 0x0a, - 0x14, 0x53, 0x4c, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x45, 0x4f, - 0x46, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x88, 0x40, 0x12, 0x20, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x56, - 0x52, 0x46, 0x5f, 0x52, 0x45, 0x47, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, - 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x89, 0x40, 0x12, 0x1e, 0x0a, 0x19, 0x53, 0x4c, - 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, - 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0x60, 0x12, 0x21, 0x0a, 0x1c, 0x53, 0x4c, - 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, - 0x41, 0x4e, 0x59, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x53, 0x10, 0x81, 0x60, 0x12, 0x22, 0x0a, - 0x1d, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x56, 0x52, - 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x82, - 0x60, 0x12, 0x1f, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x52, 0x4f, 0x55, 0x54, - 0x45, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, - 0x83, 0x60, 0x12, 0x1e, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x52, 0x4f, 0x55, - 0x54, 0x45, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x4f, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, - 0x84, 0x60, 0x12, 0x2a, 0x0a, 0x25, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x52, 0x4f, 0x55, - 0x54, 0x45, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4e, 0x4f, 0x54, - 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x45, 0x44, 0x10, 0x85, 0x60, 0x12, 0x22, - 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x56, - 0x52, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, - 0x86, 0x60, 0x12, 0x28, 0x0a, 0x23, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x52, 0x4f, 0x55, - 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x43, - 0x4f, 0x4d, 0x50, 0x41, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x87, 0x60, 0x12, 0x28, 0x0a, 0x23, - 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x52, - 0x56, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, - 0x5a, 0x45, 0x44, 0x10, 0x88, 0x60, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, - 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, - 0x80, 0x80, 0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, - 0x41, 0x44, 0x44, 0x5f, 0x4e, 0x4f, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x53, 0x10, 0x81, 0x80, 0x01, - 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x55, 0x50, 0x44, - 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x53, 0x10, 0x82, 0x80, 0x01, - 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x56, - 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x4c, 0x45, 0x4e, 0x10, - 0x83, 0x80, 0x01, 0x12, 0x25, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, - 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x44, 0x49, - 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x84, 0x80, 0x01, 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, - 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4e, - 0x55, 0x4d, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x53, 0x10, 0x85, 0x80, 0x01, 0x12, 0x20, 0x0a, 0x1a, - 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, - 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x53, 0x5a, 0x10, 0x86, 0x80, 0x01, 0x12, 0x1d, - 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, - 0x49, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x10, 0x87, 0x80, 0x01, 0x12, 0x2a, 0x0a, - 0x24, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x5f, 0x52, 0x49, - 0x42, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x52, 0x45, - 0x41, 0x43, 0x48, 0x45, 0x44, 0x10, 0x88, 0x80, 0x01, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, - 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x5f, 0x52, 0x49, 0x42, 0x5f, 0x49, 0x4e, - 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x52, 0x47, 0x53, 0x10, 0x89, 0x80, 0x01, 0x12, 0x27, - 0x0a, 0x21, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x5f, 0x52, - 0x49, 0x42, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, - 0x4d, 0x49, 0x54, 0x10, 0x8a, 0x80, 0x01, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x52, 0x4f, - 0x55, 0x54, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x5f, 0x52, 0x49, 0x42, 0x5f, 0x54, 0x4f, 0x4f, 0x4d, - 0x41, 0x4e, 0x59, 0x50, 0x41, 0x54, 0x48, 0x53, 0x10, 0x8b, 0x80, 0x01, 0x12, 0x15, 0x0a, 0x0f, - 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x45, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, - 0x8c, 0x80, 0x01, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, - 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x42, 0x49, 0x54, 0x53, 0x5f, 0x53, 0x45, 0x54, 0x10, 0x8d, 0x80, - 0x01, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x49, 0x4e, - 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x4d, 0x43, 0x41, - 0x53, 0x54, 0x10, 0x8e, 0x80, 0x01, 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, - 0x54, 0x45, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x41, 0x46, 0x49, 0x5f, 0x4d, 0x49, 0x53, 0x4d, - 0x41, 0x54, 0x43, 0x48, 0x10, 0x8f, 0x80, 0x01, 0x12, 0x24, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x52, - 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x50, 0x52, 0x49, - 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x53, 0x10, 0x90, 0x80, 0x01, 0x12, 0x23, - 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4d, 0x41, - 0x4e, 0x59, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x53, 0x10, - 0x91, 0x80, 0x01, 0x12, 0x17, 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, - 0x44, 0x42, 0x5f, 0x4e, 0x4f, 0x4d, 0x45, 0x4d, 0x10, 0x92, 0x80, 0x01, 0x12, 0x22, 0x0a, 0x1c, - 0x53, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, - 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x10, 0x93, 0x80, 0x01, - 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x52, - 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0xa0, 0x01, 0x12, 0x19, 0x0a, 0x13, - 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x4e, 0x48, 0x5f, 0x4e, 0x4f, 0x5f, 0x54, 0x41, - 0x42, 0x4c, 0x45, 0x10, 0x81, 0xa0, 0x01, 0x12, 0x1f, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x50, 0x41, - 0x54, 0x48, 0x5f, 0x4e, 0x48, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, - 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x82, 0xa0, 0x01, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x50, - 0x41, 0x54, 0x48, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4c, 0x41, 0x42, 0x45, - 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x83, 0xa0, 0x01, 0x12, 0x18, 0x0a, 0x12, 0x53, - 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x49, - 0x44, 0x10, 0x84, 0xa0, 0x01, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, - 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x4f, 0x4e, - 0x47, 0x10, 0x85, 0xa0, 0x01, 0x12, 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, - 0x5f, 0x4e, 0x48, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, - 0x4f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x86, 0xa0, 0x01, 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, - 0x50, 0x41, 0x54, 0x48, 0x5f, 0x4e, 0x48, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, - 0x41, 0x44, 0x44, 0x52, 0x5f, 0x53, 0x5a, 0x10, 0x87, 0xa0, 0x01, 0x12, 0x21, 0x0a, 0x1b, 0x53, - 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x4e, 0x48, 0x5f, 0x49, 0x4e, 0x46, 0x5f, 0x4e, 0x41, - 0x4d, 0x45, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x88, 0xa0, 0x01, 0x12, 0x23, - 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, - 0x44, 0x5f, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x10, - 0x89, 0xa0, 0x01, 0x12, 0x27, 0x0a, 0x21, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x49, - 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, - 0x44, 0x52, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x8a, 0xa0, 0x01, 0x12, 0x24, 0x0a, 0x1e, - 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, - 0x44, 0x44, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x53, 0x5a, 0x10, 0x8b, - 0xa0, 0x01, 0x12, 0x26, 0x0a, 0x20, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x52, 0x45, - 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x41, 0x46, 0x49, 0x5f, 0x4d, 0x49, - 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x8c, 0xa0, 0x01, 0x12, 0x26, 0x0a, 0x20, 0x53, 0x4c, - 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x52, - 0x4f, 0x54, 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x42, 0x49, 0x54, 0x4d, 0x41, 0x50, 0x10, 0x8d, - 0xa0, 0x01, 0x12, 0x29, 0x0a, 0x23, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x42, 0x41, - 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x52, 0x49, - 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x10, 0x8e, 0xa0, 0x01, 0x12, 0x21, 0x0a, - 0x1b, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, - 0x5f, 0x49, 0x44, 0x5f, 0x52, 0x45, 0x50, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x8f, 0xa0, 0x01, - 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x42, 0x41, 0x43, 0x4b, - 0x55, 0x50, 0x5f, 0x49, 0x44, 0x5f, 0x52, 0x45, 0x50, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x90, - 0xa0, 0x01, 0x12, 0x2a, 0x0a, 0x24, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x50, 0x52, - 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x54, 0x4f, 0x4f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x42, 0x41, - 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x53, 0x10, 0x91, 0xa0, 0x01, 0x12, 0x24, - 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, - 0x59, 0x5f, 0x54, 0x4f, 0x4f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53, - 0x10, 0x92, 0xa0, 0x01, 0x12, 0x29, 0x0a, 0x23, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, - 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x54, 0x4f, 0x4f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, - 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x10, 0x93, 0xa0, 0x01, 0x12, - 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, - 0x45, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x94, - 0xa0, 0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x4c, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x49, 0x4e, - 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x10, 0x95, 0xa0, 0x01, 0x12, - 0x1d, 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x53, 0x54, - 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0xc0, 0x01, 0x12, 0x26, - 0x0a, 0x20, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x54, 0x4f, 0x4f, - 0x5f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, - 0x4e, 0x53, 0x10, 0x81, 0xc0, 0x01, 0x12, 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, - 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x42, 0x41, 0x44, 0x5f, 0x50, 0x41, 0x52, - 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x10, 0x82, 0xc0, 0x01, 0x12, 0x2a, 0x0a, 0x24, 0x53, 0x4c, - 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x4c, 0x49, - 0x45, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, - 0x45, 0x44, 0x10, 0x83, 0xc0, 0x01, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, - 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, - 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x84, 0xc0, 0x01, 0x12, 0x27, 0x0a, 0x21, 0x53, - 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, - 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, - 0x10, 0x85, 0xc0, 0x01, 0x12, 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x42, - 0x46, 0x44, 0x5f, 0x56, 0x34, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, - 0x45, 0x52, 0x45, 0x44, 0x10, 0x86, 0xc0, 0x01, 0x12, 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x52, - 0x50, 0x43, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x56, 0x36, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, - 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x45, 0x44, 0x10, 0x87, 0xc0, 0x01, 0x12, 0x19, 0x0a, 0x13, - 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, - 0x53, 0x45, 0x54, 0x10, 0x80, 0xe0, 0x01, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x42, 0x46, - 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, - 0x4f, 0x4e, 0x47, 0x10, 0x81, 0xe0, 0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x4c, 0x5f, 0x42, 0x46, - 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, - 0x10, 0x82, 0xe0, 0x01, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x49, - 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, - 0x10, 0x83, 0xe0, 0x01, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x49, - 0x4e, 0x54, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, - 0x10, 0x84, 0xe0, 0x01, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x49, - 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4e, 0x42, 0x52, 0x5f, 0x4d, 0x43, 0x41, 0x53, 0x54, - 0x10, 0x85, 0xe0, 0x01, 0x12, 0x18, 0x0a, 0x12, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x49, - 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4e, 0x42, 0x52, 0x10, 0x86, 0xe0, 0x01, 0x12, 0x1d, - 0x0a, 0x17, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x41, 0x4d, - 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x87, 0xe0, 0x01, 0x12, 0x1a, 0x0a, - 0x14, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x42, 0x41, 0x44, 0x5f, 0x50, 0x41, 0x52, 0x41, - 0x4d, 0x45, 0x54, 0x45, 0x52, 0x10, 0x88, 0xe0, 0x01, 0x12, 0x1f, 0x0a, 0x19, 0x53, 0x4c, 0x5f, - 0x42, 0x46, 0x44, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, - 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x89, 0xe0, 0x01, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x4c, - 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, - 0x4e, 0x44, 0x10, 0x8a, 0xe0, 0x01, 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, - 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, - 0x53, 0x49, 0x5a, 0x45, 0x10, 0x8b, 0xe0, 0x01, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x42, - 0x46, 0x44, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, - 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x8c, 0xe0, 0x01, 0x12, 0x18, 0x0a, 0x12, 0x53, - 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x56, 0x52, - 0x46, 0x10, 0x8d, 0xe0, 0x01, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, - 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, - 0x44, 0x10, 0x8e, 0xe0, 0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, - 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0x8f, - 0xe0, 0x01, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x49, 0x4e, 0x54, - 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x44, 0x42, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x90, - 0xe0, 0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x4c, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x52, 0x45, 0x43, - 0x4f, 0x56, 0x45, 0x52, 0x59, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x91, 0xe0, 0x01, 0x12, - 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x53, - 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0x80, 0x02, 0x12, - 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x49, - 0x4c, 0x4d, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x49, 0x4c, 0x4d, 0x53, - 0x10, 0x81, 0x80, 0x02, 0x12, 0x28, 0x0a, 0x22, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, - 0x50, 0x4c, 0x53, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, - 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x82, 0x80, 0x02, 0x12, 0x28, - 0x0a, 0x22, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x49, 0x4e, - 0x49, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x54, - 0x49, 0x42, 0x4c, 0x45, 0x10, 0x83, 0x80, 0x02, 0x12, 0x2f, 0x0a, 0x29, 0x53, 0x4c, 0x5f, 0x52, - 0x50, 0x43, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, - 0x4b, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, - 0x5f, 0x42, 0x4c, 0x4b, 0x53, 0x10, 0x84, 0x80, 0x02, 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, - 0x52, 0x50, 0x43, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x47, - 0x49, 0x53, 0x54, 0x45, 0x52, 0x45, 0x44, 0x10, 0x85, 0x80, 0x02, 0x12, 0x17, 0x0a, 0x11, 0x53, - 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x45, 0x52, 0x52, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, - 0x10, 0x80, 0xa0, 0x02, 0x12, 0x17, 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x41, - 0x44, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x81, 0xa0, 0x02, 0x12, 0x1b, 0x0a, - 0x15, 0x53, 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x4c, 0x53, 0x44, 0x5f, 0x41, 0x44, 0x44, 0x5f, - 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x82, 0xa0, 0x02, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, - 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4e, 0x55, 0x4d, - 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x10, 0x83, 0xa0, 0x02, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x4c, - 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4c, 0x41, 0x42, - 0x45, 0x4c, 0x10, 0x84, 0xa0, 0x02, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x49, 0x4c, 0x4d, - 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x85, - 0xa0, 0x02, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x4c, 0x53, 0x44, - 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x86, - 0xa0, 0x02, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x54, 0x4f, 0x4f, - 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x4e, 0x48, 0x4c, - 0x46, 0x45, 0x53, 0x10, 0x87, 0xa0, 0x02, 0x12, 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x49, 0x4c, - 0x4d, 0x5f, 0x54, 0x4f, 0x4f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, - 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x53, 0x10, 0x88, 0xa0, 0x02, 0x12, 0x27, 0x0a, 0x21, 0x53, - 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x4c, 0x53, 0x44, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x4c, 0x41, - 0x42, 0x45, 0x4c, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x43, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, - 0x10, 0x89, 0xa0, 0x02, 0x12, 0x25, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x4c, - 0x53, 0x44, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x10, 0x8a, 0xa0, 0x02, 0x12, 0x13, 0x0a, 0x0d, 0x53, - 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x45, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0x8b, 0xa0, 0x02, - 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x4c, 0x5f, 0x49, 0x4c, 0x4d, 0x5f, 0x44, 0x42, 0x5f, 0x4e, 0x4f, - 0x4d, 0x45, 0x4d, 0x10, 0x8c, 0xa0, 0x02, 0x12, 0x19, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x4e, 0x48, - 0x4c, 0x46, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, - 0xc0, 0x02, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x4e, - 0x48, 0x5f, 0x4e, 0x4f, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x81, 0xc0, 0x02, 0x12, 0x21, - 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x4e, 0x48, 0x5f, 0x49, 0x4e, - 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x53, 0x5a, 0x10, 0x82, 0xc0, - 0x02, 0x12, 0x24, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x49, 0x4e, - 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, - 0x44, 0x44, 0x52, 0x10, 0x83, 0xc0, 0x02, 0x12, 0x1f, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x4e, 0x48, - 0x4c, 0x46, 0x45, 0x5f, 0x56, 0x52, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, - 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x84, 0xc0, 0x02, 0x12, 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x4e, - 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x4e, 0x48, 0x5f, 0x49, 0x4e, 0x46, 0x5f, 0x4e, 0x41, 0x4d, 0x45, - 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x85, 0xc0, 0x02, 0x12, 0x23, 0x0a, 0x1d, - 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x4e, 0x48, 0x5f, 0x49, 0x4e, 0x54, 0x46, - 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x86, 0xc0, - 0x02, 0x12, 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x49, 0x4e, - 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, - 0x54, 0x10, 0x87, 0xc0, 0x02, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, - 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x49, - 0x44, 0x10, 0x88, 0xc0, 0x02, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, - 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x10, - 0x89, 0xc0, 0x02, 0x12, 0x27, 0x0a, 0x21, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, - 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x45, 0x43, 0x54, 0x45, - 0x44, 0x5f, 0x42, 0x49, 0x54, 0x4d, 0x41, 0x50, 0x10, 0x8a, 0xc0, 0x02, 0x12, 0x28, 0x0a, 0x22, - 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, - 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x43, 0x4f, 0x55, - 0x4e, 0x54, 0x10, 0x8b, 0xc0, 0x02, 0x12, 0x25, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, - 0x46, 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x49, - 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x53, 0x5a, 0x10, 0x8c, 0xc0, 0x02, 0x12, 0x25, 0x0a, - 0x1f, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, - 0x59, 0x5f, 0x54, 0x4f, 0x4f, 0x4d, 0x41, 0x4e, 0x59, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53, - 0x10, 0x8d, 0xc0, 0x02, 0x12, 0x2a, 0x0a, 0x24, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, - 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x54, 0x4f, 0x4f, 0x4d, 0x41, 0x4e, 0x59, - 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x10, 0x8e, 0xc0, 0x02, - 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x42, 0x41, 0x43, - 0x4b, 0x55, 0x50, 0x5f, 0x49, 0x44, 0x5f, 0x52, 0x45, 0x50, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, - 0x8f, 0xc0, 0x02, 0x12, 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, - 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x49, 0x44, 0x5f, 0x52, 0x45, 0x50, 0x45, 0x41, - 0x54, 0x45, 0x44, 0x10, 0x90, 0xc0, 0x02, 0x12, 0x2c, 0x0a, 0x26, 0x53, 0x4c, 0x5f, 0x4e, 0x48, - 0x4c, 0x46, 0x45, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x45, - 0x43, 0x54, 0x45, 0x44, 0x5f, 0x42, 0x49, 0x54, 0x4d, 0x41, 0x50, 0x5f, 0x45, 0x4d, 0x50, 0x54, - 0x59, 0x10, 0x91, 0xc0, 0x02, 0x12, 0x2b, 0x0a, 0x25, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, - 0x45, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x54, 0x4f, 0x4f, 0x4d, 0x41, 0x4e, - 0x59, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x53, 0x10, 0x92, - 0xc0, 0x02, 0x12, 0x22, 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x52, - 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, - 0x49, 0x44, 0x10, 0x93, 0xc0, 0x02, 0x12, 0x2a, 0x0a, 0x24, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, - 0x46, 0x45, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, - 0x47, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x10, 0x94, - 0xc0, 0x02, 0x12, 0x1f, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x4e, - 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, - 0x95, 0xc0, 0x02, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, - 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x56, - 0x41, 0x4c, 0x49, 0x44, 0x10, 0x96, 0xc0, 0x02, 0x12, 0x20, 0x0a, 0x1a, 0x53, 0x4c, 0x5f, 0x4e, - 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x4e, 0x48, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x4e, 0x4f, 0x54, - 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x97, 0xc0, 0x02, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x4c, - 0x5f, 0x4e, 0x48, 0x4c, 0x46, 0x45, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, - 0x45, 0x44, 0x10, 0x98, 0xc0, 0x02, 0x12, 0x23, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x4e, 0x48, 0x4c, - 0x46, 0x45, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x99, 0xc0, 0x02, 0x12, 0x1d, 0x0a, 0x17, 0x53, - 0x4c, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4b, 0x5f, 0x45, 0x52, 0x52, 0x5f, - 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0xe0, 0x02, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, - 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4b, 0x5f, 0x4c, 0x53, 0x44, 0x5f, 0x41, - 0x44, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x81, 0xe0, 0x02, 0x12, 0x24, 0x0a, - 0x1e, 0x53, 0x4c, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4b, 0x5f, 0x4c, 0x53, - 0x44, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, - 0x82, 0xe0, 0x02, 0x12, 0x2a, 0x0a, 0x24, 0x53, 0x4c, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, - 0x42, 0x4c, 0x4b, 0x5f, 0x4c, 0x53, 0x44, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, - 0x4b, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x83, 0xe0, 0x02, 0x12, - 0x27, 0x0a, 0x21, 0x53, 0x4c, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4b, 0x5f, - 0x4c, 0x53, 0x44, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4b, 0x5f, 0x49, 0x4e, - 0x5f, 0x55, 0x53, 0x45, 0x10, 0x84, 0xe0, 0x02, 0x12, 0x25, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x4c, - 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4b, 0x5f, 0x4c, 0x53, 0x44, 0x5f, 0x49, 0x4e, 0x56, - 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x10, 0x85, 0xe0, 0x02, 0x12, - 0x25, 0x0a, 0x1f, 0x53, 0x4c, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4b, 0x5f, - 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x49, - 0x5a, 0x45, 0x10, 0x86, 0xe0, 0x02, 0x12, 0x26, 0x0a, 0x20, 0x53, 0x4c, 0x5f, 0x4c, 0x41, 0x42, - 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4b, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x53, - 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x10, 0x87, 0xe0, 0x02, 0x12, 0x19, - 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4b, 0x5f, 0x45, - 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0x88, 0xe0, 0x02, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x4c, 0x5f, - 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x42, 0x4c, 0x4b, 0x5f, 0x44, 0x42, 0x5f, 0x4e, 0x4f, 0x4d, - 0x45, 0x4d, 0x10, 0x89, 0xe0, 0x02, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x4d, 0x50, 0x4c, - 0x53, 0x5f, 0x52, 0x45, 0x47, 0x5f, 0x45, 0x52, 0x52, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, - 0x10, 0x80, 0x80, 0x03, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x4c, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, - 0x52, 0x45, 0x47, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x81, 0x80, 0x03, 0x12, 0x17, 0x0a, 0x11, 0x53, - 0x4c, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x55, 0x4e, 0x52, 0x45, 0x47, 0x5f, 0x45, 0x52, 0x52, - 0x10, 0x82, 0x80, 0x03, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x4c, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, - 0x45, 0x4f, 0x46, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x83, 0x80, 0x03, 0x12, 0x1e, 0x0a, 0x18, 0x53, - 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, - 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x80, 0xa0, 0x03, 0x12, 0x25, 0x0a, 0x1f, 0x53, - 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, - 0x41, 0x4e, 0x59, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x53, 0x10, 0x81, - 0xa0, 0x03, 0x12, 0x28, 0x0a, 0x22, 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x49, 0x4e, 0x54, - 0x46, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x49, - 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x82, 0xa0, 0x03, 0x12, 0x2b, 0x0a, 0x25, - 0x53, 0x4c, 0x5f, 0x52, 0x50, 0x43, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x41, 0x50, 0x49, 0x5f, - 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, - 0x54, 0x45, 0x52, 0x45, 0x44, 0x10, 0x83, 0xa0, 0x03, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x4c, 0x5f, - 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, - 0x54, 0x10, 0x80, 0xc0, 0x03, 0x12, 0x24, 0x0a, 0x1e, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x46, - 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, - 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x81, 0xc0, 0x03, 0x12, 0x24, 0x0a, 0x1e, 0x53, - 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, - 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x82, 0xc0, - 0x03, 0x12, 0x1f, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x49, 0x4e, 0x54, - 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x5f, 0x45, 0x52, 0x52, 0x10, 0x83, - 0xc0, 0x03, 0x12, 0x1f, 0x0a, 0x19, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x49, 0x4e, - 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x44, 0x42, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, - 0x84, 0xc0, 0x03, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x52, - 0x45, 0x43, 0x4f, 0x56, 0x45, 0x52, 0x59, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x85, 0xc0, - 0x03, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x49, 0x4e, 0x54, - 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0x86, 0xc0, - 0x03, 0x12, 0x21, 0x0a, 0x1b, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x46, 0x5f, 0x49, 0x4e, 0x54, - 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, - 0x10, 0x87, 0xc0, 0x03, 0x12, 0x1e, 0x0a, 0x18, 0x53, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, - 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, - 0x10, 0x80, 0x80, 0x40, 0x22, 0x4a, 0x0a, 0x0b, 0x53, 0x4c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, - 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x06, 0x48, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x06, 0x48, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, - 0x22, 0x58, 0x0a, 0x0b, 0x53, 0x4c, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, - 0x1e, 0x0a, 0x09, 0x56, 0x34, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x48, 0x00, 0x52, 0x09, 0x56, 0x34, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, - 0x1e, 0x0a, 0x09, 0x56, 0x36, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0c, 0x48, 0x00, 0x52, 0x09, 0x56, 0x36, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, - 0x09, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2a, 0x62, 0x0a, 0x07, 0x53, 0x4c, - 0x52, 0x65, 0x67, 0x4f, 0x70, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x52, 0x45, 0x47, 0x4f, - 0x50, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, - 0x53, 0x4c, 0x5f, 0x52, 0x45, 0x47, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, - 0x52, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x4c, 0x5f, 0x52, 0x45, 0x47, 0x4f, 0x50, 0x5f, - 0x55, 0x4e, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, - 0x53, 0x4c, 0x5f, 0x52, 0x45, 0x47, 0x4f, 0x50, 0x5f, 0x45, 0x4f, 0x46, 0x10, 0x03, 0x2a, 0x5f, - 0x0a, 0x0a, 0x53, 0x4c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x12, 0x15, 0x0a, 0x11, - 0x53, 0x4c, 0x5f, 0x4f, 0x42, 0x4a, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x4c, 0x5f, 0x4f, 0x42, 0x4a, 0x4f, 0x50, 0x5f, - 0x41, 0x44, 0x44, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x4c, 0x5f, 0x4f, 0x42, 0x4a, 0x4f, - 0x50, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x4c, - 0x5f, 0x4f, 0x42, 0x4a, 0x4f, 0x50, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x03, 0x2a, - 0x53, 0x0a, 0x09, 0x53, 0x4c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x4f, 0x70, 0x12, 0x17, 0x0a, 0x13, - 0x53, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, - 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x49, - 0x46, 0x4f, 0x50, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, - 0x53, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x4f, 0x50, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, - 0x4c, 0x45, 0x10, 0x02, 0x42, 0x11, 0x5a, 0x0f, 0x2e, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_sl_common_types_proto_rawDescOnce sync.Once - file_sl_common_types_proto_rawDescData = file_sl_common_types_proto_rawDesc -) - -func file_sl_common_types_proto_rawDescGZIP() []byte { - file_sl_common_types_proto_rawDescOnce.Do(func() { - file_sl_common_types_proto_rawDescData = protoimpl.X.CompressGZIP(file_sl_common_types_proto_rawDescData) - }) - return file_sl_common_types_proto_rawDescData -} - -var file_sl_common_types_proto_enumTypes = make([]protoimpl.EnumInfo, 4) -var file_sl_common_types_proto_msgTypes = make([]protoimpl.MessageInfo, 3) -var file_sl_common_types_proto_goTypes = []interface{}{ - (SLRegOp)(0), // 0: SLRegOp - (SLObjectOp)(0), // 1: SLObjectOp - (SLNotifOp)(0), // 2: SLNotifOp - (SLErrorStatus_SLErrno)(0), // 3: SLErrorStatus.SLErrno - (*SLErrorStatus)(nil), // 4: SLErrorStatus - (*SLInterface)(nil), // 5: SLInterface - (*SLIpAddress)(nil), // 6: SLIpAddress -} -var file_sl_common_types_proto_depIdxs = []int32{ - 3, // 0: SLErrorStatus.Status:type_name -> SLErrorStatus.SLErrno - 1, // [1:1] is the sub-list for method output_type - 1, // [1:1] is the sub-list for method input_type - 1, // [1:1] is the sub-list for extension type_name - 1, // [1:1] is the sub-list for extension extendee - 0, // [0:1] is the sub-list for field type_name -} - -func init() { file_sl_common_types_proto_init() } -func file_sl_common_types_proto_init() { - if File_sl_common_types_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_sl_common_types_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLErrorStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_common_types_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLInterface); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_common_types_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLIpAddress); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_sl_common_types_proto_msgTypes[1].OneofWrappers = []interface{}{ - (*SLInterface_Name)(nil), - (*SLInterface_Handle)(nil), - } - file_sl_common_types_proto_msgTypes[2].OneofWrappers = []interface{}{ - (*SLIpAddress_V4Address)(nil), - (*SLIpAddress_V6Address)(nil), - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_sl_common_types_proto_rawDesc, - NumEnums: 4, - NumMessages: 3, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_sl_common_types_proto_goTypes, - DependencyIndexes: file_sl_common_types_proto_depIdxs, - EnumInfos: file_sl_common_types_proto_enumTypes, - MessageInfos: file_sl_common_types_proto_msgTypes, - }.Build() - File_sl_common_types_proto = out.File - file_sl_common_types_proto_rawDesc = nil - file_sl_common_types_proto_goTypes = nil - file_sl_common_types_proto_depIdxs = nil -} diff --git a/proto/sla/sl_common_types.proto b/proto/sla/sl_common_types.proto deleted file mode 100755 index fd8985e..0000000 --- a/proto/sla/sl_common_types.proto +++ /dev/null @@ -1,535 +0,0 @@ -// @file -// @brief Common definitions for all of the service layer proto files. -// -//--------------------------------------------------------------------- -// Copyright (c) 2016 by Cisco Systems, Inc. -// All rights reserved. -//--------------------------------------------------------------------- -// -// - -//@defgroup Common -//@brief Common service definitions and Global initializations. - -syntax = "proto3"; -option go_package = "./service_layer"; - -// @defgroup SLCommonTypes -// @ingroup Common -// Service Layer common types. -// The following messages are used as common Service Layer types. -// @{ - -// Status codes, including errors and success codes. -// All service layer errors are defined below. -message SLErrorStatus { - enum SLErrno { - - // !!! Common error codes for all RPCs and objects - - // Success, no errors detected. 0x0. - SL_SUCCESS = 0x0; - // Client is not connected. - // The client is expected to remain connected after init and version - // validation, RPC calls can fail with this error code otherwise. - // Refer to RPC SLGlobalInitNotif. 0x1 - SL_NOT_CONNECTED = 0x1; - // Operation must be retried. 0x2 - SL_EAGAIN = 0x2; - // One or more components does not have sufficient memory. 0x3 - SL_ENOMEM = 0x3; - // Too many outstanding requests. 0x4 - SL_EBUSY = 0x4; - // One or more arguments are invalid. 0x5 - SL_EINVAL = 0x5; - // Unsupported version. 0x6 - SL_UNSUPPORTED_VER = 0x6; - // Not Available. 0x7 - SL_NOT_AVAILABLE = 0x7; - // Stream mode not supported. 0x8 - SL_STREAM_NOT_SUPPORTED = 0x8; - // Operation not supported. 0x9 - SL_ENOTSUP = 0x9; - // One or more objects is errored: - // Each object must be individually examined. 0xa - SL_SOME_ERR = 0xa; - // Operation Timed out. - // The result of the operation is undeterministic (success or fail). 0xb - SL_TIMEOUT = 0xb; - // Due to some event, the client will no longer receive notification - // events on this channel. 0xc - // Such events include: - // - Notification Session was hijacked by another client. - SL_NOTIF_TERM = 0xc; - - // !!! Error codes for Client INIT operations. - - // Offset for INIT errors. 0x500 - SL_INIT_START_OFFSET = 0x500; - // Success, no errors detected - clear state. - // This error is returned on the first-ever initialization, or, - // when a fatal event has occured and all previous state was lost. 0x501 - SL_INIT_STATE_CLEAR = 0x501; - // Success, no errors detected - previous state fully recovered. - // This error is returned on a client re-initialization with - // successful recovery of state. 0x502 - SL_INIT_STATE_READY = 0x502; - // Server software incompatible with client software version. 0x503 - SL_INIT_UNSUPPORTED_VER = 0x503; - // Initialization request received while server is not ready. 0x504 - SL_INIT_SERVER_NOT_INITIALIZED = 0x504; - // Server operational mode change from stream to non-stream - // or vice-versa failed. 0x505 - SL_INIT_SERVER_MODE_CHANGE_FAILED = 0x505; - - // !!! Error codes for VRF operations. - - // Offset for VRF errors. 0x1000 - SL_RPC_VRF_START_OFFSET = 0x1000; - // Operation rejected for ALL VRFs due to too many VRF registration - // messages in the request. 0x1001 - SL_RPC_VRF_TOO_MANY_VRF_REG_MSGS = 0x1001; - // Operation rejected for all VRFs as server is not initialized. 0x1002 - SL_RPC_VRF_SERVER_NOT_INITIALIZED = 0x1002; - - // !!! Error codes for VRF objects. - - // Offset for VRF errors. 0x2000 - SL_VRF_START_OFFSET = 0x2000; - // VRF name in the VRF registration message is too long. 0x2001 - SL_VRF_NAME_TOOLONG = 0x2001; - // VRF not found during a unregister or EOF. 0x2002 - SL_VRF_NOT_FOUND = 0x2002; - // On a VRF registration, Table ID for the VRF is not found. 0x2003 - SL_VRF_NO_TABLE_ID = 0x2003; - // VRF add registration message with invalid administrative distance. 0x2004 - SL_VRF_REG_INVALID_ADMIN_DISTANCE = 0x2004; - // On a VRF registration, Table cannot be added to persistent memory. 0x2005 - SL_VRF_TABLE_ADD_ERR = 0x2005; - // VRF table cannot be registered with RIB. 0x2006 - SL_VRF_TABLE_REGISTRATION_ERR = 0x2006; - // VRF table cannot be unregistered with RIB. 0x2007 - SL_VRF_TABLE_UNREGISTRATION_ERR = 0x2007; - // VRF table RIB EOF operation error. 0x2008 - SL_VRF_TABLE_EOF_ERR = 0x2008; - // VRF registration message does not have a VRF name. 0x2009 - SL_VRF_REG_VRF_NAME_MISSING = 0x2009; - - // !!! Error codes for Route operations. - - // Offset for Route operation errors. 0x3000 - SL_RPC_ROUTE_START_OFFSET = 0x3000; - // Operation rejected for ALL routes due to too many routes in the - // request. 0x3001 - SL_RPC_ROUTE_TOO_MANY_ROUTES = 0x3001; - // Operation rejected for ALL routes as the request's VRF name - // is too long. 0x3002 - SL_RPC_ROUTE_VRF_NAME_TOOLONG = 0x3002; - // Operation rejected for ALL routes as VRF for the given name - // is not found. 0x3003 - SL_RPC_ROUTE_VRF_NOT_FOUND = 0x3003; - // Operation rejected for ALL routes as VRF's Table ID is not found. - // 0x3004 - SL_RPC_ROUTE_VRF_NO_TABLE = 0x3004; - // Operation rejected for ALL routes as VRF is not registered with RIB. - // 0x3005 - SL_RPC_ROUTE_VRF_TABLE_NOT_REGISTERED = 0x3005; - // Route Operation rejected for ALL objects as VRF name is missing. - // 0x3006 - SL_RPC_ROUTE_VRF_NAME_MISSING = 0x3006; - // Operation rejected for all routes as the RPC request is - // not supported for the library's initialization mode. 0x3007 - SL_RPC_ROUTE_INIT_MODE_INCOMPATIBLE = 0x3007; - // Operation rejected for all routes as server is not initialized. - // 0x3008 - SL_RPC_ROUTE_SERVER_NOT_INITIALIZED = 0x3008; - - // !!! Error codes for Route objects. - - // Offset for route errors. 0x4000 - SL_ROUTE_START_OFFSET = 0x4000; - // Route add operation requested but no paths were provided. 0x4001 - SL_ROUTE_ADD_NO_PATHS = 0x4001; - // Route update operation requested but no paths were provided. 0x4002 - SL_ROUTE_UPDATE_NO_PATHS = 0x4002; - // Route's prefix length is invalid. 0x4003 - SL_ROUTE_INVALID_PREFIX_LEN = 0x4003; - // Route's admininstrative distance is invalid. 0x4004 - SL_ROUTE_INVALID_ADMIN_DISTANCE = 0x4004; - // Route's number of paths exceeds system capabilities. 0x4005 - SL_ROUTE_INVALID_NUM_PATHS = 0x4005; - // Size of IPv6 prefix is invalid. 0x4006 - SL_ROUTE_INVALID_PREFIX_SZ = 0x4006; - // Route's prefix is invalid. 0x4007 - SL_ROUTE_INVALID_PREFIX = 0x4007; - // Route programming failed in RIB as VRF table limit reached. 0x4008 - SL_ROUTE_ERR_RIB_TABLE_LIMIT_REACHED = 0x4008; - // RIB route programming failed in RIB due to invalid arguments. 0x4009 - SL_ROUTE_ERR_RIB_INVALID_ARGS = 0x4009; - // One or more paths could not be programmed in RIB as VRF - // table limit reached. 0x400a - SL_ROUTE_ERR_RIB_PATH_TABLE_LIMIT = 0x400a; - // One or more paths could not be programmed in RIB as number of paths - // reached system limit. 0x400b - SL_ROUTE_ERR_RIB_TOOMANYPATHS = 0x400b; - // This route already exists in the database. 0x400c - SL_ROUTE_EEXIST = 0x400c; - // Route prefix has host bits set. 0x400d - SL_ROUTE_HOST_BITS_SET = 0x400d; - // IPv4 Route prefix is a multicast address. 0x400e - SL_ROUTE_INVALID_PREFIX_MCAST = 0x400e; - // Route and Path AFI does not match. 0x400f - SL_ROUTE_PATH_AFI_MISMATCH = 0x400f; - // Number of primary paths exceeds system capabilities. 0x4010 - SL_ROUTE_TOOMANY_PRIMARY_PATHS = 0x4010; - // Number of backup paths exceeds system capabilities. 0x4011 - SL_ROUTE_TOOMANY_BACKUP_PATHS = 0x4011; - // The route database is out of memory. 0x4012 - SL_ROUTE_DB_NOMEM = 0x4012; - // The route has an invalid local label. 0x4013 - SL_ROUTE_INVALID_LOCAL_LABEL = 0x4013; - - // !!! Error codes for route path objects. - - // Offset for route path errors. 0x5000 - SL_PATH_START_OFFSET = 0x5000; - // VRF table for the path could not be determined. 0x5001 - SL_PATH_NH_NO_TABLE = 0x5001; - // Path next hop interface not found. 0x5002 - SL_PATH_NH_INTF_NOT_FOUND = 0x5002; - // Number of labels in the path exceeds system capabilities. 0x5003 - SL_PATH_INVALID_LABEL_COUNT = 0x5003; - // Path ID assigned to the path falls outside the supported range. 0x5004 - SL_PATH_INVALID_ID = 0x5004; - // Path VRF name exceeds supported length. 0x5005 - SL_PATH_VRF_NAME_TOOLONG = 0x5005; - // Path next hop interface name exceeds supported length. 0x5006 - SL_PATH_NH_INTF_NAME_TOOLONG = 0x5006; - // Size of next hop IPv6 address is invalid. 0x5007 - SL_PATH_NH_INVALID_ADDR_SZ = 0x5007; - // Next hop interface name is missing from path. 0x5008 - SL_PATH_NH_INF_NAME_MISSING = 0x5008; - // Path has an invalid next hop address. 0x5009 - SL_PATH_INVALID_NEXT_HOP_ADDR = 0x5009; - // Number of remote backup addresses in the path exceeds - // system capabilities. 0x500a - SL_PATH_INVALID_REMOTE_ADDR_COUNT = 0x500a; - // Size of IPv6 remote backup address is invalid. 0x500b - SL_PATH_REMOTE_ADDR_INVALID_SZ = 0x500b; - // Route and Path remote backup address AFI does not match. 0x500c - SL_PATH_REMOTE_ADDR_AFI_MISMATCH = 0x500c; - // Path has an invalid protection bitmap. 0x500d - SL_PATH_INVALID_PROTECTED_BITMAP = 0x500d; - // Protection bitmap of a backup path refers to a missing path. 0x500e - SL_PATH_BACKUP_MISSING_PRIMARY_PATH = 0x500e; - // Too many primary paths with same Path ID. 0x500f - SL_PATH_PRIMARY_ID_REPEATED = 0x500f; - // Too many pure backup paths with same Path ID. 0x5010 - SL_PATH_BACKUP_ID_REPEATED = 0x5010; - // A primary path has too many backup paths. 0x5011 - SL_PATH_PRIMARY_TOOMANY_BACKUP_PATHS = 0x5011; - // A primary path has too many labels. 0x5012 - SL_PATH_PRIMARY_TOOMANY_LABELS = 0x5012; - // A primary path has too many remote addresses. 0x5013 - SL_PATH_PRIMARY_TOOMANY_REMOTE_ADDR = 0x5013; - // A pure backup remote address is invalid. 0x5014 - SL_PATH_REMOTE_ADDR_INVALID = 0x5014; - // Path has an invalid label. 0x5015 - SL_PATH_INVALID_LABEL = 0x5015; - - // !!! Error codes for BFD opertations. - - // Offset for BFD operation errors. 0x6000 - SL_RPC_BFD_START_OFFSET = 0x6000; - // BFD Operation rejected for ALL Sessions as the BFD Session count - // is beyond supported limit. 0x6001 - SL_RPC_BFD_TOO_MANY_BFD_SESSIONS = 0x6001; - // BFD Operation rejected due to one or many invalid parameters. 0x6002 - SL_RPC_BFD_API_BAD_PARAMETER = 0x6002; - // BFD Operation failed as server is not registered with BFD. 0x6003 - SL_RPC_BFD_API_CLIENT_NOT_REGISTERED = 0x6003; - // BFD Operation failed with internal error. 0x6004 - SL_RPC_BFD_API_INTERNAL_ERROR = 0x6004; - // BFD Operation rejected as server is not initialized. 0x6005 - SL_RPC_BFD_SERVER_NOT_INITIALIZED = 0x6005; - // BFD IPv4 not registered. 0x6006 - SL_RPC_BFD_V4_NOT_REGISTERED = 0x6006; - // BFD IPv6 not registered. 0x6007 - SL_RPC_BFD_V6_NOT_REGISTERED = 0x6007; - - // !!! Error codes for BFD Session objects. - - // Offset for BFD errors. 0x7000 - SL_BFD_START_OFFSET = 0x7000; - // BFD Session's interface name exceeds supported length. 0x7001 - SL_BFD_INTF_NAME_TOOLONG = 0x7001; - // BFD Session's interface not found. 0x7002 - SL_BFD_INTF_NOT_FOUND = 0x7002; - // BFD Session's tx interval or multiplier are beyond the - // supported range. 0x7003 - SL_BFD_INVALID_ATTRIBUTE = 0x7003; - // BFD Session's interface name is missing. 0x7004 - SL_BFD_INTF_NAME_MISSING = 0x7004; - // BFD Session's neighbor is mcast address. 0x7005 - SL_BFD_INVALID_NBR_MCAST = 0x7005; - // BFD Session's neighbor address is invalid. 0x7006 - SL_BFD_INVALID_NBR = 0x7006; - // BFD Session's VRF Name is too long. 0x7007 - SL_BFD_VRF_NAME_TOOLONG = 0x7007; - // BFD Session's one or more parameters are invalid. - // For example, Multihop BFD can not have the interface name set. 0x7008 - SL_BFD_BAD_PARAMETER = 0x7008; - // BFD Session failed with internal error. 0x7009 - SL_BFD_API_INTERNAL_ERROR = 0x7009; - // BFD Session's VRF not found. 0x700a - SL_BFD_VRF_NOT_FOUND = 0x700a; - // BFD Session's neighbor IPv6 prefix size is invalid. 0x700b - SL_BFD_INVALID_PREFIX_SIZE = 0x700b; - // BFD Session type invalid. 0x700c - SL_BFD_INVALID_SESSION_TYPE = 0x700c; - // BFD Session's VRF is Invalid. 0x700d - SL_BFD_INVALID_VRF = 0x700d; - // BFD Session not found. 0x700e - SL_BFD_SESSION_NOT_FOUND = 0x700e; - // BFD Session exists. 0x700f - SL_BFD_SESSION_EXISTS = 0x700f; - // BFD Internal database error. 0x7010 - SL_BFD_INTERNAL_DB_ERROR = 0x7010; - // BFD Recovery error. 0x7011 - SL_BFD_RECOVERY_ERROR = 0x7011; - - // !!! Error codes for MPLS opertations. - - // Offset for MPLS operation errors. 0x8000 - SL_RPC_MPLS_START_OFFSET = 0x8000; - // Operation rejected for ALL ILMS due to too many ILMS in the - // request. 0x8001 - SL_RPC_MPLS_ILM_TOO_MANY_ILMS = 0x8001; - // Operation rejected for all ILMs as server is not initialized. - // 0x0x8002 - SL_RPC_MPLS_SERVER_NOT_INITIALIZED = 0x8002; - // Operation rejected for all ILMs as the RPC request is - // not supported for the library's initialization mode. 0x8003 - SL_RPC_MPLS_INIT_MODE_INCOMPATIBLE = 0x8003; - // Operation rejected for ALL label blocks due to too many - // label blocks in the request. 0x8004 - SL_RPC_MPLS_LABEL_BLK_TOO_MANY_LABEL_BLKS = 0x8004; - // Operation rejected for ALL ILMs as MPLS layer is not registered. - // 0x8005 - SL_RPC_MPLS_NOT_REGISTERED = 0x8005; - - // !!! MPLS ILM Error codes - - // Offset for MPLS ILM errors. 0x9000 - SL_ILM_ERR_OFFSET = 0x9000; - // MPLS ILM add to service layer failed. 0x9001 - SL_ILM_ADD_FAILED = 0x9001; - // MPLS ILM add to Label Switching Database failed. 0x9002 - SL_ILM_LSD_ADD_FAILED = 0x9002; - // MPLS ILM NHLFE count exceeded max supported number. 0x9003 - SL_ILM_INVALID_NUM_NHLFE = 0x9003; - // MPLS ILM label value out of range. 0x9004 - SL_ILM_INVALID_LABEL = 0x9004; - // MPLS ILM delete from service layer failed. 0x9005 - SL_ILM_DELETE_FAILED = 0x9005; - // MPLS ILM delete from Label Switching Database failed. 0x9006 - SL_ILM_LSD_DELETE_FAILED = 0x9006; - // Number of primary NHLFEs exceeds system capabilities. 0x9007 - SL_ILM_TOOMANY_PRIMARY_NHLFES = 0x9007; - // Number of backup NHLFEs exceeds system capabilities. 0x9008 - SL_ILM_TOOMANY_BACKUP_NHLFES = 0x9008; - // MPLS ILM label alloc failed in Label switching database. 0x9009 - SL_ILM_LSD_ADD_LABEL_ALLOC_FAILED = 0x9009; - // MPLS ILM NHLFE attribute invalid. 0x900a - SL_ILM_LSD_NHLFE_INVALID_ATTRIB = 0x900a; - // MPLS ILM already exists in the database. 0x900b - SL_ILM_EEXIST = 0x900b; - // The ILM database is out of memory. 0x900c - SL_ILM_DB_NOMEM = 0x900c; - - // !!! MPLS NHLFE Error codes - - // Offset for MPLS NHLFE errors. 0xa000 - SL_NHLFE_ERR_OFFSET = 0xa000; - // MPLS NHLFE vrf table could not be determined. 0xa001 - SL_NHLFE_NH_NO_TABLE = 0xa001; - // Size of next hop IPv6 address is invalid. 0xa002 - SL_NHLFE_NH_INVALID_ADDR_SZ = 0xa002; - // NHLFE has an invalid next hop address. 0xa003 - SL_NHLFE_INVALID_NEXT_HOP_ADDR = 0xa003; - // Path VRF name exceeds supported length. 0xa004 - SL_NHLFE_VRF_NAME_TOOLONG = 0xa004; - // Next hop interface name is missing from path. 0xa005 - SL_NHLFE_NH_INF_NAME_MISSING = 0xa005; - // Interface name exceeds supported length. 0xa006 - SL_NHLFE_NH_INTF_NAME_TOOLONG = 0xa006; - // Number of labels in the path exceeds system capabilities. 0xa007 - SL_NHLFE_INVALID_LABEL_COUNT = 0xa007; - // Path id is invalid in NHLFE. 0xa008 - SL_NHLFE_INVALID_PATH_ID = 0xa008; - // MPLS NHLFE label value out of range. 0xa009 - SL_NHLFE_INVALID_LABEL = 0xa009; - // NHLFE has an invalid protection bitmap. 0xa00a - SL_NHLFE_INVALID_PROTECTED_BITMAP = 0xa00a; - // Number of remote backup addresses in the NHLFE exceeds - // system capabilities. 0xa00b - SL_NHLFE_INVALID_REMOTE_ADDR_COUNT = 0xa00b; - // Size of IPv6 remote backup address is invalid. 0xa00c - SL_NHLFE_REMOTE_ADDR_INVALID_SZ = 0xa00c; - // A primary NHLFE has too many labels. 0xa00d - SL_NHLFE_PRIMARY_TOOMANY_LABELS = 0xa00d; - // A primary NHLFE has too many remote addresses. 0xa00e - SL_NHLFE_PRIMARY_TOOMANY_REMOTE_ADDR = 0xa00e; - // Too many pure backup NHLFE with same Path ID. 0xa00f - SL_NHLFE_BACKUP_ID_REPEATED = 0xa00f; - // Too many primary NHLFE with same Path ID. 0xa010 - SL_NHLFE_PRIMARY_ID_REPEATED = 0xa010; - // Pure backup NHLFE has a empty protected bitmap. 0xa011 - SL_NHLFE_BACKUP_PROTECTED_BITMAP_EMPTY = 0xa011; - // A primary NHLFE has too many backup paths. 0xa012 - SL_NHLFE_PRIMARY_TOOMANY_BACKUP_PATHS = 0xa012; - // A pure backup remote address is invalid. 0xa013 - SL_NHLFE_REMOTE_ADDR_INVALID = 0xa013; - // Protection bitmap of a backup NHLFE refers to a missing path. 0xa014 - SL_NHLFE_BACKUP_MISSING_PRIMARY_PATH = 0xa014; - // NHLFE next-hop missing. 0xa015 - SL_NHLFE_NEXT_HOP_MISSING = 0xa015; - // Label action specified is invalid. 0xa016 - SL_NHLFE_LABEL_ACTION_INVALID = 0xa016; - // NHLFE next hop interface not found. 0xa017 - SL_NHLFE_NH_INTF_NOT_FOUND = 0xa017; - // MPLS NHLFE operation failed. 0xa018 - SL_NHLFE_OPER_FAILED = 0xa018; - // MPLS NHLFE label action missing. 0xa019 - SL_NHLFE_LABEL_ACTION_MISSING = 0xa019; - - // !!! MPLS Label block Error codes - - // Offset for label block errors. 0xb000 - SL_LABEL_BLK_ERR_OFFSET = 0xb000; - // MPLS label block add from Label Switching Database failed. 0xb001 - SL_LABEL_BLK_LSD_ADD_FAILED = 0xb001; - // MPLS label block delete from Label Switching Database failed. 0xb002 - SL_LABEL_BLK_LSD_DELETE_FAILED = 0xb002; - // MPLS label block not found. 0xb003 - SL_LABEL_BLK_LSD_LABEL_BLK_NOT_FOUND = 0xb003; - // MPLS label block in use. 0xb004 - SL_LABEL_BLK_LSD_LABEL_BLK_IN_USE = 0xb004; - // MPLS label block attribute invalid. 0xb005 - SL_LABEL_BLK_LSD_INVALID_ATTRIB = 0xb005; - // MPLS label block size > max size per block. 0xb006 - SL_LABEL_BLK_INVALID_BLOCK_SIZE = 0xb006; - // MPLS label start_label < min label for platform . 0xb007 - SL_LABEL_BLK_INVALID_START_LABEL = 0xb007; - // MPLS label block already exists in the database. 0xb008 - SL_LABEL_BLK_EEXIST = 0xb008; - // MPLS label database is out of memory. 0xb009 - SL_LABEL_BLK_DB_NOMEM = 0xb009; - - // !!! MPLS Reg error codes - - // Offset for MPLS registration errors. 0xc000 - SL_MPLS_REG_ERR_OFFSET = 0xc000; - // MPLS registration error. 0xc001 - SL_MPLS_REG_ERR = 0xc001; - // MPLS unregistration error. 0xc002 - SL_MPLS_UNREG_ERR = 0xc002; - // MPLS EOF error. 0xc003 - SL_MPLS_EOF_ERR = 0xc003; - - // !!! Error codes for Interface operations. - - // Offset for Interface operation errors. 0xd000 - SL_RPC_INTF_START_OFFSET = 0xd000; - // Interface Operation rejected for ALL Sessions as the Interface - // Session count is beyond supported limit. 0xd001 - SL_RPC_INTF_TOO_MANY_INTERFACES = 0xd001; - // Interface Operation rejected as server is not initialized. 0xd002 - SL_RPC_INTF_SERVER_NOT_INITIALIZED = 0xd002; - // Interface Operation failed as server is not registered with - // interface manager. 0xd003 - SL_RPC_INTF_API_CLIENT_NOT_REGISTERED = 0xd003; - - // !!! Error codes for Interface objects. - - // Offset for Interface object errors. 0xe000 - SL_INTF_START_OFFSET = 0xe000; - // Interface object's interface name missing. 0xe001 - SL_INTF_INTERFACE_NAME_MISSING = 0xe001; - // Interface object's interface name exceeds supported length. 0xe002 - SL_INTF_INTERFACE_NAME_TOOLONG = 0xe002; - // Interface internal registration error. 0xe003 - SL_INTF_INTERFACE_REG_ERR = 0xe003; - // Internal database error. 0xe004 - SL_INTF_INTERNAL_DB_ERROR = 0xe004; - // Interface Recovery error. 0xe005 - SL_INTF_RECOVERY_ERROR = 0xe005; - // Interface exists. 0xe006 - SL_INTF_INTERFACE_EXISTS = 0xe006; - // Interface not found. 0xe007 - SL_INTF_INTERFACE_NOT_FOUND = 0xe007; - - // !!! Error codes Reserved for internal errors. - - // Offset for Internal errors. 0x100000 - SL_INTERNAL_START_OFFSET = 0x100000; - } - SLErrno Status = 1; -} - -// Registration Operations. -enum SLRegOp { - // Reserved. 0x0 - SL_REGOP_RESERVED = 0x0; - // Register. 0x1 - SL_REGOP_REGISTER = 0x1; - // Un-Register. 0x2 - SL_REGOP_UNREGISTER = 0x2; - // End Of File. 0x3 - SL_REGOP_EOF = 0x3; -} - -// Object Operations. -enum SLObjectOp { - // Reserved. 0x0 - SL_OBJOP_RESERVED = 0x0; - // Add. 0x1 - SL_OBJOP_ADD = 0x1; - // Update. 0x2 - SL_OBJOP_UPDATE = 0x2; - // Delete. 0x3 - SL_OBJOP_DELETE = 0x3; -} - -// Notification Operations. -enum SLNotifOp { - // Reserved. 0x0 - SL_NOTIFOP_RESERVED = 0x0; - // Enable. 0x1 - SL_NOTIFOP_ENABLE = 0x1; - // Disable. 0x2 - SL_NOTIFOP_DISABLE = 0x2; -} - -// Interface info. -message SLInterface { - // One of Interface name or handle - oneof Interface { - // Interface name. - string Name = 1; - - // Interface handle. Can be retrieved from Interface API. - uint32 Handle = 2; - } -} - -// One of IPv4 or IPv6 addresses. -message SLIpAddress { - // One of IPv4 or IPv6 address - oneof Address { - uint32 V4Address = 1; - bytes V6Address = 2; - } -} - -// @} diff --git a/proto/sla/sl_global.pb.go b/proto/sla/sl_global.pb.go deleted file mode 100644 index 9eab805..0000000 --- a/proto/sla/sl_global.pb.go +++ /dev/null @@ -1,755 +0,0 @@ -// @file -// @brief Server RPC proto file. Client invokes to init the session -// on server. -// -// ---------------------------------------------------------------- -// Copyright (c) 2016 by Cisco Systems, Inc. -// All rights reserved. -// ----------------------------------------------------------------- -// -// - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.28.0 -// protoc v3.5.0 -// source: sl_global.proto - -package service_layer - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -// Global Event Notification types. -type SLGlobalNotifType int32 - -const ( - // Reserved. 0x0 - SLGlobalNotifType_SL_GLOBAL_EVENT_TYPE_RESERVED SLGlobalNotifType = 0 - // Error. ErrStatus field elaborates on the message. 0x1 - SLGlobalNotifType_SL_GLOBAL_EVENT_TYPE_ERROR SLGlobalNotifType = 1 - // HeartBeat. 0x2 - SLGlobalNotifType_SL_GLOBAL_EVENT_TYPE_HEARTBEAT SLGlobalNotifType = 2 - // Version. SLInitMsgRsp field elaborates on the server version. 0x3 - SLGlobalNotifType_SL_GLOBAL_EVENT_TYPE_VERSION SLGlobalNotifType = 3 -) - -// Enum value maps for SLGlobalNotifType. -var ( - SLGlobalNotifType_name = map[int32]string{ - 0: "SL_GLOBAL_EVENT_TYPE_RESERVED", - 1: "SL_GLOBAL_EVENT_TYPE_ERROR", - 2: "SL_GLOBAL_EVENT_TYPE_HEARTBEAT", - 3: "SL_GLOBAL_EVENT_TYPE_VERSION", - } - SLGlobalNotifType_value = map[string]int32{ - "SL_GLOBAL_EVENT_TYPE_RESERVED": 0, - "SL_GLOBAL_EVENT_TYPE_ERROR": 1, - "SL_GLOBAL_EVENT_TYPE_HEARTBEAT": 2, - "SL_GLOBAL_EVENT_TYPE_VERSION": 3, - } -) - -func (x SLGlobalNotifType) Enum() *SLGlobalNotifType { - p := new(SLGlobalNotifType) - *p = x - return p -} - -func (x SLGlobalNotifType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (SLGlobalNotifType) Descriptor() protoreflect.EnumDescriptor { - return file_sl_global_proto_enumTypes[0].Descriptor() -} - -func (SLGlobalNotifType) Type() protoreflect.EnumType { - return &file_sl_global_proto_enumTypes[0] -} - -func (x SLGlobalNotifType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use SLGlobalNotifType.Descriptor instead. -func (SLGlobalNotifType) EnumDescriptor() ([]byte, []int) { - return file_sl_global_proto_rawDescGZIP(), []int{0} -} - -// Initialization message sent to the server. -// If the client and server are running compatible version numbers, a -// connection will be made and the server response will be received -// with a successful status code. -type SLInitMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Client's Major version of service-layer API (refer to sl_version.proto) - MajorVer uint32 `protobuf:"varint,1,opt,name=MajorVer,proto3" json:"MajorVer,omitempty"` - // Minor Version - MinorVer uint32 `protobuf:"varint,2,opt,name=MinorVer,proto3" json:"MinorVer,omitempty"` - // Sub-Version - SubVer uint32 `protobuf:"varint,3,opt,name=SubVer,proto3" json:"SubVer,omitempty"` -} - -func (x *SLInitMsg) Reset() { - *x = SLInitMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_global_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLInitMsg) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLInitMsg) ProtoMessage() {} - -func (x *SLInitMsg) ProtoReflect() protoreflect.Message { - mi := &file_sl_global_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SLInitMsg.ProtoReflect.Descriptor instead. -func (*SLInitMsg) Descriptor() ([]byte, []int) { - return file_sl_global_proto_rawDescGZIP(), []int{0} -} - -func (x *SLInitMsg) GetMajorVer() uint32 { - if x != nil { - return x.MajorVer - } - return 0 -} - -func (x *SLInitMsg) GetMinorVer() uint32 { - if x != nil { - return x.MinorVer - } - return 0 -} - -func (x *SLInitMsg) GetSubVer() uint32 { - if x != nil { - return x.SubVer - } - return 0 -} - -// Server's response to the SLInitMsg. -// On Success (ErrStatus), the session with the server is established -// and the client is allowed to proceed. -type SLInitMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Server's version of service-layer API (refer to sl_version.proto) - // Major-number revisions are NOT backwards compatible, - // unless otherwise specified. The Server may reject a session if there - // is a version number mismatch or non-backwards compatibility. - MajorVer uint32 `protobuf:"varint,1,opt,name=MajorVer,proto3" json:"MajorVer,omitempty"` - // Minor Version - MinorVer uint32 `protobuf:"varint,2,opt,name=MinorVer,proto3" json:"MinorVer,omitempty"` - // Sub-Version - SubVer uint32 `protobuf:"varint,3,opt,name=SubVer,proto3" json:"SubVer,omitempty"` -} - -func (x *SLInitMsgRsp) Reset() { - *x = SLInitMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_global_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLInitMsgRsp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLInitMsgRsp) ProtoMessage() {} - -func (x *SLInitMsgRsp) ProtoReflect() protoreflect.Message { - mi := &file_sl_global_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SLInitMsgRsp.ProtoReflect.Descriptor instead. -func (*SLInitMsgRsp) Descriptor() ([]byte, []int) { - return file_sl_global_proto_rawDescGZIP(), []int{1} -} - -func (x *SLInitMsgRsp) GetMajorVer() uint32 { - if x != nil { - return x.MajorVer - } - return 0 -} - -func (x *SLInitMsgRsp) GetMinorVer() uint32 { - if x != nil { - return x.MinorVer - } - return 0 -} - -func (x *SLInitMsgRsp) GetSubVer() uint32 { - if x != nil { - return x.SubVer - } - return 0 -} - -// Globals query message. -type SLGlobalNotif struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Event Type. - EventType SLGlobalNotifType `protobuf:"varint,1,opt,name=EventType,proto3,enum=SLGlobalNotifType" json:"EventType,omitempty"` - // Status code, interpreted based on the Event Type. - // - // case EventType == SL_GLOBAL_EVENT_TYPE_ERROR: - // case ErrStatus == SL_NOTIF_TERM: - // => Another client is attempting to take over the session. - // This session will be closed. - // case ErrStatus == (some error from SLErrorStatus) - // => Client must look into the specific error message returned. - // - // case EventType == SL_GLOBAL_EVENT_TYPE_HEARTBEAT: - // case ErrStatus == SL_SUCCESS - // => Client can safely ignore this heartbeat message. - // - // case EventType == SL_GLOBAL_EVENT_TYPE_VERSION: - // case ErrStatus == SL_SUCCESS - // => Client version accepted. - // case ErrStatus == SL_INIT_STATE_READY - // => Client version accepted. - // Any previous state was sucessfully recovered. - // case ErrStatus == SL_INIT_STATE_CLEAR - // => Client version accepted. Any previous state was lost. - // Client must replay all previous objects to server. - // case ErrStatus == SL_UNSUPPORTED_VER - // => Client and Server version mismatch. The client is not - // allowed to proceed, and the channel will be closed. - // case ErrStatus == (some error from SLErrorStatus) - // => Client must either try again, or look into the specific - // error message returned. - ErrStatus *SLErrorStatus `protobuf:"bytes,2,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` - // Further info based on EventType. - // - // Types that are assignable to Event: - // *SLGlobalNotif_InitRspMsg - Event isSLGlobalNotif_Event `protobuf_oneof:"Event"` -} - -func (x *SLGlobalNotif) Reset() { - *x = SLGlobalNotif{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_global_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLGlobalNotif) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLGlobalNotif) ProtoMessage() {} - -func (x *SLGlobalNotif) ProtoReflect() protoreflect.Message { - mi := &file_sl_global_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SLGlobalNotif.ProtoReflect.Descriptor instead. -func (*SLGlobalNotif) Descriptor() ([]byte, []int) { - return file_sl_global_proto_rawDescGZIP(), []int{2} -} - -func (x *SLGlobalNotif) GetEventType() SLGlobalNotifType { - if x != nil { - return x.EventType - } - return SLGlobalNotifType_SL_GLOBAL_EVENT_TYPE_RESERVED -} - -func (x *SLGlobalNotif) GetErrStatus() *SLErrorStatus { - if x != nil { - return x.ErrStatus - } - return nil -} - -func (m *SLGlobalNotif) GetEvent() isSLGlobalNotif_Event { - if m != nil { - return m.Event - } - return nil -} - -func (x *SLGlobalNotif) GetInitRspMsg() *SLInitMsgRsp { - if x, ok := x.GetEvent().(*SLGlobalNotif_InitRspMsg); ok { - return x.InitRspMsg - } - return nil -} - -type isSLGlobalNotif_Event interface { - isSLGlobalNotif_Event() -} - -type SLGlobalNotif_InitRspMsg struct { - // case EventType == SL_GLOBAL_EVENT_TYPE_VERSION: - // => this field carries the Server version number. - InitRspMsg *SLInitMsgRsp `protobuf:"bytes,3,opt,name=InitRspMsg,proto3,oneof"` -} - -func (*SLGlobalNotif_InitRspMsg) isSLGlobalNotif_Event() {} - -// Globals query message. -type SLGlobalsGetMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *SLGlobalsGetMsg) Reset() { - *x = SLGlobalsGetMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_global_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLGlobalsGetMsg) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLGlobalsGetMsg) ProtoMessage() {} - -func (x *SLGlobalsGetMsg) ProtoReflect() protoreflect.Message { - mi := &file_sl_global_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SLGlobalsGetMsg.ProtoReflect.Descriptor instead. -func (*SLGlobalsGetMsg) Descriptor() ([]byte, []int) { - return file_sl_global_proto_rawDescGZIP(), []int{3} -} - -// Platform specific globals Response. -type SLGlobalsGetMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Corresponding error code - ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` - // Maximum vrf name length. - MaxVrfNameLength uint32 `protobuf:"varint,2,opt,name=MaxVrfNameLength,proto3" json:"MaxVrfNameLength,omitempty"` - // Maximum interface name length. - MaxInterfaceNameLength uint32 `protobuf:"varint,3,opt,name=MaxInterfaceNameLength,proto3" json:"MaxInterfaceNameLength,omitempty"` - // Maximum paths per Route/ILM Entry. - MaxPathsPerEntry uint32 `protobuf:"varint,4,opt,name=MaxPathsPerEntry,proto3" json:"MaxPathsPerEntry,omitempty"` - // Maximum primary paths per Route/ILM Entry. - MaxPrimaryPathPerEntry uint32 `protobuf:"varint,5,opt,name=MaxPrimaryPathPerEntry,proto3" json:"MaxPrimaryPathPerEntry,omitempty"` - // Maximum backup paths per Route/ILM Entry. - MaxBackupPathPerEntry uint32 `protobuf:"varint,6,opt,name=MaxBackupPathPerEntry,proto3" json:"MaxBackupPathPerEntry,omitempty"` - // Maximum MPLS labels per Route/ILM Entry. - MaxMplsLabelsPerPath uint32 `protobuf:"varint,7,opt,name=MaxMplsLabelsPerPath,proto3" json:"MaxMplsLabelsPerPath,omitempty"` - // Minimum Primary path id number. - MinPrimaryPathIdNum uint32 `protobuf:"varint,8,opt,name=MinPrimaryPathIdNum,proto3" json:"MinPrimaryPathIdNum,omitempty"` - // Maximum Primary path id number. - MaxPrimaryPathIdNum uint32 `protobuf:"varint,9,opt,name=MaxPrimaryPathIdNum,proto3" json:"MaxPrimaryPathIdNum,omitempty"` - // Minimum Pure Backup path id number. - MinBackupPathIdNum uint32 `protobuf:"varint,10,opt,name=MinBackupPathIdNum,proto3" json:"MinBackupPathIdNum,omitempty"` - // Maximum Pure Backup path id number. - MaxBackupPathIdNum uint32 `protobuf:"varint,11,opt,name=MaxBackupPathIdNum,proto3" json:"MaxBackupPathIdNum,omitempty"` - // Maximum number of remote addresses - MaxRemoteAddressNum uint32 `protobuf:"varint,12,opt,name=MaxRemoteAddressNum,proto3" json:"MaxRemoteAddressNum,omitempty"` -} - -func (x *SLGlobalsGetMsgRsp) Reset() { - *x = SLGlobalsGetMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_global_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLGlobalsGetMsgRsp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLGlobalsGetMsgRsp) ProtoMessage() {} - -func (x *SLGlobalsGetMsgRsp) ProtoReflect() protoreflect.Message { - mi := &file_sl_global_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SLGlobalsGetMsgRsp.ProtoReflect.Descriptor instead. -func (*SLGlobalsGetMsgRsp) Descriptor() ([]byte, []int) { - return file_sl_global_proto_rawDescGZIP(), []int{4} -} - -func (x *SLGlobalsGetMsgRsp) GetErrStatus() *SLErrorStatus { - if x != nil { - return x.ErrStatus - } - return nil -} - -func (x *SLGlobalsGetMsgRsp) GetMaxVrfNameLength() uint32 { - if x != nil { - return x.MaxVrfNameLength - } - return 0 -} - -func (x *SLGlobalsGetMsgRsp) GetMaxInterfaceNameLength() uint32 { - if x != nil { - return x.MaxInterfaceNameLength - } - return 0 -} - -func (x *SLGlobalsGetMsgRsp) GetMaxPathsPerEntry() uint32 { - if x != nil { - return x.MaxPathsPerEntry - } - return 0 -} - -func (x *SLGlobalsGetMsgRsp) GetMaxPrimaryPathPerEntry() uint32 { - if x != nil { - return x.MaxPrimaryPathPerEntry - } - return 0 -} - -func (x *SLGlobalsGetMsgRsp) GetMaxBackupPathPerEntry() uint32 { - if x != nil { - return x.MaxBackupPathPerEntry - } - return 0 -} - -func (x *SLGlobalsGetMsgRsp) GetMaxMplsLabelsPerPath() uint32 { - if x != nil { - return x.MaxMplsLabelsPerPath - } - return 0 -} - -func (x *SLGlobalsGetMsgRsp) GetMinPrimaryPathIdNum() uint32 { - if x != nil { - return x.MinPrimaryPathIdNum - } - return 0 -} - -func (x *SLGlobalsGetMsgRsp) GetMaxPrimaryPathIdNum() uint32 { - if x != nil { - return x.MaxPrimaryPathIdNum - } - return 0 -} - -func (x *SLGlobalsGetMsgRsp) GetMinBackupPathIdNum() uint32 { - if x != nil { - return x.MinBackupPathIdNum - } - return 0 -} - -func (x *SLGlobalsGetMsgRsp) GetMaxBackupPathIdNum() uint32 { - if x != nil { - return x.MaxBackupPathIdNum - } - return 0 -} - -func (x *SLGlobalsGetMsgRsp) GetMaxRemoteAddressNum() uint32 { - if x != nil { - return x.MaxRemoteAddressNum - } - return 0 -} - -var File_sl_global_proto protoreflect.FileDescriptor - -var file_sl_global_proto_rawDesc = []byte{ - 0x0a, 0x0f, 0x73, 0x6c, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x15, 0x73, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5b, 0x0a, 0x09, 0x53, 0x4c, 0x49, 0x6e, - 0x69, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x6a, 0x6f, 0x72, 0x56, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x61, 0x6a, 0x6f, 0x72, 0x56, 0x65, - 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x69, 0x6e, 0x6f, 0x72, 0x56, 0x65, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x69, 0x6e, 0x6f, 0x72, 0x56, 0x65, 0x72, 0x12, 0x16, 0x0a, - 0x06, 0x53, 0x75, 0x62, 0x56, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x53, - 0x75, 0x62, 0x56, 0x65, 0x72, 0x22, 0x5e, 0x0a, 0x0c, 0x53, 0x4c, 0x49, 0x6e, 0x69, 0x74, 0x4d, - 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x6a, 0x6f, 0x72, 0x56, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x61, 0x6a, 0x6f, 0x72, 0x56, 0x65, - 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x69, 0x6e, 0x6f, 0x72, 0x56, 0x65, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x69, 0x6e, 0x6f, 0x72, 0x56, 0x65, 0x72, 0x12, 0x16, 0x0a, - 0x06, 0x53, 0x75, 0x62, 0x56, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x53, - 0x75, 0x62, 0x56, 0x65, 0x72, 0x22, 0xa9, 0x01, 0x0a, 0x0d, 0x53, 0x4c, 0x47, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x12, 0x30, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x53, 0x4c, 0x47, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x45, 0x72, 0x72, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x53, - 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x45, 0x72, - 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2f, 0x0a, 0x0a, 0x49, 0x6e, 0x69, 0x74, 0x52, - 0x73, 0x70, 0x4d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x53, 0x4c, - 0x49, 0x6e, 0x69, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x48, 0x00, 0x52, 0x0a, 0x49, 0x6e, - 0x69, 0x74, 0x52, 0x73, 0x70, 0x4d, 0x73, 0x67, 0x42, 0x07, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x22, 0x11, 0x0a, 0x0f, 0x53, 0x4c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x47, 0x65, - 0x74, 0x4d, 0x73, 0x67, 0x22, 0xea, 0x04, 0x0a, 0x12, 0x53, 0x4c, 0x47, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x73, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x09, 0x45, - 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, - 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x4d, 0x61, 0x78, - 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x10, 0x4d, 0x61, 0x78, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x4c, - 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x36, 0x0a, 0x16, 0x4d, 0x61, 0x78, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x66, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x4d, 0x61, 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, - 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x2a, 0x0a, - 0x10, 0x4d, 0x61, 0x78, 0x50, 0x61, 0x74, 0x68, 0x73, 0x50, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x4d, 0x61, 0x78, 0x50, 0x61, 0x74, 0x68, - 0x73, 0x50, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x36, 0x0a, 0x16, 0x4d, 0x61, 0x78, - 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x50, 0x65, 0x72, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x4d, 0x61, 0x78, 0x50, 0x72, - 0x69, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x50, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x34, 0x0a, 0x15, 0x4d, 0x61, 0x78, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x61, - 0x74, 0x68, 0x50, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x15, 0x4d, 0x61, 0x78, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x61, 0x74, 0x68, 0x50, - 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x32, 0x0a, 0x14, 0x4d, 0x61, 0x78, 0x4d, 0x70, - 0x6c, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x50, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x4d, 0x61, 0x78, 0x4d, 0x70, 0x6c, 0x73, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x50, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x12, 0x30, 0x0a, 0x13, 0x4d, - 0x69, 0x6e, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x49, 0x64, 0x4e, - 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x4d, 0x69, 0x6e, 0x50, 0x72, 0x69, - 0x6d, 0x61, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x49, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x30, 0x0a, - 0x13, 0x4d, 0x61, 0x78, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x49, - 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x4d, 0x61, 0x78, 0x50, - 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x49, 0x64, 0x4e, 0x75, 0x6d, 0x12, - 0x2e, 0x0a, 0x12, 0x4d, 0x69, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x61, 0x74, 0x68, - 0x49, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x4d, 0x69, 0x6e, - 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x61, 0x74, 0x68, 0x49, 0x64, 0x4e, 0x75, 0x6d, 0x12, - 0x2e, 0x0a, 0x12, 0x4d, 0x61, 0x78, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x61, 0x74, 0x68, - 0x49, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x4d, 0x61, 0x78, - 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x61, 0x74, 0x68, 0x49, 0x64, 0x4e, 0x75, 0x6d, 0x12, - 0x30, 0x0a, 0x13, 0x4d, 0x61, 0x78, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x4e, 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x4d, 0x61, - 0x78, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4e, 0x75, - 0x6d, 0x2a, 0x9c, 0x01, 0x0a, 0x11, 0x53, 0x4c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x6f, - 0x74, 0x69, 0x66, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x4c, 0x5f, 0x47, 0x4c, - 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x4c, - 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x4c, - 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x48, 0x45, 0x41, 0x52, 0x54, 0x42, 0x45, 0x41, 0x54, 0x10, 0x02, 0x12, 0x20, - 0x0a, 0x1c, 0x53, 0x4c, 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x45, 0x56, 0x45, 0x4e, - 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x03, - 0x32, 0x74, 0x0a, 0x08, 0x53, 0x4c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x31, 0x0a, 0x11, - 0x53, 0x4c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x49, 0x6e, 0x69, 0x74, 0x4e, 0x6f, 0x74, 0x69, - 0x66, 0x12, 0x0a, 0x2e, 0x53, 0x4c, 0x49, 0x6e, 0x69, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x0e, 0x2e, - 0x53, 0x4c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x30, 0x01, 0x12, - 0x35, 0x0a, 0x0c, 0x53, 0x4c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x47, 0x65, 0x74, 0x12, - 0x10, 0x2e, 0x53, 0x4c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x47, 0x65, 0x74, 0x4d, 0x73, - 0x67, 0x1a, 0x13, 0x2e, 0x53, 0x4c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x47, 0x65, 0x74, - 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x42, 0x11, 0x5a, 0x0f, 0x2e, 0x2f, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, -} - -var ( - file_sl_global_proto_rawDescOnce sync.Once - file_sl_global_proto_rawDescData = file_sl_global_proto_rawDesc -) - -func file_sl_global_proto_rawDescGZIP() []byte { - file_sl_global_proto_rawDescOnce.Do(func() { - file_sl_global_proto_rawDescData = protoimpl.X.CompressGZIP(file_sl_global_proto_rawDescData) - }) - return file_sl_global_proto_rawDescData -} - -var file_sl_global_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_sl_global_proto_msgTypes = make([]protoimpl.MessageInfo, 5) -var file_sl_global_proto_goTypes = []interface{}{ - (SLGlobalNotifType)(0), // 0: SLGlobalNotifType - (*SLInitMsg)(nil), // 1: SLInitMsg - (*SLInitMsgRsp)(nil), // 2: SLInitMsgRsp - (*SLGlobalNotif)(nil), // 3: SLGlobalNotif - (*SLGlobalsGetMsg)(nil), // 4: SLGlobalsGetMsg - (*SLGlobalsGetMsgRsp)(nil), // 5: SLGlobalsGetMsgRsp - (*SLErrorStatus)(nil), // 6: SLErrorStatus -} -var file_sl_global_proto_depIdxs = []int32{ - 0, // 0: SLGlobalNotif.EventType:type_name -> SLGlobalNotifType - 6, // 1: SLGlobalNotif.ErrStatus:type_name -> SLErrorStatus - 2, // 2: SLGlobalNotif.InitRspMsg:type_name -> SLInitMsgRsp - 6, // 3: SLGlobalsGetMsgRsp.ErrStatus:type_name -> SLErrorStatus - 1, // 4: SLGlobal.SLGlobalInitNotif:input_type -> SLInitMsg - 4, // 5: SLGlobal.SLGlobalsGet:input_type -> SLGlobalsGetMsg - 3, // 6: SLGlobal.SLGlobalInitNotif:output_type -> SLGlobalNotif - 5, // 7: SLGlobal.SLGlobalsGet:output_type -> SLGlobalsGetMsgRsp - 6, // [6:8] is the sub-list for method output_type - 4, // [4:6] is the sub-list for method input_type - 4, // [4:4] is the sub-list for extension type_name - 4, // [4:4] is the sub-list for extension extendee - 0, // [0:4] is the sub-list for field type_name -} - -func init() { file_sl_global_proto_init() } -func file_sl_global_proto_init() { - if File_sl_global_proto != nil { - return - } - file_sl_common_types_proto_init() - if !protoimpl.UnsafeEnabled { - file_sl_global_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLInitMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_global_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLInitMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_global_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLGlobalNotif); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_global_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLGlobalsGetMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_global_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLGlobalsGetMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_sl_global_proto_msgTypes[2].OneofWrappers = []interface{}{ - (*SLGlobalNotif_InitRspMsg)(nil), - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_sl_global_proto_rawDesc, - NumEnums: 1, - NumMessages: 5, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_sl_global_proto_goTypes, - DependencyIndexes: file_sl_global_proto_depIdxs, - EnumInfos: file_sl_global_proto_enumTypes, - MessageInfos: file_sl_global_proto_msgTypes, - }.Build() - File_sl_global_proto = out.File - file_sl_global_proto_rawDesc = nil - file_sl_global_proto_goTypes = nil - file_sl_global_proto_depIdxs = nil -} diff --git a/proto/sla/sl_global.proto b/proto/sla/sl_global.proto deleted file mode 100755 index 8222688..0000000 --- a/proto/sla/sl_global.proto +++ /dev/null @@ -1,189 +0,0 @@ -// @file -// @brief Server RPC proto file. Client invokes to init the session -// on server. -// -// ---------------------------------------------------------------- -// Copyright (c) 2016 by Cisco Systems, Inc. -// All rights reserved. -// ----------------------------------------------------------------- -// -// - -syntax = "proto3"; -option go_package = "./service_layer"; - -import "sl_common_types.proto"; - -// @defgroup SLGlobal -// @ingroup Common -// Global Initialization and Notifications. -// The following RPCs are used in global initialization and capability queries. -// @{ -service SLGlobal { - //@addtogroup SLGlobal - //@{ - ///; - - // Initialize the connection, and setup a notification channel. - // This MUST be the first call to setup the Service Layer connection. - // - // The caller MUST maintain the notification channel to be able to - // communicate with the server. - // If this channel is not properly established and maintained, all other - // RPC requests are rejected. - // - // The caller must send its version information as part of the SLInitMsg - // message. The server will reply with SL_GLOBAL_EVENT_TYPE_VERSION - // that tells the caller whether he can proceed or not. - // Refer to message SLGlobalNotif below for further details. - // - // After the version handshake, the notification channel is used for - // "push" event notifications, such as: - // - SLGlobalNotif.EventType = SL_GLOBAL_EVENT_TYPE_HEARTBEAT - // heartbeat notification messages are sent to the client on - // a periodic basis. - // Refer to SLGlobalNotif definition for further info. - rpc SLGlobalInitNotif(SLInitMsg) returns (stream SLGlobalNotif); - - // Get platform specific globals - rpc SLGlobalsGet(SLGlobalsGetMsg) returns (SLGlobalsGetMsgRsp); - //@} -} - -// Initialization message sent to the server. -// If the client and server are running compatible version numbers, a -// connection will be made and the server response will be received -// with a successful status code. -message SLInitMsg { - // Client's Major version of service-layer API (refer to sl_version.proto) - uint32 MajorVer = 1; - - // Minor Version - uint32 MinorVer = 2; - - // Sub-Version - uint32 SubVer = 3; -} - -// Server's response to the SLInitMsg. -// On Success (ErrStatus), the session with the server is established -// and the client is allowed to proceed. -message SLInitMsgRsp { - // Server's version of service-layer API (refer to sl_version.proto) - // Major-number revisions are NOT backwards compatible, - // unless otherwise specified. The Server may reject a session if there - // is a version number mismatch or non-backwards compatibility. - uint32 MajorVer = 1; - - // Minor Version - uint32 MinorVer = 2; - - // Sub-Version - uint32 SubVer = 3; -} - - -// Global Event Notification types. -enum SLGlobalNotifType { - // Reserved. 0x0 - SL_GLOBAL_EVENT_TYPE_RESERVED = 0x0; - - // Error. ErrStatus field elaborates on the message. 0x1 - SL_GLOBAL_EVENT_TYPE_ERROR = 0x1; - - // HeartBeat. 0x2 - SL_GLOBAL_EVENT_TYPE_HEARTBEAT = 0x2; - - // Version. SLInitMsgRsp field elaborates on the server version. 0x3 - SL_GLOBAL_EVENT_TYPE_VERSION = 0x3; -} - - -// Globals query message. -message SLGlobalNotif { - // Event Type. - SLGlobalNotifType EventType = 1; - - // Status code, interpreted based on the Event Type. - // - // case EventType == SL_GLOBAL_EVENT_TYPE_ERROR: - // case ErrStatus == SL_NOTIF_TERM: - // => Another client is attempting to take over the session. - // This session will be closed. - // case ErrStatus == (some error from SLErrorStatus) - // => Client must look into the specific error message returned. - // - // case EventType == SL_GLOBAL_EVENT_TYPE_HEARTBEAT: - // case ErrStatus == SL_SUCCESS - // => Client can safely ignore this heartbeat message. - // - // case EventType == SL_GLOBAL_EVENT_TYPE_VERSION: - // case ErrStatus == SL_SUCCESS - // => Client version accepted. - // case ErrStatus == SL_INIT_STATE_READY - // => Client version accepted. - // Any previous state was sucessfully recovered. - // case ErrStatus == SL_INIT_STATE_CLEAR - // => Client version accepted. Any previous state was lost. - // Client must replay all previous objects to server. - // case ErrStatus == SL_UNSUPPORTED_VER - // => Client and Server version mismatch. The client is not - // allowed to proceed, and the channel will be closed. - // case ErrStatus == (some error from SLErrorStatus) - // => Client must either try again, or look into the specific - // error message returned. - SLErrorStatus ErrStatus = 2; - - // Further info based on EventType. - oneof Event { - // case EventType == SL_GLOBAL_EVENT_TYPE_VERSION: - // => this field carries the Server version number. - SLInitMsgRsp InitRspMsg = 3; - } -} - -// Globals query message. -message SLGlobalsGetMsg { - -} - -// Platform specific globals Response. -message SLGlobalsGetMsgRsp { - // Corresponding error code - SLErrorStatus ErrStatus = 1; - - // Maximum vrf name length. - uint32 MaxVrfNameLength = 2; - - // Maximum interface name length. - uint32 MaxInterfaceNameLength = 3; - - // Maximum paths per Route/ILM Entry. - uint32 MaxPathsPerEntry = 4; - - // Maximum primary paths per Route/ILM Entry. - uint32 MaxPrimaryPathPerEntry = 5; - - // Maximum backup paths per Route/ILM Entry. - uint32 MaxBackupPathPerEntry = 6; - - // Maximum MPLS labels per Route/ILM Entry. - uint32 MaxMplsLabelsPerPath = 7; - - // Minimum Primary path id number. - uint32 MinPrimaryPathIdNum = 8; - - // Maximum Primary path id number. - uint32 MaxPrimaryPathIdNum = 9; - - // Minimum Pure Backup path id number. - uint32 MinBackupPathIdNum = 10; - - // Maximum Pure Backup path id number. - uint32 MaxBackupPathIdNum = 11; - - // Maximum number of remote addresses - uint32 MaxRemoteAddressNum = 12; -} - -// @} diff --git a/proto/sla/sl_global_grpc.pb.go b/proto/sla/sl_global_grpc.pb.go deleted file mode 100644 index f433fc0..0000000 --- a/proto/sla/sl_global_grpc.pb.go +++ /dev/null @@ -1,209 +0,0 @@ -// Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.5.0 -// source: sl_global.proto - -package service_layer - -import ( - context "context" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" -) - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 - -// SLGlobalClient is the client API for SLGlobal service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type SLGlobalClient interface { - // Initialize the connection, and setup a notification channel. - // This MUST be the first call to setup the Service Layer connection. - // - // The caller MUST maintain the notification channel to be able to - // communicate with the server. - // If this channel is not properly established and maintained, all other - // RPC requests are rejected. - // - // The caller must send its version information as part of the SLInitMsg - // message. The server will reply with SL_GLOBAL_EVENT_TYPE_VERSION - // that tells the caller whether he can proceed or not. - // Refer to message SLGlobalNotif below for further details. - // - // After the version handshake, the notification channel is used for - // "push" event notifications, such as: - // - SLGlobalNotif.EventType = SL_GLOBAL_EVENT_TYPE_HEARTBEAT - // heartbeat notification messages are sent to the client on - // a periodic basis. - // Refer to SLGlobalNotif definition for further info. - SLGlobalInitNotif(ctx context.Context, in *SLInitMsg, opts ...grpc.CallOption) (SLGlobal_SLGlobalInitNotifClient, error) - // Get platform specific globals - SLGlobalsGet(ctx context.Context, in *SLGlobalsGetMsg, opts ...grpc.CallOption) (*SLGlobalsGetMsgRsp, error) -} - -type sLGlobalClient struct { - cc grpc.ClientConnInterface -} - -func NewSLGlobalClient(cc grpc.ClientConnInterface) SLGlobalClient { - return &sLGlobalClient{cc} -} - -func (c *sLGlobalClient) SLGlobalInitNotif(ctx context.Context, in *SLInitMsg, opts ...grpc.CallOption) (SLGlobal_SLGlobalInitNotifClient, error) { - stream, err := c.cc.NewStream(ctx, &SLGlobal_ServiceDesc.Streams[0], "/SLGlobal/SLGlobalInitNotif", opts...) - if err != nil { - return nil, err - } - x := &sLGlobalSLGlobalInitNotifClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type SLGlobal_SLGlobalInitNotifClient interface { - Recv() (*SLGlobalNotif, error) - grpc.ClientStream -} - -type sLGlobalSLGlobalInitNotifClient struct { - grpc.ClientStream -} - -func (x *sLGlobalSLGlobalInitNotifClient) Recv() (*SLGlobalNotif, error) { - m := new(SLGlobalNotif) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *sLGlobalClient) SLGlobalsGet(ctx context.Context, in *SLGlobalsGetMsg, opts ...grpc.CallOption) (*SLGlobalsGetMsgRsp, error) { - out := new(SLGlobalsGetMsgRsp) - err := c.cc.Invoke(ctx, "/SLGlobal/SLGlobalsGet", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// SLGlobalServer is the server API for SLGlobal service. -// All implementations must embed UnimplementedSLGlobalServer -// for forward compatibility -type SLGlobalServer interface { - // Initialize the connection, and setup a notification channel. - // This MUST be the first call to setup the Service Layer connection. - // - // The caller MUST maintain the notification channel to be able to - // communicate with the server. - // If this channel is not properly established and maintained, all other - // RPC requests are rejected. - // - // The caller must send its version information as part of the SLInitMsg - // message. The server will reply with SL_GLOBAL_EVENT_TYPE_VERSION - // that tells the caller whether he can proceed or not. - // Refer to message SLGlobalNotif below for further details. - // - // After the version handshake, the notification channel is used for - // "push" event notifications, such as: - // - SLGlobalNotif.EventType = SL_GLOBAL_EVENT_TYPE_HEARTBEAT - // heartbeat notification messages are sent to the client on - // a periodic basis. - // Refer to SLGlobalNotif definition for further info. - SLGlobalInitNotif(*SLInitMsg, SLGlobal_SLGlobalInitNotifServer) error - // Get platform specific globals - SLGlobalsGet(context.Context, *SLGlobalsGetMsg) (*SLGlobalsGetMsgRsp, error) - mustEmbedUnimplementedSLGlobalServer() -} - -// UnimplementedSLGlobalServer must be embedded to have forward compatible implementations. -type UnimplementedSLGlobalServer struct { -} - -func (UnimplementedSLGlobalServer) SLGlobalInitNotif(*SLInitMsg, SLGlobal_SLGlobalInitNotifServer) error { - return status.Errorf(codes.Unimplemented, "method SLGlobalInitNotif not implemented") -} -func (UnimplementedSLGlobalServer) SLGlobalsGet(context.Context, *SLGlobalsGetMsg) (*SLGlobalsGetMsgRsp, error) { - return nil, status.Errorf(codes.Unimplemented, "method SLGlobalsGet not implemented") -} -func (UnimplementedSLGlobalServer) mustEmbedUnimplementedSLGlobalServer() {} - -// UnsafeSLGlobalServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to SLGlobalServer will -// result in compilation errors. -type UnsafeSLGlobalServer interface { - mustEmbedUnimplementedSLGlobalServer() -} - -func RegisterSLGlobalServer(s grpc.ServiceRegistrar, srv SLGlobalServer) { - s.RegisterService(&SLGlobal_ServiceDesc, srv) -} - -func _SLGlobal_SLGlobalInitNotif_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(SLInitMsg) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(SLGlobalServer).SLGlobalInitNotif(m, &sLGlobalSLGlobalInitNotifServer{stream}) -} - -type SLGlobal_SLGlobalInitNotifServer interface { - Send(*SLGlobalNotif) error - grpc.ServerStream -} - -type sLGlobalSLGlobalInitNotifServer struct { - grpc.ServerStream -} - -func (x *sLGlobalSLGlobalInitNotifServer) Send(m *SLGlobalNotif) error { - return x.ServerStream.SendMsg(m) -} - -func _SLGlobal_SLGlobalsGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SLGlobalsGetMsg) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SLGlobalServer).SLGlobalsGet(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/SLGlobal/SLGlobalsGet", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SLGlobalServer).SLGlobalsGet(ctx, req.(*SLGlobalsGetMsg)) - } - return interceptor(ctx, in, info, handler) -} - -// SLGlobal_ServiceDesc is the grpc.ServiceDesc for SLGlobal service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var SLGlobal_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "SLGlobal", - HandlerType: (*SLGlobalServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "SLGlobalsGet", - Handler: _SLGlobal_SLGlobalsGet_Handler, - }, - }, - Streams: []grpc.StreamDesc{ - { - StreamName: "SLGlobalInitNotif", - Handler: _SLGlobal_SLGlobalInitNotif_Handler, - ServerStreams: true, - }, - }, - Metadata: "sl_global.proto", -} diff --git a/proto/sla/sl_route_common.pb.go b/proto/sla/sl_route_common.pb.go deleted file mode 100644 index dd62bd9..0000000 --- a/proto/sla/sl_route_common.pb.go +++ /dev/null @@ -1,1402 +0,0 @@ -// @file -// @brief Client RPC proto file for common route types. -// This file defines common route features, including the Prefix, -// VRF information, path information, administrative distance, and -// default route status for a route object. -// -// ---------------------------------------------------------------- -// Copyright (c) 2016 by Cisco Systems, Inc. -// All rights reserved. -// ----------------------------------------------------------------- -// -// - -//@defgroup Route -//@brief Route service definitions. - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.28.0 -// protoc v3.5.0 -// source: sl_route_common.proto - -package service_layer - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -// Route Globals Get Message -type SLRouteGlobalsGetMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *SLRouteGlobalsGetMsg) Reset() { - *x = SLRouteGlobalsGetMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLRouteGlobalsGetMsg) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLRouteGlobalsGetMsg) ProtoMessage() {} - -func (x *SLRouteGlobalsGetMsg) ProtoReflect() protoreflect.Message { - mi := &file_sl_route_common_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SLRouteGlobalsGetMsg.ProtoReflect.Descriptor instead. -func (*SLRouteGlobalsGetMsg) Descriptor() ([]byte, []int) { - return file_sl_route_common_proto_rawDescGZIP(), []int{0} -} - -// Route Globals Get Message Response -type SLRouteGlobalsGetMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Corresponding error code - ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` - // Max VrfReg objects within a single VrfRegMsg message. - MaxVrfregPerVrfregmsg uint32 `protobuf:"varint,2,opt,name=MaxVrfregPerVrfregmsg,proto3" json:"MaxVrfregPerVrfregmsg,omitempty"` - // Max Route objects within a single RouteMsg message. - MaxRoutePerRoutemsg uint32 `protobuf:"varint,3,opt,name=MaxRoutePerRoutemsg,proto3" json:"MaxRoutePerRoutemsg,omitempty"` -} - -func (x *SLRouteGlobalsGetMsgRsp) Reset() { - *x = SLRouteGlobalsGetMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLRouteGlobalsGetMsgRsp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLRouteGlobalsGetMsgRsp) ProtoMessage() {} - -func (x *SLRouteGlobalsGetMsgRsp) ProtoReflect() protoreflect.Message { - mi := &file_sl_route_common_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SLRouteGlobalsGetMsgRsp.ProtoReflect.Descriptor instead. -func (*SLRouteGlobalsGetMsgRsp) Descriptor() ([]byte, []int) { - return file_sl_route_common_proto_rawDescGZIP(), []int{1} -} - -func (x *SLRouteGlobalsGetMsgRsp) GetErrStatus() *SLErrorStatus { - if x != nil { - return x.ErrStatus - } - return nil -} - -func (x *SLRouteGlobalsGetMsgRsp) GetMaxVrfregPerVrfregmsg() uint32 { - if x != nil { - return x.MaxVrfregPerVrfregmsg - } - return 0 -} - -func (x *SLRouteGlobalsGetMsgRsp) GetMaxRoutePerRoutemsg() uint32 { - if x != nil { - return x.MaxRoutePerRoutemsg - } - return 0 -} - -// Route Global Stats Get Message -type SLRouteGlobalStatsGetMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *SLRouteGlobalStatsGetMsg) Reset() { - *x = SLRouteGlobalStatsGetMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLRouteGlobalStatsGetMsg) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLRouteGlobalStatsGetMsg) ProtoMessage() {} - -func (x *SLRouteGlobalStatsGetMsg) ProtoReflect() protoreflect.Message { - mi := &file_sl_route_common_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SLRouteGlobalStatsGetMsg.ProtoReflect.Descriptor instead. -func (*SLRouteGlobalStatsGetMsg) Descriptor() ([]byte, []int) { - return file_sl_route_common_proto_rawDescGZIP(), []int{2} -} - -// Route Global Stats Get Message Response -type SLRouteGlobalStatsGetMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Corresponding error code - ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` - // Num VRFs registered through the service layer. - VrfCount uint32 `protobuf:"varint,2,opt,name=VrfCount,proto3" json:"VrfCount,omitempty"` - // Num Routes added through the service layer. - RouteCount uint32 `protobuf:"varint,3,opt,name=RouteCount,proto3" json:"RouteCount,omitempty"` -} - -func (x *SLRouteGlobalStatsGetMsgRsp) Reset() { - *x = SLRouteGlobalStatsGetMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLRouteGlobalStatsGetMsgRsp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLRouteGlobalStatsGetMsgRsp) ProtoMessage() {} - -func (x *SLRouteGlobalStatsGetMsgRsp) ProtoReflect() protoreflect.Message { - mi := &file_sl_route_common_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SLRouteGlobalStatsGetMsgRsp.ProtoReflect.Descriptor instead. -func (*SLRouteGlobalStatsGetMsgRsp) Descriptor() ([]byte, []int) { - return file_sl_route_common_proto_rawDescGZIP(), []int{3} -} - -func (x *SLRouteGlobalStatsGetMsgRsp) GetErrStatus() *SLErrorStatus { - if x != nil { - return x.ErrStatus - } - return nil -} - -func (x *SLRouteGlobalStatsGetMsgRsp) GetVrfCount() uint32 { - if x != nil { - return x.VrfCount - } - return 0 -} - -func (x *SLRouteGlobalStatsGetMsgRsp) GetRouteCount() uint32 { - if x != nil { - return x.RouteCount - } - return 0 -} - -// VRF Registration message -type SLVrfReg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // VRF Name. - VrfName string `protobuf:"bytes,1,opt,name=VrfName,proto3" json:"VrfName,omitempty"` - // Default Admin distance for routes programmed by this application - // Range [0-255] - // This default value is used if route objects' AdminDistance is 0. - // Refer to SLRouteCommon - AdminDistance uint32 `protobuf:"varint,2,opt,name=AdminDistance,proto3" json:"AdminDistance,omitempty"` - // In case the Service Layer -> RIB connection is lost, this specifies the - // timeout period after which RIB will automatically purge the installed - // routes, unless the service layer: - // 1. Re-registers (VRF) - // 2. Replay all routes - // 3. And send EOF, before the purge timeout - VrfPurgeIntervalSeconds uint32 `protobuf:"varint,3,opt,name=VrfPurgeIntervalSeconds,proto3" json:"VrfPurgeIntervalSeconds,omitempty"` -} - -func (x *SLVrfReg) Reset() { - *x = SLVrfReg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLVrfReg) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLVrfReg) ProtoMessage() {} - -func (x *SLVrfReg) ProtoReflect() protoreflect.Message { - mi := &file_sl_route_common_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SLVrfReg.ProtoReflect.Descriptor instead. -func (*SLVrfReg) Descriptor() ([]byte, []int) { - return file_sl_route_common_proto_rawDescGZIP(), []int{4} -} - -func (x *SLVrfReg) GetVrfName() string { - if x != nil { - return x.VrfName - } - return "" -} - -func (x *SLVrfReg) GetAdminDistance() uint32 { - if x != nil { - return x.AdminDistance - } - return 0 -} - -func (x *SLVrfReg) GetVrfPurgeIntervalSeconds() uint32 { - if x != nil { - return x.VrfPurgeIntervalSeconds - } - return 0 -} - -// VRF Registration messages. -type SLVrfRegMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Registration Operation - Oper SLRegOp `protobuf:"varint,1,opt,name=Oper,proto3,enum=SLRegOp" json:"Oper,omitempty"` - // List of VRF registrations - VrfRegMsgs []*SLVrfReg `protobuf:"bytes,2,rep,name=VrfRegMsgs,proto3" json:"VrfRegMsgs,omitempty"` -} - -func (x *SLVrfRegMsg) Reset() { - *x = SLVrfRegMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLVrfRegMsg) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLVrfRegMsg) ProtoMessage() {} - -func (x *SLVrfRegMsg) ProtoReflect() protoreflect.Message { - mi := &file_sl_route_common_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SLVrfRegMsg.ProtoReflect.Descriptor instead. -func (*SLVrfRegMsg) Descriptor() ([]byte, []int) { - return file_sl_route_common_proto_rawDescGZIP(), []int{5} -} - -func (x *SLVrfRegMsg) GetOper() SLRegOp { - if x != nil { - return x.Oper - } - return SLRegOp_SL_REGOP_RESERVED -} - -func (x *SLVrfRegMsg) GetVrfRegMsgs() []*SLVrfReg { - if x != nil { - return x.VrfRegMsgs - } - return nil -} - -// VRF Registration message Result -type SLVrfRegMsgRes struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Corresponding error code - ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` - // VRF Name - VrfName string `protobuf:"bytes,2,opt,name=VrfName,proto3" json:"VrfName,omitempty"` -} - -func (x *SLVrfRegMsgRes) Reset() { - *x = SLVrfRegMsgRes{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLVrfRegMsgRes) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLVrfRegMsgRes) ProtoMessage() {} - -func (x *SLVrfRegMsgRes) ProtoReflect() protoreflect.Message { - mi := &file_sl_route_common_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SLVrfRegMsgRes.ProtoReflect.Descriptor instead. -func (*SLVrfRegMsgRes) Descriptor() ([]byte, []int) { - return file_sl_route_common_proto_rawDescGZIP(), []int{6} -} - -func (x *SLVrfRegMsgRes) GetErrStatus() *SLErrorStatus { - if x != nil { - return x.ErrStatus - } - return nil -} - -func (x *SLVrfRegMsgRes) GetVrfName() string { - if x != nil { - return x.VrfName - } - return "" -} - -// VRF Registration message Response. -type SLVrfRegMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Summary result of the bulk operation (refer to enum SLErrorStatus) - // In general, the StatusSummary implies one of 3 things: - // 1. SL_SUCCESS: signifies that the entire bulk operation was successful. - // In this case, the Results list is empty. - // 2. SL_SOME_ERR: signifies that the operation failed for one or more - // entries. In this case, Results holds the result for - // each individual entry in the bulk. - // 3. SL_RPC_XXX: signifies that the entire bulk operation failed. - // In this case, the Results list is empty. - StatusSummary *SLErrorStatus `protobuf:"bytes,1,opt,name=StatusSummary,proto3" json:"StatusSummary,omitempty"` - // In case of errors, this field indicates which entry in the bulk was - // erroneous. - Results []*SLVrfRegMsgRes `protobuf:"bytes,2,rep,name=Results,proto3" json:"Results,omitempty"` -} - -func (x *SLVrfRegMsgRsp) Reset() { - *x = SLVrfRegMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLVrfRegMsgRsp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLVrfRegMsgRsp) ProtoMessage() {} - -func (x *SLVrfRegMsgRsp) ProtoReflect() protoreflect.Message { - mi := &file_sl_route_common_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SLVrfRegMsgRsp.ProtoReflect.Descriptor instead. -func (*SLVrfRegMsgRsp) Descriptor() ([]byte, []int) { - return file_sl_route_common_proto_rawDescGZIP(), []int{7} -} - -func (x *SLVrfRegMsgRsp) GetStatusSummary() *SLErrorStatus { - if x != nil { - return x.StatusSummary - } - return nil -} - -func (x *SLVrfRegMsgRsp) GetResults() []*SLVrfRegMsgRes { - if x != nil { - return x.Results - } - return nil -} - -// VRF Get Message -type SLVrfRegGetMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // VRF name (key). - // If the Key is not specified, then request up to the first - // 'EntriesCount' entries. - VrfName string `protobuf:"bytes,1,opt,name=VrfName,proto3" json:"VrfName,omitempty"` - // Number of entries requested - EntriesCount uint32 `protobuf:"varint,2,opt,name=EntriesCount,proto3" json:"EntriesCount,omitempty"` - // if GetNext is FALSE: - // request up to 'EntriesCount' entries starting from the key - // If GetNext is TRUE, or if the key exact match is not found: - // request up to 'EntriesCount' entries starting from the key's next - GetNext bool `protobuf:"varint,3,opt,name=GetNext,proto3" json:"GetNext,omitempty"` -} - -func (x *SLVrfRegGetMsg) Reset() { - *x = SLVrfRegGetMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLVrfRegGetMsg) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLVrfRegGetMsg) ProtoMessage() {} - -func (x *SLVrfRegGetMsg) ProtoReflect() protoreflect.Message { - mi := &file_sl_route_common_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SLVrfRegGetMsg.ProtoReflect.Descriptor instead. -func (*SLVrfRegGetMsg) Descriptor() ([]byte, []int) { - return file_sl_route_common_proto_rawDescGZIP(), []int{8} -} - -func (x *SLVrfRegGetMsg) GetVrfName() string { - if x != nil { - return x.VrfName - } - return "" -} - -func (x *SLVrfRegGetMsg) GetEntriesCount() uint32 { - if x != nil { - return x.EntriesCount - } - return 0 -} - -func (x *SLVrfRegGetMsg) GetGetNext() bool { - if x != nil { - return x.GetNext - } - return false -} - -// VRF Get Message Response -type SLVrfRegGetMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // End Of File. - // When set to True, it indicates that the server has returned M, where - // M < N, of the original N requested Entries. - Eof bool `protobuf:"varint,1,opt,name=Eof,proto3" json:"Eof,omitempty"` - // Status of the Get operation - ErrStatus *SLErrorStatus `protobuf:"bytes,2,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` - // Returned entries as requested in the Get operation. - // if ErrStatus is SL_SUCCESS, Entries contains the info requested - Entries []*SLVrfReg `protobuf:"bytes,3,rep,name=Entries,proto3" json:"Entries,omitempty"` -} - -func (x *SLVrfRegGetMsgRsp) Reset() { - *x = SLVrfRegGetMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLVrfRegGetMsgRsp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLVrfRegGetMsgRsp) ProtoMessage() {} - -func (x *SLVrfRegGetMsgRsp) ProtoReflect() protoreflect.Message { - mi := &file_sl_route_common_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SLVrfRegGetMsgRsp.ProtoReflect.Descriptor instead. -func (*SLVrfRegGetMsgRsp) Descriptor() ([]byte, []int) { - return file_sl_route_common_proto_rawDescGZIP(), []int{9} -} - -func (x *SLVrfRegGetMsgRsp) GetEof() bool { - if x != nil { - return x.Eof - } - return false -} - -func (x *SLVrfRegGetMsgRsp) GetErrStatus() *SLErrorStatus { - if x != nil { - return x.ErrStatus - } - return nil -} - -func (x *SLVrfRegGetMsgRsp) GetEntries() []*SLVrfReg { - if x != nil { - return x.Entries - } - return nil -} - -// VRF Get Stats Message Response -type SLVRFGetStatsMsgRes struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // VRF name as key - VrfName string `protobuf:"bytes,1,opt,name=VrfName,proto3" json:"VrfName,omitempty"` - // Num VRF Routes added through the service layer. - RouteCount uint32 `protobuf:"varint,2,opt,name=RouteCount,proto3" json:"RouteCount,omitempty"` -} - -func (x *SLVRFGetStatsMsgRes) Reset() { - *x = SLVRFGetStatsMsgRes{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLVRFGetStatsMsgRes) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLVRFGetStatsMsgRes) ProtoMessage() {} - -func (x *SLVRFGetStatsMsgRes) ProtoReflect() protoreflect.Message { - mi := &file_sl_route_common_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SLVRFGetStatsMsgRes.ProtoReflect.Descriptor instead. -func (*SLVRFGetStatsMsgRes) Descriptor() ([]byte, []int) { - return file_sl_route_common_proto_rawDescGZIP(), []int{10} -} - -func (x *SLVRFGetStatsMsgRes) GetVrfName() string { - if x != nil { - return x.VrfName - } - return "" -} - -func (x *SLVRFGetStatsMsgRes) GetRouteCount() uint32 { - if x != nil { - return x.RouteCount - } - return 0 -} - -// VRF Get Stats Message Response -type SLVRFGetStatsMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // End Of File. - // When set to True, it indicates that the server has returned M, where - // M < N, of the original N requested Entries. - Eof bool `protobuf:"varint,1,opt,name=Eof,proto3" json:"Eof,omitempty"` - // Status of the Get Stats operation - ErrStatus *SLErrorStatus `protobuf:"bytes,2,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` - // Returned entries as requested in the Get Stats operation. - // if ErrStatus is SL_SUCCESS, Entries contains the info requested - Entries []*SLVRFGetStatsMsgRes `protobuf:"bytes,3,rep,name=Entries,proto3" json:"Entries,omitempty"` -} - -func (x *SLVRFGetStatsMsgRsp) Reset() { - *x = SLVRFGetStatsMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLVRFGetStatsMsgRsp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLVRFGetStatsMsgRsp) ProtoMessage() {} - -func (x *SLVRFGetStatsMsgRsp) ProtoReflect() protoreflect.Message { - mi := &file_sl_route_common_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SLVRFGetStatsMsgRsp.ProtoReflect.Descriptor instead. -func (*SLVRFGetStatsMsgRsp) Descriptor() ([]byte, []int) { - return file_sl_route_common_proto_rawDescGZIP(), []int{11} -} - -func (x *SLVRFGetStatsMsgRsp) GetEof() bool { - if x != nil { - return x.Eof - } - return false -} - -func (x *SLVRFGetStatsMsgRsp) GetErrStatus() *SLErrorStatus { - if x != nil { - return x.ErrStatus - } - return nil -} - -func (x *SLVRFGetStatsMsgRsp) GetEntries() []*SLVRFGetStatsMsgRes { - if x != nil { - return x.Entries - } - return nil -} - -// Common IPv4/IPv6 route attributes. -type SLRouteCommon struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Adminstrative distance of the route. [0-255]. - // RIB uses this field to break the tie when multiple - // sources install the same route. - // Lower distance is preferred over higher distance. - // The per route object admin distance overrides the default's admin - // distance set at VRF registration. see SLVrfReg - AdminDistance uint32 `protobuf:"varint,1,opt,name=AdminDistance,proto3" json:"AdminDistance,omitempty"` - // Local label associated with this route. - // This is an optional field that can be used to simulatenously setup an - // ILM entry (e.g. head end of an MPLS LSP) for the same route. - // This is especially useful when setting up an MPLS LSP (a /32-route - // towards the remote LSP peer e.g. 2.2.2.2/32) which is required for MPLS - // VPN labeled routes. - // - // Note: MPLS VPN labeled routes can resolve only on: - // - /32-routes with valid LocalLabel and a valid egress MPLS path label - LocalLabel uint32 `protobuf:"varint,2,opt,name=LocalLabel,proto3" json:"LocalLabel,omitempty"` - // Route Tag. - // Routes are usually tagged to prevent loops during redistribution between - // protocols. - Tag uint32 `protobuf:"varint,3,opt,name=Tag,proto3" json:"Tag,omitempty"` -} - -func (x *SLRouteCommon) Reset() { - *x = SLRouteCommon{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLRouteCommon) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLRouteCommon) ProtoMessage() {} - -func (x *SLRouteCommon) ProtoReflect() protoreflect.Message { - mi := &file_sl_route_common_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SLRouteCommon.ProtoReflect.Descriptor instead. -func (*SLRouteCommon) Descriptor() ([]byte, []int) { - return file_sl_route_common_proto_rawDescGZIP(), []int{12} -} - -func (x *SLRouteCommon) GetAdminDistance() uint32 { - if x != nil { - return x.AdminDistance - } - return 0 -} - -func (x *SLRouteCommon) GetLocalLabel() uint32 { - if x != nil { - return x.LocalLabel - } - return 0 -} - -func (x *SLRouteCommon) GetTag() uint32 { - if x != nil { - return x.Tag - } - return 0 -} - -// Route Path attributes. -// -// FRR Note: -// Failover from primary to backup is based on the trigger used (e.g. -// link down, BFD, etc.). Revertion is mainly timeout based. The timeout -// value is platform specific and is not configurable. -type SLRoutePath struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // One of IPv4 or IPv6 address - NexthopAddress *SLIpAddress `protobuf:"bytes,1,opt,name=NexthopAddress,proto3" json:"NexthopAddress,omitempty"` - // Outgoing interface name for the path. - NexthopInterface *SLInterface `protobuf:"bytes,2,opt,name=NexthopInterface,proto3" json:"NexthopInterface,omitempty"` - // Load metric for this path. - // Used for equal/unequal cost load balancing of traffic distribution. - LoadMetric uint32 `protobuf:"varint,3,opt,name=LoadMetric,proto3" json:"LoadMetric,omitempty"` - // Path VRF name. This field is used ONLY if the path is in a different - // VRF than the route (e.g. VPN cases) - VrfName string `protobuf:"bytes,4,opt,name=VrfName,proto3" json:"VrfName,omitempty"` - // Route Metric. - // The metric is typically based on information like load, hop count, - // MTU, reliability of the path, etc. - Metric uint32 `protobuf:"varint,5,opt,name=Metric,proto3" json:"Metric,omitempty"` - // Path identifier. - // Path-id is used to uniquely identify a path when it comes to - // protection (Fast Re-Route - FRR). It is not used otherwise. - // - // In general, for FRR, There are 3 main path attributes: - // 1. Primary. The path is the main path to carry traffic. - // 2. Protected. A primary path with a configured backup path. - // 3. Backup. The path is protecting a primary path. - // - // NOTE1: a primary path (A) can be simultaneously protected (by B), and - // acting as a backup for another path (C). - // In this example, the primary path C is protected by A (which happens to - // be primary). So the primary path (A) is Primary, Protected, and Backup. - // - // The following are various path types based on combinations of attributes: - // 1. Pure Primary i.e. Not Protected and is not a Backup. - // => PathId is optional. ProtectedPathBitmap = 0x0 - // 2. Primary and Protected. Path is not a Backup. - // => PathId is mandatory. ProtectedPathBitmap = 0x0 - // 3. Primary and Not Protected. Path is also a Backup. - // => PathId is mandatory. ProtectedPathBitmap = 0xYYYY - // 4. Primary and Protected. Path is also a Backup. - // => PathId is mandatory. ProtectedPathBitmap = 0xYYYY - // 5. Pure Backup. Protection is not allowed for backup paths. - // => PathId is mandatory. ProtectedPathBitmap = 0xYYYY - // - // NOTE2: Pure backup path-id uses a different range than primary path-ids. - // The valid range of primary path IDs, and pure backup path IDS are - // platform dependent and can be retrieved through the client init message. - PathId uint32 `protobuf:"varint,6,opt,name=PathId,proto3" json:"PathId,omitempty"` - // Path protection bitmap. - // The bitmap of paths this Backup path is protecting. - // Example: If this path is protecting paths with IDs 4, 5 and 6, then - // set bitmap to: - // 0x38 ==> 0011 1000 - // || |-- path 4 - // ||-- path 5 - // |-- path 6 - // (1 << (pathId_1 - 1)) | (1 << (pathId_2 - 1)) | (1 << (pathId_3 - 1)) - ProtectedPathBitmap []uint64 `protobuf:"varint,7,rep,packed,name=ProtectedPathBitmap,proto3" json:"ProtectedPathBitmap,omitempty"` - // MPLS label stack. - // Stack of labels that is pushed when the packet is switched out. - // Label size is LSB 20 bits. Forwarding will set EXP, TTL and BOS. - // For primary path, typically only 1 label is used. - // For backup paths, more than 1 label can be used. If more than one label - // is used, remote backup addresses must be specified. - // The maximum number of labels pushed for primary and backup are - // platform dependent. - LabelStack []uint32 `protobuf:"varint,8,rep,packed,name=LabelStack,proto3" json:"LabelStack,omitempty"` - // MPLS Remote router backup address. - // This field is used only for backup MPLS path with more than one label - // For N+1 backup labels, N remote backup addresses must be specified. - RemoteAddress []*SLIpAddress `protobuf:"bytes,9,rep,name=RemoteAddress,proto3" json:"RemoteAddress,omitempty"` -} - -func (x *SLRoutePath) Reset() { - *x = SLRoutePath{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_common_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLRoutePath) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLRoutePath) ProtoMessage() {} - -func (x *SLRoutePath) ProtoReflect() protoreflect.Message { - mi := &file_sl_route_common_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SLRoutePath.ProtoReflect.Descriptor instead. -func (*SLRoutePath) Descriptor() ([]byte, []int) { - return file_sl_route_common_proto_rawDescGZIP(), []int{13} -} - -func (x *SLRoutePath) GetNexthopAddress() *SLIpAddress { - if x != nil { - return x.NexthopAddress - } - return nil -} - -func (x *SLRoutePath) GetNexthopInterface() *SLInterface { - if x != nil { - return x.NexthopInterface - } - return nil -} - -func (x *SLRoutePath) GetLoadMetric() uint32 { - if x != nil { - return x.LoadMetric - } - return 0 -} - -func (x *SLRoutePath) GetVrfName() string { - if x != nil { - return x.VrfName - } - return "" -} - -func (x *SLRoutePath) GetMetric() uint32 { - if x != nil { - return x.Metric - } - return 0 -} - -func (x *SLRoutePath) GetPathId() uint32 { - if x != nil { - return x.PathId - } - return 0 -} - -func (x *SLRoutePath) GetProtectedPathBitmap() []uint64 { - if x != nil { - return x.ProtectedPathBitmap - } - return nil -} - -func (x *SLRoutePath) GetLabelStack() []uint32 { - if x != nil { - return x.LabelStack - } - return nil -} - -func (x *SLRoutePath) GetRemoteAddress() []*SLIpAddress { - if x != nil { - return x.RemoteAddress - } - return nil -} - -var File_sl_route_common_proto protoreflect.FileDescriptor - -var file_sl_route_common_proto_rawDesc = []byte{ - 0x0a, 0x15, 0x73, 0x6c, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x73, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x16, - 0x0a, 0x14, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, - 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x22, 0xaf, 0x01, 0x0a, 0x17, 0x53, 0x4c, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, - 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x34, 0x0a, 0x15, 0x4d, 0x61, 0x78, 0x56, 0x72, 0x66, 0x72, 0x65, 0x67, 0x50, 0x65, 0x72, - 0x56, 0x72, 0x66, 0x72, 0x65, 0x67, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x15, 0x4d, 0x61, 0x78, 0x56, 0x72, 0x66, 0x72, 0x65, 0x67, 0x50, 0x65, 0x72, 0x56, 0x72, 0x66, - 0x72, 0x65, 0x67, 0x6d, 0x73, 0x67, 0x12, 0x30, 0x0a, 0x13, 0x4d, 0x61, 0x78, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x13, 0x4d, 0x61, 0x78, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x65, 0x72, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x6d, 0x73, 0x67, 0x22, 0x1a, 0x0a, 0x18, 0x53, 0x4c, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x47, 0x65, - 0x74, 0x4d, 0x73, 0x67, 0x22, 0x87, 0x01, 0x0a, 0x1b, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x47, 0x65, 0x74, 0x4d, 0x73, - 0x67, 0x52, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x56, 0x72, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x56, 0x72, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, - 0x0a, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x84, - 0x01, 0x0a, 0x08, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x56, - 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, - 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x69, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x41, 0x64, - 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x17, 0x56, - 0x72, 0x66, 0x50, 0x75, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, - 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x56, 0x72, - 0x66, 0x50, 0x75, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, 0x65, - 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x56, 0x0a, 0x0b, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, - 0x67, 0x4d, 0x73, 0x67, 0x12, 0x1c, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x08, 0x2e, 0x53, 0x4c, 0x52, 0x65, 0x67, 0x4f, 0x70, 0x52, 0x04, 0x4f, 0x70, - 0x65, 0x72, 0x12, 0x29, 0x0a, 0x0a, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, - 0x67, 0x52, 0x0a, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x73, 0x22, 0x58, 0x0a, - 0x0e, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x12, - 0x2c, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, - 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x71, 0x0a, 0x0e, 0x53, 0x4c, 0x56, 0x72, 0x66, - 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x34, 0x0a, 0x0d, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, - 0x29, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0f, 0x2e, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x52, 0x65, - 0x73, 0x52, 0x07, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x68, 0x0a, 0x0e, 0x53, 0x4c, - 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x18, 0x0a, 0x07, - 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, - 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, - 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x45, 0x6e, - 0x74, 0x72, 0x69, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x65, - 0x74, 0x4e, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x47, 0x65, 0x74, - 0x4e, 0x65, 0x78, 0x74, 0x22, 0x78, 0x0a, 0x11, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, - 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x6f, 0x66, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x45, 0x6f, 0x66, 0x12, 0x2c, 0x0a, 0x09, 0x45, - 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, - 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x07, 0x45, 0x6e, 0x74, - 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x53, 0x4c, 0x56, - 0x72, 0x66, 0x52, 0x65, 0x67, 0x52, 0x07, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0x4f, - 0x0a, 0x13, 0x53, 0x4c, 0x56, 0x52, 0x46, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, - 0x73, 0x67, 0x52, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x1e, 0x0a, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, - 0x85, 0x01, 0x0a, 0x13, 0x53, 0x4c, 0x56, 0x52, 0x46, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x73, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x6f, 0x66, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x45, 0x6f, 0x66, 0x12, 0x2c, 0x0a, 0x09, 0x45, 0x72, 0x72, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x53, - 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x45, 0x72, - 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2e, 0x0a, 0x07, 0x45, 0x6e, 0x74, 0x72, 0x69, - 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x53, 0x4c, 0x56, 0x52, 0x46, - 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x52, 0x07, - 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0x67, 0x0a, 0x0d, 0x53, 0x4c, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x41, 0x64, 0x6d, 0x69, - 0x6e, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0d, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1e, - 0x0a, 0x0a, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0a, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x10, - 0x0a, 0x03, 0x54, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x54, 0x61, 0x67, - 0x22, 0xed, 0x02, 0x0a, 0x0b, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, - 0x12, 0x34, 0x0a, 0x0e, 0x4e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x53, 0x4c, 0x49, 0x70, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0e, 0x4e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x10, 0x4e, 0x65, 0x78, 0x74, 0x68, 0x6f, - 0x70, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0c, 0x2e, 0x53, 0x4c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x10, - 0x4e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, - 0x12, 0x1e, 0x0a, 0x0a, 0x4c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x4c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x74, 0x68, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x06, 0x50, 0x61, 0x74, 0x68, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x13, 0x50, 0x72, - 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x42, 0x69, 0x74, 0x6d, 0x61, - 0x70, 0x18, 0x07, 0x20, 0x03, 0x28, 0x04, 0x52, 0x13, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, - 0x65, 0x64, 0x50, 0x61, 0x74, 0x68, 0x42, 0x69, 0x74, 0x6d, 0x61, 0x70, 0x12, 0x1e, 0x0a, 0x0a, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, - 0x52, 0x0a, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x32, 0x0a, 0x0d, - 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x09, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x53, 0x4c, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x52, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x42, 0x11, 0x5a, 0x0f, 0x2e, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_sl_route_common_proto_rawDescOnce sync.Once - file_sl_route_common_proto_rawDescData = file_sl_route_common_proto_rawDesc -) - -func file_sl_route_common_proto_rawDescGZIP() []byte { - file_sl_route_common_proto_rawDescOnce.Do(func() { - file_sl_route_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_sl_route_common_proto_rawDescData) - }) - return file_sl_route_common_proto_rawDescData -} - -var file_sl_route_common_proto_msgTypes = make([]protoimpl.MessageInfo, 14) -var file_sl_route_common_proto_goTypes = []interface{}{ - (*SLRouteGlobalsGetMsg)(nil), // 0: SLRouteGlobalsGetMsg - (*SLRouteGlobalsGetMsgRsp)(nil), // 1: SLRouteGlobalsGetMsgRsp - (*SLRouteGlobalStatsGetMsg)(nil), // 2: SLRouteGlobalStatsGetMsg - (*SLRouteGlobalStatsGetMsgRsp)(nil), // 3: SLRouteGlobalStatsGetMsgRsp - (*SLVrfReg)(nil), // 4: SLVrfReg - (*SLVrfRegMsg)(nil), // 5: SLVrfRegMsg - (*SLVrfRegMsgRes)(nil), // 6: SLVrfRegMsgRes - (*SLVrfRegMsgRsp)(nil), // 7: SLVrfRegMsgRsp - (*SLVrfRegGetMsg)(nil), // 8: SLVrfRegGetMsg - (*SLVrfRegGetMsgRsp)(nil), // 9: SLVrfRegGetMsgRsp - (*SLVRFGetStatsMsgRes)(nil), // 10: SLVRFGetStatsMsgRes - (*SLVRFGetStatsMsgRsp)(nil), // 11: SLVRFGetStatsMsgRsp - (*SLRouteCommon)(nil), // 12: SLRouteCommon - (*SLRoutePath)(nil), // 13: SLRoutePath - (*SLErrorStatus)(nil), // 14: SLErrorStatus - (SLRegOp)(0), // 15: SLRegOp - (*SLIpAddress)(nil), // 16: SLIpAddress - (*SLInterface)(nil), // 17: SLInterface -} -var file_sl_route_common_proto_depIdxs = []int32{ - 14, // 0: SLRouteGlobalsGetMsgRsp.ErrStatus:type_name -> SLErrorStatus - 14, // 1: SLRouteGlobalStatsGetMsgRsp.ErrStatus:type_name -> SLErrorStatus - 15, // 2: SLVrfRegMsg.Oper:type_name -> SLRegOp - 4, // 3: SLVrfRegMsg.VrfRegMsgs:type_name -> SLVrfReg - 14, // 4: SLVrfRegMsgRes.ErrStatus:type_name -> SLErrorStatus - 14, // 5: SLVrfRegMsgRsp.StatusSummary:type_name -> SLErrorStatus - 6, // 6: SLVrfRegMsgRsp.Results:type_name -> SLVrfRegMsgRes - 14, // 7: SLVrfRegGetMsgRsp.ErrStatus:type_name -> SLErrorStatus - 4, // 8: SLVrfRegGetMsgRsp.Entries:type_name -> SLVrfReg - 14, // 9: SLVRFGetStatsMsgRsp.ErrStatus:type_name -> SLErrorStatus - 10, // 10: SLVRFGetStatsMsgRsp.Entries:type_name -> SLVRFGetStatsMsgRes - 16, // 11: SLRoutePath.NexthopAddress:type_name -> SLIpAddress - 17, // 12: SLRoutePath.NexthopInterface:type_name -> SLInterface - 16, // 13: SLRoutePath.RemoteAddress:type_name -> SLIpAddress - 14, // [14:14] is the sub-list for method output_type - 14, // [14:14] is the sub-list for method input_type - 14, // [14:14] is the sub-list for extension type_name - 14, // [14:14] is the sub-list for extension extendee - 0, // [0:14] is the sub-list for field type_name -} - -func init() { file_sl_route_common_proto_init() } -func file_sl_route_common_proto_init() { - if File_sl_route_common_proto != nil { - return - } - file_sl_common_types_proto_init() - if !protoimpl.UnsafeEnabled { - file_sl_route_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRouteGlobalsGetMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRouteGlobalsGetMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRouteGlobalStatsGetMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRouteGlobalStatsGetMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLVrfReg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLVrfRegMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLVrfRegMsgRes); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLVrfRegMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLVrfRegGetMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLVrfRegGetMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLVRFGetStatsMsgRes); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLVRFGetStatsMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRouteCommon); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_common_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRoutePath); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_sl_route_common_proto_rawDesc, - NumEnums: 0, - NumMessages: 14, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_sl_route_common_proto_goTypes, - DependencyIndexes: file_sl_route_common_proto_depIdxs, - MessageInfos: file_sl_route_common_proto_msgTypes, - }.Build() - File_sl_route_common_proto = out.File - file_sl_route_common_proto_rawDesc = nil - file_sl_route_common_proto_goTypes = nil - file_sl_route_common_proto_depIdxs = nil -} diff --git a/proto/sla/sl_route_common.proto b/proto/sla/sl_route_common.proto deleted file mode 100755 index 289ad6f..0000000 --- a/proto/sla/sl_route_common.proto +++ /dev/null @@ -1,287 +0,0 @@ -// @file -// @brief Client RPC proto file for common route types. -// This file defines common route features, including the Prefix, -// VRF information, path information, administrative distance, and -// default route status for a route object. -// -// ---------------------------------------------------------------- -// Copyright (c) 2016 by Cisco Systems, Inc. -// All rights reserved. -// ----------------------------------------------------------------- -// -// - -//@defgroup Route -//@brief Route service definitions. - -syntax = "proto3"; -option go_package = "./service_layer"; - -import "sl_common_types.proto"; - -// @defgroup SLRouteCommon -// @ingroup Route -// Common IPv4, IPv6 Route messages. -// The following messages are used in both IPv4 and IPv6 Route operations. -// @{ -//; - -// Route Globals Get Message -message SLRouteGlobalsGetMsg { - -} - -// Route Globals Get Message Response -message SLRouteGlobalsGetMsgRsp { - // Corresponding error code - SLErrorStatus ErrStatus = 1; - - // Max VrfReg objects within a single VrfRegMsg message. - uint32 MaxVrfregPerVrfregmsg = 2; - - // Max Route objects within a single RouteMsg message. - uint32 MaxRoutePerRoutemsg = 3; -} - -// Route Global Stats Get Message -message SLRouteGlobalStatsGetMsg { - -} - -// Route Global Stats Get Message Response -message SLRouteGlobalStatsGetMsgRsp { - // Corresponding error code - SLErrorStatus ErrStatus = 1; - - // Num VRFs registered through the service layer. - uint32 VrfCount = 2; - - // Num Routes added through the service layer. - uint32 RouteCount = 3; -} - - -// VRF Registration message -message SLVrfReg { - // VRF Name. - string VrfName = 1; - - // Default Admin distance for routes programmed by this application - // Range [0-255] - // This default value is used if route objects' AdminDistance is 0. - // Refer to SLRouteCommon - uint32 AdminDistance = 2; - - // In case the Service Layer -> RIB connection is lost, this specifies the - // timeout period after which RIB will automatically purge the installed - // routes, unless the service layer: - // 1. Re-registers (VRF) - // 2. Replay all routes - // 3. And send EOF, before the purge timeout - uint32 VrfPurgeIntervalSeconds = 3; -} - -// VRF Registration messages. -message SLVrfRegMsg { - // Registration Operation - SLRegOp Oper = 1; - - // List of VRF registrations - repeated SLVrfReg VrfRegMsgs = 2; -} - -// VRF Registration message Result -message SLVrfRegMsgRes { - // Corresponding error code - SLErrorStatus ErrStatus = 1; - - // VRF Name - string VrfName = 2; -} - -// VRF Registration message Response. -message SLVrfRegMsgRsp { - // Summary result of the bulk operation (refer to enum SLErrorStatus) - // In general, the StatusSummary implies one of 3 things: - // 1. SL_SUCCESS: signifies that the entire bulk operation was successful. - // In this case, the Results list is empty. - // 2. SL_SOME_ERR: signifies that the operation failed for one or more - // entries. In this case, Results holds the result for - // each individual entry in the bulk. - // 3. SL_RPC_XXX: signifies that the entire bulk operation failed. - // In this case, the Results list is empty. - SLErrorStatus StatusSummary = 1; - - // In case of errors, this field indicates which entry in the bulk was - // erroneous. - repeated SLVrfRegMsgRes Results = 2; -} - -// VRF Get Message -message SLVrfRegGetMsg { - // VRF name (key). - // If the Key is not specified, then request up to the first - // 'EntriesCount' entries. - string VrfName = 1; - - // Number of entries requested - uint32 EntriesCount = 2; - - // if GetNext is FALSE: - // request up to 'EntriesCount' entries starting from the key - // If GetNext is TRUE, or if the key exact match is not found: - // request up to 'EntriesCount' entries starting from the key's next - bool GetNext = 3; -} - -// VRF Get Message Response -message SLVrfRegGetMsgRsp { - // End Of File. - // When set to True, it indicates that the server has returned M, where - // M < N, of the original N requested Entries. - bool Eof = 1; - - // Status of the Get operation - SLErrorStatus ErrStatus = 2; - - // Returned entries as requested in the Get operation. - // if ErrStatus is SL_SUCCESS, Entries contains the info requested - repeated SLVrfReg Entries = 3; -} - -// VRF Get Stats Message Response -message SLVRFGetStatsMsgRes { - // VRF name as key - string VrfName = 1; - - // Num VRF Routes added through the service layer. - uint32 RouteCount = 2; -} - -// VRF Get Stats Message Response -message SLVRFGetStatsMsgRsp { - // End Of File. - // When set to True, it indicates that the server has returned M, where - // M < N, of the original N requested Entries. - bool Eof = 1; - - // Status of the Get Stats operation - SLErrorStatus ErrStatus = 2; - - // Returned entries as requested in the Get Stats operation. - // if ErrStatus is SL_SUCCESS, Entries contains the info requested - repeated SLVRFGetStatsMsgRes Entries = 3; -} - -// Common IPv4/IPv6 route attributes. -message SLRouteCommon { - // Adminstrative distance of the route. [0-255]. - // RIB uses this field to break the tie when multiple - // sources install the same route. - // Lower distance is preferred over higher distance. - // The per route object admin distance overrides the default's admin - // distance set at VRF registration. see SLVrfReg - uint32 AdminDistance = 1; - - // Local label associated with this route. - // This is an optional field that can be used to simulatenously setup an - // ILM entry (e.g. head end of an MPLS LSP) for the same route. - // This is especially useful when setting up an MPLS LSP (a /32-route - // towards the remote LSP peer e.g. 2.2.2.2/32) which is required for MPLS - // VPN labeled routes. - // - // Note: MPLS VPN labeled routes can resolve only on: - // - /32-routes with valid LocalLabel and a valid egress MPLS path label - uint32 LocalLabel = 2; - - // Route Tag. - // Routes are usually tagged to prevent loops during redistribution between - // protocols. - uint32 Tag = 3; -} - -// Route Path attributes. -// -// FRR Note: -// Failover from primary to backup is based on the trigger used (e.g. -// link down, BFD, etc.). Revertion is mainly timeout based. The timeout -// value is platform specific and is not configurable. -message SLRoutePath { - // One of IPv4 or IPv6 address - SLIpAddress NexthopAddress = 1; - - // Outgoing interface name for the path. - SLInterface NexthopInterface = 2; - - // Load metric for this path. - // Used for equal/unequal cost load balancing of traffic distribution. - uint32 LoadMetric = 3; - - // Path VRF name. This field is used ONLY if the path is in a different - // VRF than the route (e.g. VPN cases) - string VrfName = 4; - - // Route Metric. - // The metric is typically based on information like load, hop count, - // MTU, reliability of the path, etc. - uint32 Metric = 5; - - // Path identifier. - // Path-id is used to uniquely identify a path when it comes to - // protection (Fast Re-Route - FRR). It is not used otherwise. - // - // In general, for FRR, There are 3 main path attributes: - // 1. Primary. The path is the main path to carry traffic. - // 2. Protected. A primary path with a configured backup path. - // 3. Backup. The path is protecting a primary path. - // - // NOTE1: a primary path (A) can be simultaneously protected (by B), and - // acting as a backup for another path (C). - // In this example, the primary path C is protected by A (which happens to - // be primary). So the primary path (A) is Primary, Protected, and Backup. - // - // The following are various path types based on combinations of attributes: - // 1. Pure Primary i.e. Not Protected and is not a Backup. - // => PathId is optional. ProtectedPathBitmap = 0x0 - // 2. Primary and Protected. Path is not a Backup. - // => PathId is mandatory. ProtectedPathBitmap = 0x0 - // 3. Primary and Not Protected. Path is also a Backup. - // => PathId is mandatory. ProtectedPathBitmap = 0xYYYY - // 4. Primary and Protected. Path is also a Backup. - // => PathId is mandatory. ProtectedPathBitmap = 0xYYYY - // 5. Pure Backup. Protection is not allowed for backup paths. - // => PathId is mandatory. ProtectedPathBitmap = 0xYYYY - // - // NOTE2: Pure backup path-id uses a different range than primary path-ids. - // The valid range of primary path IDs, and pure backup path IDS are - // platform dependent and can be retrieved through the client init message. - uint32 PathId = 6; - - // Path protection bitmap. - // The bitmap of paths this Backup path is protecting. - // Example: If this path is protecting paths with IDs 4, 5 and 6, then - // set bitmap to: - // 0x38 ==> 0011 1000 - // || |-- path 4 - // ||-- path 5 - // |-- path 6 - // (1 << (pathId_1 - 1)) | (1 << (pathId_2 - 1)) | (1 << (pathId_3 - 1)) - repeated uint64 ProtectedPathBitmap = 7; - - // MPLS label stack. - // Stack of labels that is pushed when the packet is switched out. - // Label size is LSB 20 bits. Forwarding will set EXP, TTL and BOS. - // For primary path, typically only 1 label is used. - // For backup paths, more than 1 label can be used. If more than one label - // is used, remote backup addresses must be specified. - // The maximum number of labels pushed for primary and backup are - // platform dependent. - repeated uint32 LabelStack = 8; - - // MPLS Remote router backup address. - // This field is used only for backup MPLS path with more than one label - // For N+1 backup labels, N remote backup addresses must be specified. - repeated SLIpAddress RemoteAddress = 9; -} - -// @} diff --git a/proto/sla/sl_route_ipv6.pb.go b/proto/sla/sl_route_ipv6.pb.go deleted file mode 100644 index 1f2f6cc..0000000 --- a/proto/sla/sl_route_ipv6.pb.go +++ /dev/null @@ -1,806 +0,0 @@ -// @file -// @brief Server RPC proto file for IPv6. -// -// ---------------------------------------------------------------- -// Copyright (c) 2016 by cisco Systems, Inc. -// All rights reserved. -// ----------------------------------------------------------------- -// -// - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.28.0 -// protoc v3.5.0 -// source: sl_route_ipv6.proto - -package service_layer - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -// IPv6 route -type SLRoutev6 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // IPv6 Prefix - //0:: - ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff - Prefix []byte `protobuf:"bytes,1,opt,name=Prefix,proto3" json:"Prefix,omitempty"` - // IPv6 prefix length [0-128] - PrefixLen uint32 `protobuf:"varint,2,opt,name=PrefixLen,proto3" json:"PrefixLen,omitempty"` - // Common route attributes - RouteCommon *SLRouteCommon `protobuf:"bytes,3,opt,name=RouteCommon,proto3" json:"RouteCommon,omitempty"` - // List of route paths for a particular route. - // Specifying more than one path is allowed for ECMP/UCMP cases - PathList []*SLRoutePath `protobuf:"bytes,4,rep,name=PathList,proto3" json:"PathList,omitempty"` -} - -func (x *SLRoutev6) Reset() { - *x = SLRoutev6{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_ipv6_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLRoutev6) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLRoutev6) ProtoMessage() {} - -func (x *SLRoutev6) ProtoReflect() protoreflect.Message { - mi := &file_sl_route_ipv6_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SLRoutev6.ProtoReflect.Descriptor instead. -func (*SLRoutev6) Descriptor() ([]byte, []int) { - return file_sl_route_ipv6_proto_rawDescGZIP(), []int{0} -} - -func (x *SLRoutev6) GetPrefix() []byte { - if x != nil { - return x.Prefix - } - return nil -} - -func (x *SLRoutev6) GetPrefixLen() uint32 { - if x != nil { - return x.PrefixLen - } - return 0 -} - -func (x *SLRoutev6) GetRouteCommon() *SLRouteCommon { - if x != nil { - return x.RouteCommon - } - return nil -} - -func (x *SLRoutev6) GetPathList() []*SLRoutePath { - if x != nil { - return x.PathList - } - return nil -} - -// List of routes for bulk download -type SLRoutev6Msg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Route Object Operations - Oper SLObjectOp `protobuf:"varint,1,opt,name=Oper,proto3,enum=SLObjectOp" json:"Oper,omitempty"` - // Correlator. This can be used to correlate replies with requests. - // The Server simply reflects this field back in the reply. - Correlator uint64 `protobuf:"varint,2,opt,name=Correlator,proto3" json:"Correlator,omitempty"` - // VRF name. - VrfName string `protobuf:"bytes,3,opt,name=VrfName,proto3" json:"VrfName,omitempty"` - // List of routes for the VRF specified above - Routes []*SLRoutev6 `protobuf:"bytes,4,rep,name=Routes,proto3" json:"Routes,omitempty"` -} - -func (x *SLRoutev6Msg) Reset() { - *x = SLRoutev6Msg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_ipv6_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLRoutev6Msg) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLRoutev6Msg) ProtoMessage() {} - -func (x *SLRoutev6Msg) ProtoReflect() protoreflect.Message { - mi := &file_sl_route_ipv6_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SLRoutev6Msg.ProtoReflect.Descriptor instead. -func (*SLRoutev6Msg) Descriptor() ([]byte, []int) { - return file_sl_route_ipv6_proto_rawDescGZIP(), []int{1} -} - -func (x *SLRoutev6Msg) GetOper() SLObjectOp { - if x != nil { - return x.Oper - } - return SLObjectOp_SL_OBJOP_RESERVED -} - -func (x *SLRoutev6Msg) GetCorrelator() uint64 { - if x != nil { - return x.Correlator - } - return 0 -} - -func (x *SLRoutev6Msg) GetVrfName() string { - if x != nil { - return x.VrfName - } - return "" -} - -func (x *SLRoutev6Msg) GetRoutes() []*SLRoutev6 { - if x != nil { - return x.Routes - } - return nil -} - -// IPv6 route result, uniquely identified by the Prefix/PrefixLen pair -type SLRoutev6Res struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Corresponding error code - ErrStatus *SLErrorStatus `protobuf:"bytes,1,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` - // IPv6 Prefix - Prefix []byte `protobuf:"bytes,2,opt,name=Prefix,proto3" json:"Prefix,omitempty"` - // IPv6 prefix length, [0-32] - PrefixLen uint32 `protobuf:"varint,3,opt,name=PrefixLen,proto3" json:"PrefixLen,omitempty"` -} - -func (x *SLRoutev6Res) Reset() { - *x = SLRoutev6Res{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_ipv6_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLRoutev6Res) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLRoutev6Res) ProtoMessage() {} - -func (x *SLRoutev6Res) ProtoReflect() protoreflect.Message { - mi := &file_sl_route_ipv6_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SLRoutev6Res.ProtoReflect.Descriptor instead. -func (*SLRoutev6Res) Descriptor() ([]byte, []int) { - return file_sl_route_ipv6_proto_rawDescGZIP(), []int{2} -} - -func (x *SLRoutev6Res) GetErrStatus() *SLErrorStatus { - if x != nil { - return x.ErrStatus - } - return nil -} - -func (x *SLRoutev6Res) GetPrefix() []byte { - if x != nil { - return x.Prefix - } - return nil -} - -func (x *SLRoutev6Res) GetPrefixLen() uint32 { - if x != nil { - return x.PrefixLen - } - return 0 -} - -// IPv6 bulk route result status -type SLRoutev6MsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Correlator. This can be used to correlate replies with requests. - // The Server simply reflects this field back in the reply. - Correlator uint64 `protobuf:"varint,1,opt,name=Correlator,proto3" json:"Correlator,omitempty"` - // VRF name (matches the VRF name of the original operation) - VrfName string `protobuf:"bytes,2,opt,name=VrfName,proto3" json:"VrfName,omitempty"` - // Summary result of the bulk operation (refer to enum SLErrorStatus) - // In general, the StatusSummary implies one of 3 things: - // 1. SL_SUCCESS: signifies that the entire bulk operation was successful. - // In this case, the Results list is empty. - // 2. SL_SOME_ERR: signifies that the operation failed for one or more - // entries. In this case, Results holds the result for - // each individual entry in the bulk. - // 3. SL_RPC_XXX: signifies that the entire bulk operation failed. - // In this case, the Results list is empty. - StatusSummary *SLErrorStatus `protobuf:"bytes,3,opt,name=StatusSummary,proto3" json:"StatusSummary,omitempty"` - // In case of errors, this field indicates which entry in the bulk was - // erroneous. - Results []*SLRoutev6Res `protobuf:"bytes,4,rep,name=Results,proto3" json:"Results,omitempty"` -} - -func (x *SLRoutev6MsgRsp) Reset() { - *x = SLRoutev6MsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_ipv6_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLRoutev6MsgRsp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLRoutev6MsgRsp) ProtoMessage() {} - -func (x *SLRoutev6MsgRsp) ProtoReflect() protoreflect.Message { - mi := &file_sl_route_ipv6_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SLRoutev6MsgRsp.ProtoReflect.Descriptor instead. -func (*SLRoutev6MsgRsp) Descriptor() ([]byte, []int) { - return file_sl_route_ipv6_proto_rawDescGZIP(), []int{3} -} - -func (x *SLRoutev6MsgRsp) GetCorrelator() uint64 { - if x != nil { - return x.Correlator - } - return 0 -} - -func (x *SLRoutev6MsgRsp) GetVrfName() string { - if x != nil { - return x.VrfName - } - return "" -} - -func (x *SLRoutev6MsgRsp) GetStatusSummary() *SLErrorStatus { - if x != nil { - return x.StatusSummary - } - return nil -} - -func (x *SLRoutev6MsgRsp) GetResults() []*SLRoutev6Res { - if x != nil { - return x.Results - } - return nil -} - -// Used to retrieve route attributes -type SLRoutev6GetMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Correlator. This can be used to correlate replies with requests. - // The Server simply reflects this field back in the reply. - Correlator uint64 `protobuf:"varint,1,opt,name=Correlator,proto3" json:"Correlator,omitempty"` - // VRF name. - // If the Key is not specified, then request up to the first - // 'EntriesCount' entries. - VrfName string `protobuf:"bytes,2,opt,name=VrfName,proto3" json:"VrfName,omitempty"` - // IPv6 Prefix - Prefix []byte `protobuf:"bytes,3,opt,name=Prefix,proto3" json:"Prefix,omitempty"` - // IPv6 prefix length, [0-32] - PrefixLen uint32 `protobuf:"varint,4,opt,name=PrefixLen,proto3" json:"PrefixLen,omitempty"` - // Number of entries requested - EntriesCount uint32 `protobuf:"varint,5,opt,name=EntriesCount,proto3" json:"EntriesCount,omitempty"` - // if GetNext is FALSE: - // request up to 'EntriesCount' entries starting from the key - // If GetNext is TRUE, or if the key exact match is not found: - // request up to 'EntriesCount' entries starting from the key's next - GetNext bool `protobuf:"varint,6,opt,name=GetNext,proto3" json:"GetNext,omitempty"` -} - -func (x *SLRoutev6GetMsg) Reset() { - *x = SLRoutev6GetMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_ipv6_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLRoutev6GetMsg) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLRoutev6GetMsg) ProtoMessage() {} - -func (x *SLRoutev6GetMsg) ProtoReflect() protoreflect.Message { - mi := &file_sl_route_ipv6_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SLRoutev6GetMsg.ProtoReflect.Descriptor instead. -func (*SLRoutev6GetMsg) Descriptor() ([]byte, []int) { - return file_sl_route_ipv6_proto_rawDescGZIP(), []int{4} -} - -func (x *SLRoutev6GetMsg) GetCorrelator() uint64 { - if x != nil { - return x.Correlator - } - return 0 -} - -func (x *SLRoutev6GetMsg) GetVrfName() string { - if x != nil { - return x.VrfName - } - return "" -} - -func (x *SLRoutev6GetMsg) GetPrefix() []byte { - if x != nil { - return x.Prefix - } - return nil -} - -func (x *SLRoutev6GetMsg) GetPrefixLen() uint32 { - if x != nil { - return x.PrefixLen - } - return 0 -} - -func (x *SLRoutev6GetMsg) GetEntriesCount() uint32 { - if x != nil { - return x.EntriesCount - } - return 0 -} - -func (x *SLRoutev6GetMsg) GetGetNext() bool { - if x != nil { - return x.GetNext - } - return false -} - -// Gt Route message response -type SLRoutev6GetMsgRsp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Correlator. This can be used to correlate replies with requests. - // The Server simply reflects this field back in the reply. - Correlator uint64 `protobuf:"varint,1,opt,name=Correlator,proto3" json:"Correlator,omitempty"` - // End Of File. - // When set to True, it indicates that the server has returned M, where - // M < N, of the original N requested Entries. - Eof bool `protobuf:"varint,2,opt,name=Eof,proto3" json:"Eof,omitempty"` - // VRF name. - VrfName string `protobuf:"bytes,3,opt,name=VrfName,proto3" json:"VrfName,omitempty"` - // Status of the Get operation - ErrStatus *SLErrorStatus `protobuf:"bytes,4,opt,name=ErrStatus,proto3" json:"ErrStatus,omitempty"` - // Returned entries as requested in the Get operation. - // if ErrStatus is SL_SUCCESS, Entries contains the info requested - Entries []*SLRoutev6 `protobuf:"bytes,5,rep,name=Entries,proto3" json:"Entries,omitempty"` -} - -func (x *SLRoutev6GetMsgRsp) Reset() { - *x = SLRoutev6GetMsgRsp{} - if protoimpl.UnsafeEnabled { - mi := &file_sl_route_ipv6_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SLRoutev6GetMsgRsp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SLRoutev6GetMsgRsp) ProtoMessage() {} - -func (x *SLRoutev6GetMsgRsp) ProtoReflect() protoreflect.Message { - mi := &file_sl_route_ipv6_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SLRoutev6GetMsgRsp.ProtoReflect.Descriptor instead. -func (*SLRoutev6GetMsgRsp) Descriptor() ([]byte, []int) { - return file_sl_route_ipv6_proto_rawDescGZIP(), []int{5} -} - -func (x *SLRoutev6GetMsgRsp) GetCorrelator() uint64 { - if x != nil { - return x.Correlator - } - return 0 -} - -func (x *SLRoutev6GetMsgRsp) GetEof() bool { - if x != nil { - return x.Eof - } - return false -} - -func (x *SLRoutev6GetMsgRsp) GetVrfName() string { - if x != nil { - return x.VrfName - } - return "" -} - -func (x *SLRoutev6GetMsgRsp) GetErrStatus() *SLErrorStatus { - if x != nil { - return x.ErrStatus - } - return nil -} - -func (x *SLRoutev6GetMsgRsp) GetEntries() []*SLRoutev6 { - if x != nil { - return x.Entries - } - return nil -} - -var File_sl_route_ipv6_proto protoreflect.FileDescriptor - -var file_sl_route_ipv6_proto_rawDesc = []byte{ - 0x0a, 0x13, 0x73, 0x6c, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x73, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x73, 0x6c, - 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x22, 0x9d, 0x01, 0x0a, 0x09, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, - 0x36, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x72, 0x65, - 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x50, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x30, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x53, - 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x0b, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x08, 0x50, 0x61, 0x74, - 0x68, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x53, 0x4c, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x08, 0x50, 0x61, 0x74, 0x68, 0x4c, - 0x69, 0x73, 0x74, 0x22, 0x8d, 0x01, 0x0a, 0x0c, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, - 0x36, 0x4d, 0x73, 0x67, 0x12, 0x1f, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x53, 0x4c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x52, - 0x04, 0x4f, 0x70, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, - 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, - 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x22, 0x0a, 0x06, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0a, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x52, 0x06, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x73, 0x22, 0x72, 0x0a, 0x0c, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, - 0x52, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x53, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x45, 0x72, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x72, 0x65, - 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x50, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x22, 0xaa, 0x01, 0x0a, 0x0f, 0x53, 0x4c, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x76, 0x36, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x43, - 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x56, - 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, - 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, - 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x53, - 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x27, 0x0a, 0x07, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x53, - 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x52, 0x65, 0x73, 0x52, 0x07, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x22, 0xbf, 0x01, 0x0a, 0x0f, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x76, 0x36, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x72, 0x72, - 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x43, 0x6f, - 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x50, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x45, 0x6e, 0x74, 0x72, - 0x69, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, - 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, - 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x47, - 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x22, 0xb4, 0x01, 0x0a, 0x12, 0x53, 0x4c, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x76, 0x36, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x1e, 0x0a, - 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0a, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x10, 0x0a, - 0x03, 0x45, 0x6f, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x45, 0x6f, 0x66, 0x12, - 0x18, 0x0a, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x56, 0x72, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x45, 0x72, 0x72, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x53, - 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x45, 0x72, - 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x07, 0x45, 0x6e, 0x74, 0x72, 0x69, - 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x76, 0x36, 0x52, 0x07, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x32, 0xbb, 0x04, - 0x0a, 0x0d, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x4f, 0x70, 0x65, 0x72, 0x12, - 0x46, 0x0a, 0x13, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x47, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x73, 0x47, 0x65, 0x74, 0x12, 0x15, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x18, 0x2e, - 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x47, 0x65, - 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x17, 0x53, 0x4c, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x76, 0x36, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x47, - 0x65, 0x74, 0x12, 0x19, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x1c, 0x2e, - 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x32, 0x0a, 0x11, 0x53, - 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4f, 0x70, - 0x12, 0x0c, 0x2e, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x1a, 0x0f, - 0x2e, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, - 0x39, 0x0a, 0x12, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x56, 0x72, 0x66, 0x52, - 0x65, 0x67, 0x47, 0x65, 0x74, 0x12, 0x0f, 0x2e, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, - 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x12, 0x2e, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, - 0x67, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x14, 0x53, 0x4c, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x56, 0x72, 0x66, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x12, 0x0f, 0x2e, 0x53, 0x4c, 0x56, 0x72, 0x66, 0x52, 0x65, 0x67, 0x47, 0x65, 0x74, - 0x4d, 0x73, 0x67, 0x1a, 0x14, 0x2e, 0x53, 0x4c, 0x56, 0x52, 0x46, 0x47, 0x65, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x73, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x0b, 0x53, 0x4c, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x4f, 0x70, 0x12, 0x0d, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x76, 0x36, 0x4d, 0x73, 0x67, 0x1a, 0x10, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, - 0x65, 0x76, 0x36, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x35, 0x0a, 0x0c, 0x53, 0x4c, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x47, 0x65, 0x74, 0x12, 0x10, 0x2e, 0x53, 0x4c, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x76, 0x36, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x1a, 0x13, 0x2e, 0x53, 0x4c, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x47, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, - 0x12, 0x38, 0x0a, 0x11, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x4f, 0x70, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x0d, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, - 0x36, 0x4d, 0x73, 0x67, 0x1a, 0x10, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, - 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x28, 0x01, 0x30, 0x01, 0x12, 0x3f, 0x0a, 0x12, 0x53, 0x4c, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x47, 0x65, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x12, 0x10, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x47, 0x65, 0x74, 0x4d, - 0x73, 0x67, 0x1a, 0x13, 0x2e, 0x53, 0x4c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x76, 0x36, 0x47, 0x65, - 0x74, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x28, 0x01, 0x30, 0x01, 0x42, 0x11, 0x5a, 0x0f, 0x2e, - 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_sl_route_ipv6_proto_rawDescOnce sync.Once - file_sl_route_ipv6_proto_rawDescData = file_sl_route_ipv6_proto_rawDesc -) - -func file_sl_route_ipv6_proto_rawDescGZIP() []byte { - file_sl_route_ipv6_proto_rawDescOnce.Do(func() { - file_sl_route_ipv6_proto_rawDescData = protoimpl.X.CompressGZIP(file_sl_route_ipv6_proto_rawDescData) - }) - return file_sl_route_ipv6_proto_rawDescData -} - -var file_sl_route_ipv6_proto_msgTypes = make([]protoimpl.MessageInfo, 6) -var file_sl_route_ipv6_proto_goTypes = []interface{}{ - (*SLRoutev6)(nil), // 0: SLRoutev6 - (*SLRoutev6Msg)(nil), // 1: SLRoutev6Msg - (*SLRoutev6Res)(nil), // 2: SLRoutev6Res - (*SLRoutev6MsgRsp)(nil), // 3: SLRoutev6MsgRsp - (*SLRoutev6GetMsg)(nil), // 4: SLRoutev6GetMsg - (*SLRoutev6GetMsgRsp)(nil), // 5: SLRoutev6GetMsgRsp - (*SLRouteCommon)(nil), // 6: SLRouteCommon - (*SLRoutePath)(nil), // 7: SLRoutePath - (SLObjectOp)(0), // 8: SLObjectOp - (*SLErrorStatus)(nil), // 9: SLErrorStatus - (*SLRouteGlobalsGetMsg)(nil), // 10: SLRouteGlobalsGetMsg - (*SLRouteGlobalStatsGetMsg)(nil), // 11: SLRouteGlobalStatsGetMsg - (*SLVrfRegMsg)(nil), // 12: SLVrfRegMsg - (*SLVrfRegGetMsg)(nil), // 13: SLVrfRegGetMsg - (*SLRouteGlobalsGetMsgRsp)(nil), // 14: SLRouteGlobalsGetMsgRsp - (*SLRouteGlobalStatsGetMsgRsp)(nil), // 15: SLRouteGlobalStatsGetMsgRsp - (*SLVrfRegMsgRsp)(nil), // 16: SLVrfRegMsgRsp - (*SLVrfRegGetMsgRsp)(nil), // 17: SLVrfRegGetMsgRsp - (*SLVRFGetStatsMsgRsp)(nil), // 18: SLVRFGetStatsMsgRsp -} -var file_sl_route_ipv6_proto_depIdxs = []int32{ - 6, // 0: SLRoutev6.RouteCommon:type_name -> SLRouteCommon - 7, // 1: SLRoutev6.PathList:type_name -> SLRoutePath - 8, // 2: SLRoutev6Msg.Oper:type_name -> SLObjectOp - 0, // 3: SLRoutev6Msg.Routes:type_name -> SLRoutev6 - 9, // 4: SLRoutev6Res.ErrStatus:type_name -> SLErrorStatus - 9, // 5: SLRoutev6MsgRsp.StatusSummary:type_name -> SLErrorStatus - 2, // 6: SLRoutev6MsgRsp.Results:type_name -> SLRoutev6Res - 9, // 7: SLRoutev6GetMsgRsp.ErrStatus:type_name -> SLErrorStatus - 0, // 8: SLRoutev6GetMsgRsp.Entries:type_name -> SLRoutev6 - 10, // 9: SLRoutev6Oper.SLRoutev6GlobalsGet:input_type -> SLRouteGlobalsGetMsg - 11, // 10: SLRoutev6Oper.SLRoutev6GlobalStatsGet:input_type -> SLRouteGlobalStatsGetMsg - 12, // 11: SLRoutev6Oper.SLRoutev6VrfRegOp:input_type -> SLVrfRegMsg - 13, // 12: SLRoutev6Oper.SLRoutev6VrfRegGet:input_type -> SLVrfRegGetMsg - 13, // 13: SLRoutev6Oper.SLRoutev6VrfGetStats:input_type -> SLVrfRegGetMsg - 1, // 14: SLRoutev6Oper.SLRoutev6Op:input_type -> SLRoutev6Msg - 4, // 15: SLRoutev6Oper.SLRoutev6Get:input_type -> SLRoutev6GetMsg - 1, // 16: SLRoutev6Oper.SLRoutev6OpStream:input_type -> SLRoutev6Msg - 4, // 17: SLRoutev6Oper.SLRoutev6GetStream:input_type -> SLRoutev6GetMsg - 14, // 18: SLRoutev6Oper.SLRoutev6GlobalsGet:output_type -> SLRouteGlobalsGetMsgRsp - 15, // 19: SLRoutev6Oper.SLRoutev6GlobalStatsGet:output_type -> SLRouteGlobalStatsGetMsgRsp - 16, // 20: SLRoutev6Oper.SLRoutev6VrfRegOp:output_type -> SLVrfRegMsgRsp - 17, // 21: SLRoutev6Oper.SLRoutev6VrfRegGet:output_type -> SLVrfRegGetMsgRsp - 18, // 22: SLRoutev6Oper.SLRoutev6VrfGetStats:output_type -> SLVRFGetStatsMsgRsp - 3, // 23: SLRoutev6Oper.SLRoutev6Op:output_type -> SLRoutev6MsgRsp - 5, // 24: SLRoutev6Oper.SLRoutev6Get:output_type -> SLRoutev6GetMsgRsp - 3, // 25: SLRoutev6Oper.SLRoutev6OpStream:output_type -> SLRoutev6MsgRsp - 5, // 26: SLRoutev6Oper.SLRoutev6GetStream:output_type -> SLRoutev6GetMsgRsp - 18, // [18:27] is the sub-list for method output_type - 9, // [9:18] is the sub-list for method input_type - 9, // [9:9] is the sub-list for extension type_name - 9, // [9:9] is the sub-list for extension extendee - 0, // [0:9] is the sub-list for field type_name -} - -func init() { file_sl_route_ipv6_proto_init() } -func file_sl_route_ipv6_proto_init() { - if File_sl_route_ipv6_proto != nil { - return - } - file_sl_common_types_proto_init() - file_sl_route_common_proto_init() - if !protoimpl.UnsafeEnabled { - file_sl_route_ipv6_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRoutev6); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_ipv6_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRoutev6Msg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_ipv6_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRoutev6Res); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_ipv6_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRoutev6MsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_ipv6_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRoutev6GetMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sl_route_ipv6_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SLRoutev6GetMsgRsp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_sl_route_ipv6_proto_rawDesc, - NumEnums: 0, - NumMessages: 6, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_sl_route_ipv6_proto_goTypes, - DependencyIndexes: file_sl_route_ipv6_proto_depIdxs, - MessageInfos: file_sl_route_ipv6_proto_msgTypes, - }.Build() - File_sl_route_ipv6_proto = out.File - file_sl_route_ipv6_proto_rawDesc = nil - file_sl_route_ipv6_proto_goTypes = nil - file_sl_route_ipv6_proto_depIdxs = nil -} diff --git a/proto/sla/sl_route_ipv6.proto b/proto/sla/sl_route_ipv6.proto deleted file mode 100755 index 543807c..0000000 --- a/proto/sla/sl_route_ipv6.proto +++ /dev/null @@ -1,223 +0,0 @@ -// @file -// @brief Server RPC proto file for IPv6. -// -// ---------------------------------------------------------------- -// Copyright (c) 2016 by cisco Systems, Inc. -// All rights reserved. -// ----------------------------------------------------------------- -// -// - -syntax = "proto3"; -option go_package = "./service_layer"; - -import "sl_common_types.proto"; -import "sl_route_common.proto"; - -// @defgroup SLRouteIPv6Oper -// @ingroup Route -// Defines RPC calls for IPv6 route changes and VRF registration. -// This service declares both the Vrf Registration, as well as adding, deleting -// and getting IPv6 routes. -// @{ -service SLRoutev6Oper { - //@addtogroup SLRouteIPv6Oper - //@{ - //; - - // - // Global Route operations - // - - // Used to retrieve Global Route information - rpc SLRoutev6GlobalsGet(SLRouteGlobalsGetMsg) returns (SLRouteGlobalsGetMsgRsp); - - // Used to retrieve Global Route Stats - rpc SLRoutev6GlobalStatsGet(SLRouteGlobalStatsGetMsg) returns (SLRouteGlobalStatsGetMsgRsp); - - // - // VRF registration operations - // - - // SLVrfRegMsg.Oper = SL_REGOP_REGISTER: - // VRF registration: Sends a list of VRF registration messages - // and expects a list of registration responses. - // A client Must Register a VRF BEFORE routes can be added/modified in - // the associated VRF. - // - // SLVrfRegMsg.Oper = SL_REGOP_UNREGISTER: - // VRF Un-registeration: Sends a list of VRF un-registration messages - // and expects a list of un-registration responses. - // This can be used to convey that the client is no longer interested - // in this VRF. All previously installed routes would be lost. - // - // SLVrfRegMsg.Oper = SL_REGOP_EOF: - // VRF End Of File message. - // After Registration, the client is expected to send an EOF - // message to convey the end of replay of the client's known objects. - // This is especially useful under certain restart scenarios when the - // client and the server are trying to synchronize their Routes. - rpc SLRoutev6VrfRegOp(SLVrfRegMsg) returns (SLVrfRegMsgRsp); - - // VRF get. Used to retrieve VRF attributes from the server. - rpc SLRoutev6VrfRegGet(SLVrfRegGetMsg) returns (SLVrfRegGetMsgRsp); - - // Used to retrieve VRF Stats from the server. - rpc SLRoutev6VrfGetStats(SLVrfRegGetMsg) returns (SLVRFGetStatsMsgRsp); - - // - // Route operations - // - - // SLRoutev6Msg.Oper = SL_OBJOP_ADD: - // Route add. Fails if the route already exists. - // - // SLRoutev6Msg.Oper = SL_OBJOP_UPDATE: - // Route update. Creates or updates the route. - // - // SLRoutev6Msg.Oper = SL_OBJOP_DELETE: - // Route delete. The route path is not necessary to delete the route. - rpc SLRoutev6Op(SLRoutev6Msg) returns (SLRoutev6MsgRsp); - - // Retrieves route attributes. - rpc SLRoutev6Get(SLRoutev6GetMsg) returns (SLRoutev6GetMsgRsp); - - // - // Stream Route operations - // - - // SLRoutev6Msg.Oper = SL_OBJOP_ADD: - // Route add. Fails if the route already exists. - // - // SLRoutev6Msg.Oper = SL_OBJOP_UPDATE: - // Route update. Creates or updates the route. - // - // SLRoutev6Msg.Oper = SL_OBJOP_DELETE: - // Route delete. The route path is not necessary to delete the route. - rpc SLRoutev6OpStream(stream SLRoutev6Msg) returns (stream SLRoutev6MsgRsp); - - // Retrieves route attributes. - rpc SLRoutev6GetStream(stream SLRoutev6GetMsg) returns (stream SLRoutev6GetMsgRsp); - //@} -} - -// IPv6 route -message SLRoutev6 { - // IPv6 Prefix - //0:: - ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff - bytes Prefix = 1; - - // IPv6 prefix length [0-128] - uint32 PrefixLen = 2; - - // Common route attributes - SLRouteCommon RouteCommon = 3; - - // List of route paths for a particular route. - // Specifying more than one path is allowed for ECMP/UCMP cases - repeated SLRoutePath PathList = 4; -} - -// List of routes for bulk download -message SLRoutev6Msg { - // Route Object Operations - SLObjectOp Oper = 1; - - // Correlator. This can be used to correlate replies with requests. - // The Server simply reflects this field back in the reply. - uint64 Correlator = 2; - - // VRF name. - string VrfName = 3; - - // List of routes for the VRF specified above - repeated SLRoutev6 Routes = 4; -} - -// IPv6 route result, uniquely identified by the Prefix/PrefixLen pair -message SLRoutev6Res { - // Corresponding error code - SLErrorStatus ErrStatus = 1; - - // IPv6 Prefix - bytes Prefix = 2; - - // IPv6 prefix length, [0-32] - uint32 PrefixLen = 3; -} - -// IPv6 bulk route result status -message SLRoutev6MsgRsp { - // Correlator. This can be used to correlate replies with requests. - // The Server simply reflects this field back in the reply. - uint64 Correlator = 1; - - // VRF name (matches the VRF name of the original operation) - string VrfName = 2; - - // Summary result of the bulk operation (refer to enum SLErrorStatus) - // In general, the StatusSummary implies one of 3 things: - // 1. SL_SUCCESS: signifies that the entire bulk operation was successful. - // In this case, the Results list is empty. - // 2. SL_SOME_ERR: signifies that the operation failed for one or more - // entries. In this case, Results holds the result for - // each individual entry in the bulk. - // 3. SL_RPC_XXX: signifies that the entire bulk operation failed. - // In this case, the Results list is empty. - SLErrorStatus StatusSummary = 3; - - // In case of errors, this field indicates which entry in the bulk was - // erroneous. - repeated SLRoutev6Res Results = 4; -} - -// Used to retrieve route attributes -message SLRoutev6GetMsg { - // Correlator. This can be used to correlate replies with requests. - // The Server simply reflects this field back in the reply. - uint64 Correlator = 1; - - // VRF name. - // If the Key is not specified, then request up to the first - // 'EntriesCount' entries. - string VrfName = 2; - - // IPv6 Prefix - bytes Prefix = 3; - - // IPv6 prefix length, [0-32] - uint32 PrefixLen = 4; - - // Number of entries requested - uint32 EntriesCount = 5; - - // if GetNext is FALSE: - // request up to 'EntriesCount' entries starting from the key - // If GetNext is TRUE, or if the key exact match is not found: - // request up to 'EntriesCount' entries starting from the key's next - bool GetNext = 6; -} - -// Gt Route message response -message SLRoutev6GetMsgRsp { - // Correlator. This can be used to correlate replies with requests. - // The Server simply reflects this field back in the reply. - uint64 Correlator = 1; - - // End Of File. - // When set to True, it indicates that the server has returned M, where - // M < N, of the original N requested Entries. - bool Eof = 2; - - // VRF name. - string VrfName = 3; - - // Status of the Get operation - SLErrorStatus ErrStatus = 4; - - // Returned entries as requested in the Get operation. - // if ErrStatus is SL_SUCCESS, Entries contains the info requested - repeated SLRoutev6 Entries = 5; -} - -//@} diff --git a/proto/sla/sl_route_ipv6_grpc.pb.go b/proto/sla/sl_route_ipv6_grpc.pb.go deleted file mode 100644 index 92b5742..0000000 --- a/proto/sla/sl_route_ipv6_grpc.pb.go +++ /dev/null @@ -1,538 +0,0 @@ -// Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.5.0 -// source: sl_route_ipv6.proto - -package service_layer - -import ( - context "context" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" -) - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 - -// SLRoutev6OperClient is the client API for SLRoutev6Oper service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type SLRoutev6OperClient interface { - // Used to retrieve Global Route information - SLRoutev6GlobalsGet(ctx context.Context, in *SLRouteGlobalsGetMsg, opts ...grpc.CallOption) (*SLRouteGlobalsGetMsgRsp, error) - // Used to retrieve Global Route Stats - SLRoutev6GlobalStatsGet(ctx context.Context, in *SLRouteGlobalStatsGetMsg, opts ...grpc.CallOption) (*SLRouteGlobalStatsGetMsgRsp, error) - // SLVrfRegMsg.Oper = SL_REGOP_REGISTER: - // VRF registration: Sends a list of VRF registration messages - // and expects a list of registration responses. - // A client Must Register a VRF BEFORE routes can be added/modified in - // the associated VRF. - // - // SLVrfRegMsg.Oper = SL_REGOP_UNREGISTER: - // VRF Un-registeration: Sends a list of VRF un-registration messages - // and expects a list of un-registration responses. - // This can be used to convey that the client is no longer interested - // in this VRF. All previously installed routes would be lost. - // - // SLVrfRegMsg.Oper = SL_REGOP_EOF: - // VRF End Of File message. - // After Registration, the client is expected to send an EOF - // message to convey the end of replay of the client's known objects. - // This is especially useful under certain restart scenarios when the - // client and the server are trying to synchronize their Routes. - SLRoutev6VrfRegOp(ctx context.Context, in *SLVrfRegMsg, opts ...grpc.CallOption) (*SLVrfRegMsgRsp, error) - // VRF get. Used to retrieve VRF attributes from the server. - SLRoutev6VrfRegGet(ctx context.Context, in *SLVrfRegGetMsg, opts ...grpc.CallOption) (*SLVrfRegGetMsgRsp, error) - // Used to retrieve VRF Stats from the server. - SLRoutev6VrfGetStats(ctx context.Context, in *SLVrfRegGetMsg, opts ...grpc.CallOption) (*SLVRFGetStatsMsgRsp, error) - // SLRoutev6Msg.Oper = SL_OBJOP_ADD: - // Route add. Fails if the route already exists. - // - // SLRoutev6Msg.Oper = SL_OBJOP_UPDATE: - // Route update. Creates or updates the route. - // - // SLRoutev6Msg.Oper = SL_OBJOP_DELETE: - // Route delete. The route path is not necessary to delete the route. - SLRoutev6Op(ctx context.Context, in *SLRoutev6Msg, opts ...grpc.CallOption) (*SLRoutev6MsgRsp, error) - // Retrieves route attributes. - SLRoutev6Get(ctx context.Context, in *SLRoutev6GetMsg, opts ...grpc.CallOption) (*SLRoutev6GetMsgRsp, error) - // SLRoutev6Msg.Oper = SL_OBJOP_ADD: - // Route add. Fails if the route already exists. - // - // SLRoutev6Msg.Oper = SL_OBJOP_UPDATE: - // Route update. Creates or updates the route. - // - // SLRoutev6Msg.Oper = SL_OBJOP_DELETE: - // Route delete. The route path is not necessary to delete the route. - SLRoutev6OpStream(ctx context.Context, opts ...grpc.CallOption) (SLRoutev6Oper_SLRoutev6OpStreamClient, error) - // Retrieves route attributes. - SLRoutev6GetStream(ctx context.Context, opts ...grpc.CallOption) (SLRoutev6Oper_SLRoutev6GetStreamClient, error) -} - -type sLRoutev6OperClient struct { - cc grpc.ClientConnInterface -} - -func NewSLRoutev6OperClient(cc grpc.ClientConnInterface) SLRoutev6OperClient { - return &sLRoutev6OperClient{cc} -} - -func (c *sLRoutev6OperClient) SLRoutev6GlobalsGet(ctx context.Context, in *SLRouteGlobalsGetMsg, opts ...grpc.CallOption) (*SLRouteGlobalsGetMsgRsp, error) { - out := new(SLRouteGlobalsGetMsgRsp) - err := c.cc.Invoke(ctx, "/SLRoutev6Oper/SLRoutev6GlobalsGet", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *sLRoutev6OperClient) SLRoutev6GlobalStatsGet(ctx context.Context, in *SLRouteGlobalStatsGetMsg, opts ...grpc.CallOption) (*SLRouteGlobalStatsGetMsgRsp, error) { - out := new(SLRouteGlobalStatsGetMsgRsp) - err := c.cc.Invoke(ctx, "/SLRoutev6Oper/SLRoutev6GlobalStatsGet", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *sLRoutev6OperClient) SLRoutev6VrfRegOp(ctx context.Context, in *SLVrfRegMsg, opts ...grpc.CallOption) (*SLVrfRegMsgRsp, error) { - out := new(SLVrfRegMsgRsp) - err := c.cc.Invoke(ctx, "/SLRoutev6Oper/SLRoutev6VrfRegOp", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *sLRoutev6OperClient) SLRoutev6VrfRegGet(ctx context.Context, in *SLVrfRegGetMsg, opts ...grpc.CallOption) (*SLVrfRegGetMsgRsp, error) { - out := new(SLVrfRegGetMsgRsp) - err := c.cc.Invoke(ctx, "/SLRoutev6Oper/SLRoutev6VrfRegGet", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *sLRoutev6OperClient) SLRoutev6VrfGetStats(ctx context.Context, in *SLVrfRegGetMsg, opts ...grpc.CallOption) (*SLVRFGetStatsMsgRsp, error) { - out := new(SLVRFGetStatsMsgRsp) - err := c.cc.Invoke(ctx, "/SLRoutev6Oper/SLRoutev6VrfGetStats", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *sLRoutev6OperClient) SLRoutev6Op(ctx context.Context, in *SLRoutev6Msg, opts ...grpc.CallOption) (*SLRoutev6MsgRsp, error) { - out := new(SLRoutev6MsgRsp) - err := c.cc.Invoke(ctx, "/SLRoutev6Oper/SLRoutev6Op", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *sLRoutev6OperClient) SLRoutev6Get(ctx context.Context, in *SLRoutev6GetMsg, opts ...grpc.CallOption) (*SLRoutev6GetMsgRsp, error) { - out := new(SLRoutev6GetMsgRsp) - err := c.cc.Invoke(ctx, "/SLRoutev6Oper/SLRoutev6Get", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *sLRoutev6OperClient) SLRoutev6OpStream(ctx context.Context, opts ...grpc.CallOption) (SLRoutev6Oper_SLRoutev6OpStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &SLRoutev6Oper_ServiceDesc.Streams[0], "/SLRoutev6Oper/SLRoutev6OpStream", opts...) - if err != nil { - return nil, err - } - x := &sLRoutev6OperSLRoutev6OpStreamClient{stream} - return x, nil -} - -type SLRoutev6Oper_SLRoutev6OpStreamClient interface { - Send(*SLRoutev6Msg) error - Recv() (*SLRoutev6MsgRsp, error) - grpc.ClientStream -} - -type sLRoutev6OperSLRoutev6OpStreamClient struct { - grpc.ClientStream -} - -func (x *sLRoutev6OperSLRoutev6OpStreamClient) Send(m *SLRoutev6Msg) error { - return x.ClientStream.SendMsg(m) -} - -func (x *sLRoutev6OperSLRoutev6OpStreamClient) Recv() (*SLRoutev6MsgRsp, error) { - m := new(SLRoutev6MsgRsp) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *sLRoutev6OperClient) SLRoutev6GetStream(ctx context.Context, opts ...grpc.CallOption) (SLRoutev6Oper_SLRoutev6GetStreamClient, error) { - stream, err := c.cc.NewStream(ctx, &SLRoutev6Oper_ServiceDesc.Streams[1], "/SLRoutev6Oper/SLRoutev6GetStream", opts...) - if err != nil { - return nil, err - } - x := &sLRoutev6OperSLRoutev6GetStreamClient{stream} - return x, nil -} - -type SLRoutev6Oper_SLRoutev6GetStreamClient interface { - Send(*SLRoutev6GetMsg) error - Recv() (*SLRoutev6GetMsgRsp, error) - grpc.ClientStream -} - -type sLRoutev6OperSLRoutev6GetStreamClient struct { - grpc.ClientStream -} - -func (x *sLRoutev6OperSLRoutev6GetStreamClient) Send(m *SLRoutev6GetMsg) error { - return x.ClientStream.SendMsg(m) -} - -func (x *sLRoutev6OperSLRoutev6GetStreamClient) Recv() (*SLRoutev6GetMsgRsp, error) { - m := new(SLRoutev6GetMsgRsp) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -// SLRoutev6OperServer is the server API for SLRoutev6Oper service. -// All implementations must embed UnimplementedSLRoutev6OperServer -// for forward compatibility -type SLRoutev6OperServer interface { - // Used to retrieve Global Route information - SLRoutev6GlobalsGet(context.Context, *SLRouteGlobalsGetMsg) (*SLRouteGlobalsGetMsgRsp, error) - // Used to retrieve Global Route Stats - SLRoutev6GlobalStatsGet(context.Context, *SLRouteGlobalStatsGetMsg) (*SLRouteGlobalStatsGetMsgRsp, error) - // SLVrfRegMsg.Oper = SL_REGOP_REGISTER: - // VRF registration: Sends a list of VRF registration messages - // and expects a list of registration responses. - // A client Must Register a VRF BEFORE routes can be added/modified in - // the associated VRF. - // - // SLVrfRegMsg.Oper = SL_REGOP_UNREGISTER: - // VRF Un-registeration: Sends a list of VRF un-registration messages - // and expects a list of un-registration responses. - // This can be used to convey that the client is no longer interested - // in this VRF. All previously installed routes would be lost. - // - // SLVrfRegMsg.Oper = SL_REGOP_EOF: - // VRF End Of File message. - // After Registration, the client is expected to send an EOF - // message to convey the end of replay of the client's known objects. - // This is especially useful under certain restart scenarios when the - // client and the server are trying to synchronize their Routes. - SLRoutev6VrfRegOp(context.Context, *SLVrfRegMsg) (*SLVrfRegMsgRsp, error) - // VRF get. Used to retrieve VRF attributes from the server. - SLRoutev6VrfRegGet(context.Context, *SLVrfRegGetMsg) (*SLVrfRegGetMsgRsp, error) - // Used to retrieve VRF Stats from the server. - SLRoutev6VrfGetStats(context.Context, *SLVrfRegGetMsg) (*SLVRFGetStatsMsgRsp, error) - // SLRoutev6Msg.Oper = SL_OBJOP_ADD: - // Route add. Fails if the route already exists. - // - // SLRoutev6Msg.Oper = SL_OBJOP_UPDATE: - // Route update. Creates or updates the route. - // - // SLRoutev6Msg.Oper = SL_OBJOP_DELETE: - // Route delete. The route path is not necessary to delete the route. - SLRoutev6Op(context.Context, *SLRoutev6Msg) (*SLRoutev6MsgRsp, error) - // Retrieves route attributes. - SLRoutev6Get(context.Context, *SLRoutev6GetMsg) (*SLRoutev6GetMsgRsp, error) - // SLRoutev6Msg.Oper = SL_OBJOP_ADD: - // Route add. Fails if the route already exists. - // - // SLRoutev6Msg.Oper = SL_OBJOP_UPDATE: - // Route update. Creates or updates the route. - // - // SLRoutev6Msg.Oper = SL_OBJOP_DELETE: - // Route delete. The route path is not necessary to delete the route. - SLRoutev6OpStream(SLRoutev6Oper_SLRoutev6OpStreamServer) error - // Retrieves route attributes. - SLRoutev6GetStream(SLRoutev6Oper_SLRoutev6GetStreamServer) error - mustEmbedUnimplementedSLRoutev6OperServer() -} - -// UnimplementedSLRoutev6OperServer must be embedded to have forward compatible implementations. -type UnimplementedSLRoutev6OperServer struct { -} - -func (UnimplementedSLRoutev6OperServer) SLRoutev6GlobalsGet(context.Context, *SLRouteGlobalsGetMsg) (*SLRouteGlobalsGetMsgRsp, error) { - return nil, status.Errorf(codes.Unimplemented, "method SLRoutev6GlobalsGet not implemented") -} -func (UnimplementedSLRoutev6OperServer) SLRoutev6GlobalStatsGet(context.Context, *SLRouteGlobalStatsGetMsg) (*SLRouteGlobalStatsGetMsgRsp, error) { - return nil, status.Errorf(codes.Unimplemented, "method SLRoutev6GlobalStatsGet not implemented") -} -func (UnimplementedSLRoutev6OperServer) SLRoutev6VrfRegOp(context.Context, *SLVrfRegMsg) (*SLVrfRegMsgRsp, error) { - return nil, status.Errorf(codes.Unimplemented, "method SLRoutev6VrfRegOp not implemented") -} -func (UnimplementedSLRoutev6OperServer) SLRoutev6VrfRegGet(context.Context, *SLVrfRegGetMsg) (*SLVrfRegGetMsgRsp, error) { - return nil, status.Errorf(codes.Unimplemented, "method SLRoutev6VrfRegGet not implemented") -} -func (UnimplementedSLRoutev6OperServer) SLRoutev6VrfGetStats(context.Context, *SLVrfRegGetMsg) (*SLVRFGetStatsMsgRsp, error) { - return nil, status.Errorf(codes.Unimplemented, "method SLRoutev6VrfGetStats not implemented") -} -func (UnimplementedSLRoutev6OperServer) SLRoutev6Op(context.Context, *SLRoutev6Msg) (*SLRoutev6MsgRsp, error) { - return nil, status.Errorf(codes.Unimplemented, "method SLRoutev6Op not implemented") -} -func (UnimplementedSLRoutev6OperServer) SLRoutev6Get(context.Context, *SLRoutev6GetMsg) (*SLRoutev6GetMsgRsp, error) { - return nil, status.Errorf(codes.Unimplemented, "method SLRoutev6Get not implemented") -} -func (UnimplementedSLRoutev6OperServer) SLRoutev6OpStream(SLRoutev6Oper_SLRoutev6OpStreamServer) error { - return status.Errorf(codes.Unimplemented, "method SLRoutev6OpStream not implemented") -} -func (UnimplementedSLRoutev6OperServer) SLRoutev6GetStream(SLRoutev6Oper_SLRoutev6GetStreamServer) error { - return status.Errorf(codes.Unimplemented, "method SLRoutev6GetStream not implemented") -} -func (UnimplementedSLRoutev6OperServer) mustEmbedUnimplementedSLRoutev6OperServer() {} - -// UnsafeSLRoutev6OperServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to SLRoutev6OperServer will -// result in compilation errors. -type UnsafeSLRoutev6OperServer interface { - mustEmbedUnimplementedSLRoutev6OperServer() -} - -func RegisterSLRoutev6OperServer(s grpc.ServiceRegistrar, srv SLRoutev6OperServer) { - s.RegisterService(&SLRoutev6Oper_ServiceDesc, srv) -} - -func _SLRoutev6Oper_SLRoutev6GlobalsGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SLRouteGlobalsGetMsg) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SLRoutev6OperServer).SLRoutev6GlobalsGet(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/SLRoutev6Oper/SLRoutev6GlobalsGet", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SLRoutev6OperServer).SLRoutev6GlobalsGet(ctx, req.(*SLRouteGlobalsGetMsg)) - } - return interceptor(ctx, in, info, handler) -} - -func _SLRoutev6Oper_SLRoutev6GlobalStatsGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SLRouteGlobalStatsGetMsg) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SLRoutev6OperServer).SLRoutev6GlobalStatsGet(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/SLRoutev6Oper/SLRoutev6GlobalStatsGet", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SLRoutev6OperServer).SLRoutev6GlobalStatsGet(ctx, req.(*SLRouteGlobalStatsGetMsg)) - } - return interceptor(ctx, in, info, handler) -} - -func _SLRoutev6Oper_SLRoutev6VrfRegOp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SLVrfRegMsg) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SLRoutev6OperServer).SLRoutev6VrfRegOp(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/SLRoutev6Oper/SLRoutev6VrfRegOp", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SLRoutev6OperServer).SLRoutev6VrfRegOp(ctx, req.(*SLVrfRegMsg)) - } - return interceptor(ctx, in, info, handler) -} - -func _SLRoutev6Oper_SLRoutev6VrfRegGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SLVrfRegGetMsg) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SLRoutev6OperServer).SLRoutev6VrfRegGet(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/SLRoutev6Oper/SLRoutev6VrfRegGet", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SLRoutev6OperServer).SLRoutev6VrfRegGet(ctx, req.(*SLVrfRegGetMsg)) - } - return interceptor(ctx, in, info, handler) -} - -func _SLRoutev6Oper_SLRoutev6VrfGetStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SLVrfRegGetMsg) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SLRoutev6OperServer).SLRoutev6VrfGetStats(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/SLRoutev6Oper/SLRoutev6VrfGetStats", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SLRoutev6OperServer).SLRoutev6VrfGetStats(ctx, req.(*SLVrfRegGetMsg)) - } - return interceptor(ctx, in, info, handler) -} - -func _SLRoutev6Oper_SLRoutev6Op_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SLRoutev6Msg) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SLRoutev6OperServer).SLRoutev6Op(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/SLRoutev6Oper/SLRoutev6Op", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SLRoutev6OperServer).SLRoutev6Op(ctx, req.(*SLRoutev6Msg)) - } - return interceptor(ctx, in, info, handler) -} - -func _SLRoutev6Oper_SLRoutev6Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SLRoutev6GetMsg) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SLRoutev6OperServer).SLRoutev6Get(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/SLRoutev6Oper/SLRoutev6Get", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SLRoutev6OperServer).SLRoutev6Get(ctx, req.(*SLRoutev6GetMsg)) - } - return interceptor(ctx, in, info, handler) -} - -func _SLRoutev6Oper_SLRoutev6OpStream_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(SLRoutev6OperServer).SLRoutev6OpStream(&sLRoutev6OperSLRoutev6OpStreamServer{stream}) -} - -type SLRoutev6Oper_SLRoutev6OpStreamServer interface { - Send(*SLRoutev6MsgRsp) error - Recv() (*SLRoutev6Msg, error) - grpc.ServerStream -} - -type sLRoutev6OperSLRoutev6OpStreamServer struct { - grpc.ServerStream -} - -func (x *sLRoutev6OperSLRoutev6OpStreamServer) Send(m *SLRoutev6MsgRsp) error { - return x.ServerStream.SendMsg(m) -} - -func (x *sLRoutev6OperSLRoutev6OpStreamServer) Recv() (*SLRoutev6Msg, error) { - m := new(SLRoutev6Msg) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func _SLRoutev6Oper_SLRoutev6GetStream_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(SLRoutev6OperServer).SLRoutev6GetStream(&sLRoutev6OperSLRoutev6GetStreamServer{stream}) -} - -type SLRoutev6Oper_SLRoutev6GetStreamServer interface { - Send(*SLRoutev6GetMsgRsp) error - Recv() (*SLRoutev6GetMsg, error) - grpc.ServerStream -} - -type sLRoutev6OperSLRoutev6GetStreamServer struct { - grpc.ServerStream -} - -func (x *sLRoutev6OperSLRoutev6GetStreamServer) Send(m *SLRoutev6GetMsgRsp) error { - return x.ServerStream.SendMsg(m) -} - -func (x *sLRoutev6OperSLRoutev6GetStreamServer) Recv() (*SLRoutev6GetMsg, error) { - m := new(SLRoutev6GetMsg) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -// SLRoutev6Oper_ServiceDesc is the grpc.ServiceDesc for SLRoutev6Oper service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var SLRoutev6Oper_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "SLRoutev6Oper", - HandlerType: (*SLRoutev6OperServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "SLRoutev6GlobalsGet", - Handler: _SLRoutev6Oper_SLRoutev6GlobalsGet_Handler, - }, - { - MethodName: "SLRoutev6GlobalStatsGet", - Handler: _SLRoutev6Oper_SLRoutev6GlobalStatsGet_Handler, - }, - { - MethodName: "SLRoutev6VrfRegOp", - Handler: _SLRoutev6Oper_SLRoutev6VrfRegOp_Handler, - }, - { - MethodName: "SLRoutev6VrfRegGet", - Handler: _SLRoutev6Oper_SLRoutev6VrfRegGet_Handler, - }, - { - MethodName: "SLRoutev6VrfGetStats", - Handler: _SLRoutev6Oper_SLRoutev6VrfGetStats_Handler, - }, - { - MethodName: "SLRoutev6Op", - Handler: _SLRoutev6Oper_SLRoutev6Op_Handler, - }, - { - MethodName: "SLRoutev6Get", - Handler: _SLRoutev6Oper_SLRoutev6Get_Handler, - }, - }, - Streams: []grpc.StreamDesc{ - { - StreamName: "SLRoutev6OpStream", - Handler: _SLRoutev6Oper_SLRoutev6OpStream_Handler, - ServerStreams: true, - ClientStreams: true, - }, - { - StreamName: "SLRoutev6GetStream", - Handler: _SLRoutev6Oper_SLRoutev6GetStream_Handler, - ServerStreams: true, - ClientStreams: true, - }, - }, - Metadata: "sl_route_ipv6.proto", -} diff --git a/proto/sla/sl_version.pb.go b/proto/sla/sl_version.pb.go deleted file mode 100644 index 7d344a5..0000000 --- a/proto/sla/sl_version.pb.go +++ /dev/null @@ -1,150 +0,0 @@ -// @file -// @brief Specifies the API version number -// -// ---------------------------------------------------------------- -// Copyright (c) 2016 by cisco Systems, Inc. -// All rights reserved. -// ----------------------------------------------------------------- -// -// - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.28.0 -// protoc v3.5.0 -// source: sl_version.proto - -package service_layer - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -// Service Layer API version. -// This is used in the Global init message exchange to handshake client/server -// Version numbers. -type SLVersion int32 - -const ( - SLVersion_SL_VERSION_UNUSED SLVersion = 0 - SLVersion_SL_MAJOR_VERSION SLVersion = 0 - SLVersion_SL_MINOR_VERSION SLVersion = 0 - SLVersion_SL_SUB_VERSION SLVersion = 1 -) - -// Enum value maps for SLVersion. -var ( - SLVersion_name = map[int32]string{ - 0: "SL_VERSION_UNUSED", - // Duplicate value: 0: "SL_MAJOR_VERSION", - // Duplicate value: 0: "SL_MINOR_VERSION", - 1: "SL_SUB_VERSION", - } - SLVersion_value = map[string]int32{ - "SL_VERSION_UNUSED": 0, - "SL_MAJOR_VERSION": 0, - "SL_MINOR_VERSION": 0, - "SL_SUB_VERSION": 1, - } -) - -func (x SLVersion) Enum() *SLVersion { - p := new(SLVersion) - *p = x - return p -} - -func (x SLVersion) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (SLVersion) Descriptor() protoreflect.EnumDescriptor { - return file_sl_version_proto_enumTypes[0].Descriptor() -} - -func (SLVersion) Type() protoreflect.EnumType { - return &file_sl_version_proto_enumTypes[0] -} - -func (x SLVersion) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use SLVersion.Descriptor instead. -func (SLVersion) EnumDescriptor() ([]byte, []int) { - return file_sl_version_proto_rawDescGZIP(), []int{0} -} - -var File_sl_version_proto protoreflect.FileDescriptor - -var file_sl_version_proto_rawDesc = []byte{ - 0x0a, 0x10, 0x73, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2a, 0x66, 0x0a, 0x09, 0x53, 0x4c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x15, 0x0a, 0x11, 0x53, 0x4c, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, - 0x55, 0x53, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x4c, 0x5f, 0x4d, 0x41, 0x4a, - 0x4f, 0x52, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, - 0x53, 0x4c, 0x5f, 0x4d, 0x49, 0x4e, 0x4f, 0x52, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, - 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x4c, 0x5f, 0x53, 0x55, 0x42, 0x5f, 0x56, 0x45, 0x52, - 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x1a, 0x02, 0x10, 0x01, 0x42, 0x11, 0x5a, 0x0f, 0x2e, 0x2f, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_sl_version_proto_rawDescOnce sync.Once - file_sl_version_proto_rawDescData = file_sl_version_proto_rawDesc -) - -func file_sl_version_proto_rawDescGZIP() []byte { - file_sl_version_proto_rawDescOnce.Do(func() { - file_sl_version_proto_rawDescData = protoimpl.X.CompressGZIP(file_sl_version_proto_rawDescData) - }) - return file_sl_version_proto_rawDescData -} - -var file_sl_version_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_sl_version_proto_goTypes = []interface{}{ - (SLVersion)(0), // 0: SLVersion -} -var file_sl_version_proto_depIdxs = []int32{ - 0, // [0:0] is the sub-list for method output_type - 0, // [0:0] is the sub-list for method input_type - 0, // [0:0] is the sub-list for extension type_name - 0, // [0:0] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name -} - -func init() { file_sl_version_proto_init() } -func file_sl_version_proto_init() { - if File_sl_version_proto != nil { - return - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_sl_version_proto_rawDesc, - NumEnums: 1, - NumMessages: 0, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_sl_version_proto_goTypes, - DependencyIndexes: file_sl_version_proto_depIdxs, - EnumInfos: file_sl_version_proto_enumTypes, - }.Build() - File_sl_version_proto = out.File - file_sl_version_proto_rawDesc = nil - file_sl_version_proto_goTypes = nil - file_sl_version_proto_depIdxs = nil -} diff --git a/proto/sla/sl_version.proto b/proto/sla/sl_version.proto deleted file mode 100755 index 713a6fa..0000000 --- a/proto/sla/sl_version.proto +++ /dev/null @@ -1,30 +0,0 @@ -// @file -// @brief Specifies the API version number -// -// ---------------------------------------------------------------- -// Copyright (c) 2016 by cisco Systems, Inc. -// All rights reserved. -// ----------------------------------------------------------------- -// -// - -syntax = "proto3"; -option go_package = "./service_layer"; - -// @addtogroup SLVersion -// @ingroup Common -// @{ -// Version Major.Minor.Subversion define the API's version. - -// Service Layer API version. -// This is used in the Global init message exchange to handshake client/server -// Version numbers. -enum SLVersion { - option allow_alias = true; - SL_VERSION_UNUSED = 0; - SL_MAJOR_VERSION = 0; - SL_MINOR_VERSION = 0; - SL_SUB_VERSION = 1; -} - -// @} diff --git a/sla.go b/sla.go deleted file mode 100644 index 33751ef..0000000 --- a/sla.go +++ /dev/null @@ -1,242 +0,0 @@ -package xrgrpc - -import ( - "fmt" - "io" - "net" - "context" - "errors" - - pb "github.com/nleiva/xrgrpc/proto/sla" - "google.golang.org/grpc" -) - -// VRFOperation handles VRF registration operations -// SL_REGOP_REGISTER = 0x1 // VRF registration -// SL_REGOP_UNREGISTER = 0x2 // VRF Un-registeration -// SL_REGOP_EOF = 0x3 // After Registration, the client is expected to send an EOF -func VRFOperation(conn *grpc.ClientConn, o int, d uint32) error { - // These are two hard-coded variables. TODO; take them as input - v := "default" - var p uint32 = 500 - - op := new(pb.SLRegOp) - switch o { - case 1: - *op = pb.SLRegOp_SL_REGOP_REGISTER - case 2: - *op = pb.SLRegOp_SL_REGOP_UNREGISTER - case 3: - *op = pb.SLRegOp_SL_REGOP_EOF - default: - return errors.New("Unidentified VRF Operation") - } - - // 'c' is the gRPC stub. - c := pb.NewSLRoutev6OperClient(conn) - - // 'a' is the object we send to the router via the stub. - a := pb.SLVrfRegMsg{ - Oper: *op, - VrfRegMsgs: []*pb.SLVrfReg{ - &pb.SLVrfReg{ - VrfName: v, - AdminDistance: d, - VrfPurgeIntervalSeconds: p, - }, - }, - } - - // 'r' is the result that comes back from the target. - r, err := c.SLRoutev6VrfRegOp(context.Background(), &a) - if err != nil { - return fmt.Errorf("gRPC SLRoutev6VrfRegOp failed: %w", err) - } - - // SL_SUCCESS: Entire bulk operation was successful. - // SL_SOME_ERR: Operation failed for one or more entries. - // SL_RPC_XXX: Eentire bulk operation failed. - if r.GetStatusSummary().GetStatus() != pb.SLErrorStatus_SL_SUCCESS { - // TODO: Add cases for partial errors - return fmt.Errorf("Error triggered by remote host: %s", r.GetStatusSummary().GetStatus().String()) - } - return nil -} - -// SetRoute ... -// SL_OBJOP_ADD = 1 // Route add. Fails if the route already exists. -// SL_OBJOP_UPDATE = 2 // Route update. Creates or updates the route. -// SL_OBJOP_DELETE = 3 // Route delete. The route path is not necessary to delete the route. -// SLRoutev6Op(ctx context.Context, in *SLRoutev6Msg, opts ...grpc.CallOption) (*SLRoutev6MsgRsp, error) -func SetRoute(conn *grpc.ClientConn, o int, ad string, d uint32, nh string) error { - // These are two hard-coded variables. TODO; take them as input - v := "default" - //intf := "HundredGigE0/0/0/1" - _, nw, err := net.ParseCIDR(ad) - if err != nil { - return fmt.Errorf("Could not parse address: %w", err) - } - mk, _ := nw.Mask.Size() - - op := new(pb.SLObjectOp) - switch o { - case 1: - *op = pb.SLObjectOp_SL_OBJOP_ADD - case 2: - *op = pb.SLObjectOp_SL_OBJOP_UPDATE - case 3: - *op = pb.SLObjectOp_SL_OBJOP_DELETE - default: - return errors.New("Unidentified Object Operation") - } - - // 'c' is the gRPC stub. - c := pb.NewSLRoutev6OperClient(conn) - - // 'a' is the object we send to the router via the stub. - a := pb.SLRoutev6Msg{ - Oper: *op, - // Correlator: x, - VrfName: v, - Routes: []*pb.SLRoutev6{ - &pb.SLRoutev6{ - Prefix: nw.IP, - PrefixLen: uint32(mk), - RouteCommon: &pb.SLRouteCommon{ - AdminDistance: d, - }, - PathList: []*pb.SLRoutePath{ - &pb.SLRoutePath{ - // NexthopInterface: x, - NexthopAddress: &pb.SLIpAddress{ - Address: &pb.SLIpAddress_V6Address{ - V6Address: net.ParseIP(nh), - }, - }, - }, - }, - }, - }, - } - - // 'r' is the result that comes back from the target. - r, err := c.SLRoutev6Op(context.Background(), &a) - if err != nil { - return fmt.Errorf("gRPC SLRoutev6Op failed: %w", err) - } - - // SL_SUCCESS: Entire bulk operation was successful. - // SL_SOME_ERR: Operation failed for one or more entries. - // SL_RPC_XXX: Eentire bulk operation failed. - if r.GetStatusSummary().GetStatus() != pb.SLErrorStatus_SL_SUCCESS { - // TODO: Add cases for partial errors - return fmt.Errorf("Error triggered by remote host: %s, AND %v", - r.GetStatusSummary().GetStatus().String(), r.GetResults()[0].GetErrStatus().GetStatus()) - } - return nil -} - -// ClientInit takes care of global initialization and setup -// a notification channel -func ClientInit(conn *grpc.ClientConn) error { - ch := make(chan int) - /* Setup the notification channel */ - go setupNotifChannel(conn, ch) - - /* Wait for response 0: error. 1: all ok*/ - if w := <-ch; w == 0 { - return errors.New("Error triggered by remote host") - } - - // 'c' is the gRPC stub. - c := pb.NewSLGlobalClient(conn) - - // 'a' is the object we send to the router via the stub. - a := pb.SLGlobalsGetMsg{} - - // 'r' is the result that comes back from the target. - _, err := c.SLGlobalsGet(context.Background(), &a) - if err != nil { - return fmt.Errorf("gRPC SLGlobalsGet failed: %w", err) - } - return nil -} - -func setupNotifChannel(conn *grpc.ClientConn, ch chan int) { - // 'c' is the gRPC stub. - c := pb.NewSLGlobalClient(conn) - - // 'a' is the object we send to the router via the stub. - // Version Major.Minor.Subversion define the API's version. - // Hardcoded to 0.0.1 for now - a := pb.SLInitMsg{ - MajorVer: uint32(0), - MinorVer: uint32(0), - SubVer: uint32(1), - } - - // 'st' is the streamed result that comes back from the target. - st, err := c.SLGlobalInitNotif(context.Background(), &a) - if err != nil { - ch <- 0 - return - // return errors.Wrap(err, "gRPC SLGlobalInitNotif failed") - } - - for { - // Loop through the responses in the stream until there is nothing left. - r, err := st.Recv() - if err == io.EOF { - return - //return nil - } - if err != nil { - return - // return errors.Wrap(err, "Recive Stream failed") - } - - // Status code, interpreted based on the Event Type. - // - // case EventType == SL_GLOBAL_EVENT_TYPE_ERROR: - // case ErrStatus == SL_NOTIF_TERM: - // => Another client is attempting to take over the session. - // This session will be closed. - // case ErrStatus == (some error from SLErrorStatus) - // => Client must look into the specific error message returned. - // - // case EventType == SL_GLOBAL_EVENT_TYPE_HEARTBEAT: - // case ErrStatus == SL_SUCCESS - // => Client can safely ignore this heartbeat message. - // - // case EventType == SL_GLOBAL_EVENT_TYPE_VERSION: - // case ErrStatus == SL_SUCCESS - // => Client version accepted. - // case ErrStatus == SL_INIT_STATE_READY - // => Client version accepted. - // Any previous state was sucessfully recovered. - // case ErrStatus == SL_INIT_STATE_CLEAR - // => Client version accepted. Any previous state was lost. - // Client must replay all previous objects to server. - // case ErrStatus == SL_UNSUPPORTED_VER - // => Client and Server version mismatch. The client is not - // allowed to proceed, and the channel will be closed. - // case ErrStatus == (some error from SLErrorStatus) - // => Client must either try again, or look into the specific - // error message returned. - - // Need to Fix this!! - switch r.EventType { - case pb.SLGlobalNotifType_SL_GLOBAL_EVENT_TYPE_VERSION: - ch <- 1 - continue - case pb.SLGlobalNotifType_SL_GLOBAL_EVENT_TYPE_ERROR: - _ = fmt.Errorf("%s", r.ErrStatus.String()) - break - case pb.SLGlobalNotifType_SL_GLOBAL_EVENT_TYPE_HEARTBEAT: - continue - default: - _ = fmt.Errorf("%s", r.ErrStatus.String()) - return - } - } -}