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 - } - } -}