Documentation
¶
Overview ¶
Package storageconfig holds the Go bindings for the unbounded-storage daemon configuration schema. The schema source of truth is config.proto in this directory; both these Go bindings and the daemon's Rust (prost) bindings are generated from it, so the on-disk protobuf wire format is shared across the supervisor (writer) and the daemon (reader).
Index ¶
- Variables
- type BackendKind
- func (BackendKind) Descriptor() protoreflect.EnumDescriptor
- func (x BackendKind) Enum() *BackendKind
- func (BackendKind) EnumDescriptor() ([]byte, []int)deprecated
- func (x BackendKind) Number() protoreflect.EnumNumber
- func (x BackendKind) String() string
- func (BackendKind) Type() protoreflect.EnumType
- type BackendSpec
- func (*BackendSpec) Descriptor() ([]byte, []int)deprecated
- func (x *BackendSpec) GetBucket() string
- func (x *BackendSpec) GetEndpoint() string
- func (x *BackendSpec) GetHttpConcurrency() uint32
- func (x *BackendSpec) GetId() string
- func (x *BackendSpec) GetKind() BackendKind
- func (x *BackendSpec) GetStripeSizeBytes() uint64
- func (*BackendSpec) ProtoMessage()
- func (x *BackendSpec) ProtoReflect() protoreflect.Message
- func (x *BackendSpec) Reset()
- func (x *BackendSpec) String() string
- type Config
- func (*Config) Descriptor() ([]byte, []int)deprecated
- func (x *Config) GetBackends() []*BackendSpec
- func (x *Config) GetDisks() []*DiskSpec
- func (x *Config) GetFrontends() []*FrontendSpec
- func (x *Config) GetP2P() *P2PCfg
- func (x *Config) GetPeers() []*PeerSpec
- func (x *Config) GetStartup() *StartupCfg
- func (x *Config) GetVersion() uint64
- func (*Config) ProtoMessage()
- func (x *Config) ProtoReflect() protoreflect.Message
- func (x *Config) Reset()
- func (x *Config) String() string
- type DiskKind
- type DiskSpec
- func (*DiskSpec) Descriptor() ([]byte, []int)deprecated
- func (x *DiskSpec) GetBypassAdmission() bool
- func (x *DiskSpec) GetKind() DiskKind
- func (x *DiskSpec) GetNuma() uint32
- func (x *DiskSpec) GetPageSizeBytes() uint64
- func (x *DiskSpec) GetPath() string
- func (x *DiskSpec) GetQueueDepth() uint32
- func (x *DiskSpec) GetSize() uint64
- func (x *DiskSpec) GetSkipRecoveryScanIfNoMeta() bool
- func (*DiskSpec) ProtoMessage()
- func (x *DiskSpec) ProtoReflect() protoreflect.Message
- func (x *DiskSpec) Reset()
- func (x *DiskSpec) String() string
- type FabricAddress
- func (*FabricAddress) Descriptor() ([]byte, []int)deprecated
- func (x *FabricAddress) GetNative() string
- func (x *FabricAddress) GetSocket() string
- func (*FabricAddress) ProtoMessage()
- func (x *FabricAddress) ProtoReflect() protoreflect.Message
- func (x *FabricAddress) Reset()
- func (x *FabricAddress) String() string
- type FabricCfg
- func (*FabricCfg) Descriptor() ([]byte, []int)deprecated
- func (x *FabricCfg) GetListenAddr() string
- func (x *FabricCfg) GetMaxInflight() uint32
- func (x *FabricCfg) GetProgressPollUs() uint32
- func (x *FabricCfg) GetProgressThreads() uint32
- func (x *FabricCfg) GetRpcWorkerThreads() uint32
- func (*FabricCfg) ProtoMessage()
- func (x *FabricCfg) ProtoReflect() protoreflect.Message
- func (x *FabricCfg) Reset()
- func (x *FabricCfg) String() string
- type FrontendKind
- func (FrontendKind) Descriptor() protoreflect.EnumDescriptor
- func (x FrontendKind) Enum() *FrontendKind
- func (FrontendKind) EnumDescriptor() ([]byte, []int)deprecated
- func (x FrontendKind) Number() protoreflect.EnumNumber
- func (x FrontendKind) String() string
- func (FrontendKind) Type() protoreflect.EnumType
- type FrontendSpec
- func (*FrontendSpec) Descriptor() ([]byte, []int)deprecated
- func (x *FrontendSpec) GetBackend() string
- func (x *FrontendSpec) GetBind() string
- func (x *FrontendSpec) GetId() string
- func (x *FrontendSpec) GetKind() FrontendKind
- func (*FrontendSpec) ProtoMessage()
- func (x *FrontendSpec) ProtoReflect() protoreflect.Message
- func (x *FrontendSpec) Reset()
- func (x *FrontendSpec) String() string
- type MemoryCfg
- func (*MemoryCfg) Descriptor() ([]byte, []int)deprecated
- func (x *MemoryCfg) GetMemoryTotalBytes() uint64
- func (x *MemoryCfg) GetNoHugepages() bool
- func (*MemoryCfg) ProtoMessage()
- func (x *MemoryCfg) ProtoReflect() protoreflect.Message
- func (x *MemoryCfg) Reset()
- func (x *MemoryCfg) String() string
- type MetricsCfg
- type P2PCfg
- func (*P2PCfg) Descriptor() ([]byte, []int)deprecated
- func (x *P2PCfg) GetFingersPerNode() uint32
- func (x *P2PCfg) GetLocalLabels() []string
- func (x *P2PCfg) GetLocalNodeId() uint64
- func (x *P2PCfg) GetRoutingPlan() *RoutingPlan
- func (*P2PCfg) ProtoMessage()
- func (x *P2PCfg) ProtoReflect() protoreflect.Message
- func (x *P2PCfg) Reset()
- func (x *P2PCfg) String() string
- type PeerSpec
- func (*PeerSpec) Descriptor() ([]byte, []int)deprecated
- func (x *PeerSpec) GetAddress() *FabricAddress
- func (x *PeerSpec) GetHcaNuma() uint32
- func (x *PeerSpec) GetId() uint64
- func (x *PeerSpec) GetLabels() []string
- func (*PeerSpec) ProtoMessage()
- func (x *PeerSpec) ProtoReflect() protoreflect.Message
- func (x *PeerSpec) Reset()
- func (x *PeerSpec) String() string
- type RoutingPlan
- func (*RoutingPlan) Descriptor() ([]byte, []int)deprecated
- func (x *RoutingPlan) GetFingers() []uint64
- func (x *RoutingPlan) GetPredecessor() uint64
- func (x *RoutingPlan) GetSuccessor() uint64
- func (*RoutingPlan) ProtoMessage()
- func (x *RoutingPlan) ProtoReflect() protoreflect.Message
- func (x *RoutingPlan) Reset()
- func (x *RoutingPlan) String() string
- type StartupCfg
- func (*StartupCfg) Descriptor() ([]byte, []int)deprecated
- func (x *StartupCfg) GetFabric() *FabricCfg
- func (x *StartupCfg) GetMemory() *MemoryCfg
- func (x *StartupCfg) GetMetrics() *MetricsCfg
- func (x *StartupCfg) GetTopology() *TopologyCfg
- func (*StartupCfg) ProtoMessage()
- func (x *StartupCfg) ProtoReflect() protoreflect.Message
- func (x *StartupCfg) Reset()
- func (x *StartupCfg) String() string
- type TopologyCfg
- func (*TopologyCfg) Descriptor() ([]byte, []int)deprecated
- func (x *TopologyCfg) GetAllowInactivePort() bool
- func (x *TopologyCfg) GetDisableRdma() bool
- func (x *TopologyCfg) GetHcasPerNumaNode() uint64
- func (x *TopologyCfg) GetIgnoreIsolated() bool
- func (x *TopologyCfg) GetIncludeNodeCpu0() bool
- func (x *TopologyCfg) GetNicWorkers() uint64
- func (x *TopologyCfg) GetServingCores() uint64
- func (x *TopologyCfg) GetUseSmtSiblings() bool
- func (*TopologyCfg) ProtoMessage()
- func (x *TopologyCfg) ProtoReflect() protoreflect.Message
- func (x *TopologyCfg) Reset()
- func (x *TopologyCfg) String() string
Constants ¶
This section is empty.
Variables ¶
var ( DiskKind_name = map[int32]string{ 0: "DISK_KIND_NVME", 1: "DISK_KIND_BLOCK", 2: "DISK_KIND_FILE", } DiskKind_value = map[string]int32{ "DISK_KIND_NVME": 0, "DISK_KIND_BLOCK": 1, "DISK_KIND_FILE": 2, } )
Enum value maps for DiskKind.
var ( BackendKind_name = map[int32]string{ 0: "BACKEND_KIND_HTTP", 1: "BACKEND_KIND_S3", 2: "BACKEND_KIND_AZURE", } BackendKind_value = map[string]int32{ "BACKEND_KIND_HTTP": 0, "BACKEND_KIND_S3": 1, "BACKEND_KIND_AZURE": 2, } )
Enum value maps for BackendKind.
var ( FrontendKind_name = map[int32]string{ 0: "FRONTEND_KIND_HTTP", 1: "FRONTEND_KIND_S3", } FrontendKind_value = map[string]int32{ "FRONTEND_KIND_HTTP": 0, "FRONTEND_KIND_S3": 1, } )
Enum value maps for FrontendKind.
var File_config_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type BackendKind ¶
type BackendKind int32
const ( BackendKind_BACKEND_KIND_HTTP BackendKind = 0 BackendKind_BACKEND_KIND_S3 BackendKind = 1 BackendKind_BACKEND_KIND_AZURE BackendKind = 2 )
func (BackendKind) Descriptor ¶
func (BackendKind) Descriptor() protoreflect.EnumDescriptor
func (BackendKind) Enum ¶
func (x BackendKind) Enum() *BackendKind
func (BackendKind) EnumDescriptor
deprecated
func (BackendKind) EnumDescriptor() ([]byte, []int)
Deprecated: Use BackendKind.Descriptor instead.
func (BackendKind) Number ¶
func (x BackendKind) Number() protoreflect.EnumNumber
func (BackendKind) String ¶
func (x BackendKind) String() string
func (BackendKind) Type ¶
func (BackendKind) Type() protoreflect.EnumType
type BackendSpec ¶
type BackendSpec struct {
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Kind BackendKind `protobuf:"varint,2,opt,name=kind,proto3,enum=unbounded.storage.config.BackendKind" json:"kind,omitempty"`
Endpoint string `protobuf:"bytes,3,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
StripeSizeBytes uint64 `protobuf:"varint,4,opt,name=stripe_size_bytes,json=stripeSizeBytes,proto3" json:"stripe_size_bytes,omitempty"`
HttpConcurrency uint32 `protobuf:"varint,5,opt,name=http_concurrency,json=httpConcurrency,proto3" json:"http_concurrency,omitempty"`
Bucket *string `protobuf:"bytes,6,opt,name=bucket,proto3,oneof" json:"bucket,omitempty"`
// contains filtered or unexported fields
}
func (*BackendSpec) Descriptor
deprecated
func (*BackendSpec) Descriptor() ([]byte, []int)
Deprecated: Use BackendSpec.ProtoReflect.Descriptor instead.
func (*BackendSpec) GetBucket ¶
func (x *BackendSpec) GetBucket() string
func (*BackendSpec) GetEndpoint ¶
func (x *BackendSpec) GetEndpoint() string
func (*BackendSpec) GetHttpConcurrency ¶
func (x *BackendSpec) GetHttpConcurrency() uint32
func (*BackendSpec) GetId ¶
func (x *BackendSpec) GetId() string
func (*BackendSpec) GetKind ¶
func (x *BackendSpec) GetKind() BackendKind
func (*BackendSpec) GetStripeSizeBytes ¶
func (x *BackendSpec) GetStripeSizeBytes() uint64
func (*BackendSpec) ProtoMessage ¶
func (*BackendSpec) ProtoMessage()
func (*BackendSpec) ProtoReflect ¶
func (x *BackendSpec) ProtoReflect() protoreflect.Message
func (*BackendSpec) Reset ¶
func (x *BackendSpec) Reset()
func (*BackendSpec) String ¶
func (x *BackendSpec) String() string
type Config ¶
type Config struct {
// Operator-assigned configuration version. The daemon treats it as an
// opaque counter: it never drives behavior, but it is tracked as the
// latest-known and latest-applied config versions so operators can
// confirm a pushed config has been realized across the process. The
// proto3 zero value (0) means "unversioned".
Version uint64 `protobuf:"varint,6,opt,name=version,proto3" json:"version,omitempty"`
P2P *P2PCfg `protobuf:"bytes,1,opt,name=p2p,proto3" json:"p2p,omitempty"`
Peers []*PeerSpec `protobuf:"bytes,2,rep,name=peers,proto3" json:"peers,omitempty"`
Disks []*DiskSpec `protobuf:"bytes,3,rep,name=disks,proto3" json:"disks,omitempty"`
Backends []*BackendSpec `protobuf:"bytes,4,rep,name=backends,proto3" json:"backends,omitempty"`
Frontends []*FrontendSpec `protobuf:"bytes,5,rep,name=frontends,proto3" json:"frontends,omitempty"`
// Startup-fixed settings (memory backing, fabric endpoint/threads, CPU
// topology placement). Unlike the rest of the config these cannot be
// hot-reloaded: they are read exactly once when the process starts and
// changing them requires a restart. They are deliberately excluded from
// ConfigDiff; operators observe which config version's startup settings
// are realized via the separately tracked "startup" config version.
Startup *StartupCfg `protobuf:"bytes,7,opt,name=startup,proto3" json:"startup,omitempty"`
// contains filtered or unexported fields
}
func (*Config) Descriptor
deprecated
func (*Config) GetBackends ¶
func (x *Config) GetBackends() []*BackendSpec
func (*Config) GetFrontends ¶
func (x *Config) GetFrontends() []*FrontendSpec
func (*Config) GetStartup ¶
func (x *Config) GetStartup() *StartupCfg
func (*Config) GetVersion ¶
func (*Config) ProtoMessage ¶
func (*Config) ProtoMessage()
func (*Config) ProtoReflect ¶
func (x *Config) ProtoReflect() protoreflect.Message
type DiskKind ¶
type DiskKind int32
func (DiskKind) Descriptor ¶
func (DiskKind) Descriptor() protoreflect.EnumDescriptor
func (DiskKind) EnumDescriptor
deprecated
func (DiskKind) Number ¶
func (x DiskKind) Number() protoreflect.EnumNumber
func (DiskKind) Type ¶
func (DiskKind) Type() protoreflect.EnumType
type DiskSpec ¶
type DiskSpec struct {
Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
Kind DiskKind `protobuf:"varint,2,opt,name=kind,proto3,enum=unbounded.storage.config.DiskKind" json:"kind,omitempty"`
Size *uint64 `protobuf:"varint,3,opt,name=size,proto3,oneof" json:"size,omitempty"`
Numa *uint32 `protobuf:"varint,4,opt,name=numa,proto3,oneof" json:"numa,omitempty"`
QueueDepth *uint32 `protobuf:"varint,5,opt,name=queue_depth,json=queueDepth,proto3,oneof" json:"queue_depth,omitempty"`
PageSizeBytes *uint64 `protobuf:"varint,6,opt,name=page_size_bytes,json=pageSizeBytes,proto3,oneof" json:"page_size_bytes,omitempty"`
BypassAdmission bool `protobuf:"varint,7,opt,name=bypass_admission,json=bypassAdmission,proto3" json:"bypass_admission,omitempty"`
SkipRecoveryScanIfNoMeta bool `` /* 142-byte string literal not displayed */
// contains filtered or unexported fields
}
func (*DiskSpec) Descriptor
deprecated
func (*DiskSpec) GetBypassAdmission ¶
func (*DiskSpec) GetPageSizeBytes ¶
func (*DiskSpec) GetQueueDepth ¶
func (*DiskSpec) GetSkipRecoveryScanIfNoMeta ¶
func (*DiskSpec) ProtoMessage ¶
func (*DiskSpec) ProtoMessage()
func (*DiskSpec) ProtoReflect ¶
func (x *DiskSpec) ProtoReflect() protoreflect.Message
type FabricAddress ¶
type FabricAddress struct {
// Numeric IP socket address usable by libfabric/RDMA CM, e.g.
// "10.0.0.1:9000". On InfiniBand this is usually an IPoIB address;
// on tcp fallback it is a normal TCP socket address.
Socket string `protobuf:"bytes,1,opt,name=socket,proto3" json:"socket,omitempty"`
// Provider-native escape hatch for RDMA deployments without socket
// addressing. Currently encoded as "hex:<fi_getname-bytes>" so a
// controller can publish the raw provider address when needed.
Native string `protobuf:"bytes,2,opt,name=native,proto3" json:"native,omitempty"`
// contains filtered or unexported fields
}
func (*FabricAddress) Descriptor
deprecated
func (*FabricAddress) Descriptor() ([]byte, []int)
Deprecated: Use FabricAddress.ProtoReflect.Descriptor instead.
func (*FabricAddress) GetNative ¶
func (x *FabricAddress) GetNative() string
func (*FabricAddress) GetSocket ¶
func (x *FabricAddress) GetSocket() string
func (*FabricAddress) ProtoMessage ¶
func (*FabricAddress) ProtoMessage()
func (*FabricAddress) ProtoReflect ¶
func (x *FabricAddress) ProtoReflect() protoreflect.Message
func (*FabricAddress) Reset ¶
func (x *FabricAddress) Reset()
func (*FabricAddress) String ¶
func (x *FabricAddress) String() string
type FabricCfg ¶
type FabricCfg struct {
// Per-shard fabric listen address. "" -> "0.0.0.0:0" (":0" picks a free
// port).
ListenAddr string `protobuf:"bytes,1,opt,name=listen_addr,json=listenAddr,proto3" json:"listen_addr,omitempty"`
// libfabric progress threads per shard. 0 -> 2.
ProgressThreads uint32 `protobuf:"varint,2,opt,name=progress_threads,json=progressThreads,proto3" json:"progress_threads,omitempty"`
// Progress-thread busy-poll budget in microseconds. 0 -> 10.
ProgressPollUs uint32 `protobuf:"varint,3,opt,name=progress_poll_us,json=progressPollUs,proto3" json:"progress_poll_us,omitempty"`
// Fabric RPC worker threads per shard. 0 -> 4.
RpcWorkerThreads uint32 `protobuf:"varint,4,opt,name=rpc_worker_threads,json=rpcWorkerThreads,proto3" json:"rpc_worker_threads,omitempty"`
// Max in-flight fabric operations per shard (back-pressure limit that
// sizes the completion registry and server-side request cap). 0 -> 1024.
MaxInflight uint32 `protobuf:"varint,5,opt,name=max_inflight,json=maxInflight,proto3" json:"max_inflight,omitempty"`
// contains filtered or unexported fields
}
func (*FabricCfg) Descriptor
deprecated
func (*FabricCfg) GetListenAddr ¶
func (*FabricCfg) GetMaxInflight ¶
func (*FabricCfg) GetProgressPollUs ¶
func (*FabricCfg) GetProgressThreads ¶
func (*FabricCfg) GetRpcWorkerThreads ¶
func (*FabricCfg) ProtoMessage ¶
func (*FabricCfg) ProtoMessage()
func (*FabricCfg) ProtoReflect ¶
func (x *FabricCfg) ProtoReflect() protoreflect.Message
type FrontendKind ¶
type FrontendKind int32
const ( FrontendKind_FRONTEND_KIND_HTTP FrontendKind = 0 FrontendKind_FRONTEND_KIND_S3 FrontendKind = 1 )
func (FrontendKind) Descriptor ¶
func (FrontendKind) Descriptor() protoreflect.EnumDescriptor
func (FrontendKind) Enum ¶
func (x FrontendKind) Enum() *FrontendKind
func (FrontendKind) EnumDescriptor
deprecated
func (FrontendKind) EnumDescriptor() ([]byte, []int)
Deprecated: Use FrontendKind.Descriptor instead.
func (FrontendKind) Number ¶
func (x FrontendKind) Number() protoreflect.EnumNumber
func (FrontendKind) String ¶
func (x FrontendKind) String() string
func (FrontendKind) Type ¶
func (FrontendKind) Type() protoreflect.EnumType
type FrontendSpec ¶
type FrontendSpec struct {
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Kind FrontendKind `protobuf:"varint,2,opt,name=kind,proto3,enum=unbounded.storage.config.FrontendKind" json:"kind,omitempty"`
Bind string `protobuf:"bytes,3,opt,name=bind,proto3" json:"bind,omitempty"`
Backend string `protobuf:"bytes,4,opt,name=backend,proto3" json:"backend,omitempty"`
// contains filtered or unexported fields
}
func (*FrontendSpec) Descriptor
deprecated
func (*FrontendSpec) Descriptor() ([]byte, []int)
Deprecated: Use FrontendSpec.ProtoReflect.Descriptor instead.
func (*FrontendSpec) GetBackend ¶
func (x *FrontendSpec) GetBackend() string
func (*FrontendSpec) GetBind ¶
func (x *FrontendSpec) GetBind() string
func (*FrontendSpec) GetId ¶
func (x *FrontendSpec) GetId() string
func (*FrontendSpec) GetKind ¶
func (x *FrontendSpec) GetKind() FrontendKind
func (*FrontendSpec) ProtoMessage ¶
func (*FrontendSpec) ProtoMessage()
func (*FrontendSpec) ProtoReflect ¶
func (x *FrontendSpec) ProtoReflect() protoreflect.Message
func (*FrontendSpec) Reset ¶
func (x *FrontendSpec) Reset()
func (*FrontendSpec) String ¶
func (x *FrontendSpec) String() string
type MemoryCfg ¶
type MemoryCfg struct {
// Allocate per-shard backing from the heap instead of 2 MiB hugepages.
NoHugepages bool `protobuf:"varint,1,opt,name=no_hugepages,json=noHugepages,proto3" json:"no_hugepages,omitempty"`
// Total backing pool across all serving shards, in bytes. Each serving
// shard is allocated `memory_total_bytes / serving_shard_count`,
// NUMA-local, so the host footprint stays fixed regardless of the
// auto-scaled serving-core count. 0 -> 128 MiB.
MemoryTotalBytes uint64 `protobuf:"varint,2,opt,name=memory_total_bytes,json=memoryTotalBytes,proto3" json:"memory_total_bytes,omitempty"`
// contains filtered or unexported fields
}
func (*MemoryCfg) Descriptor
deprecated
func (*MemoryCfg) GetMemoryTotalBytes ¶
func (*MemoryCfg) GetNoHugepages ¶
func (*MemoryCfg) ProtoMessage ¶
func (*MemoryCfg) ProtoMessage()
func (*MemoryCfg) ProtoReflect ¶
func (x *MemoryCfg) ProtoReflect() protoreflect.Message
type MetricsCfg ¶
type MetricsCfg struct {
// Listen address for the Prometheus metrics exporter (e.g.
// "0.0.0.0:9100"). "" -> exporter disabled.
Bind string `protobuf:"bytes,1,opt,name=bind,proto3" json:"bind,omitempty"`
// contains filtered or unexported fields
}
func (*MetricsCfg) Descriptor
deprecated
func (*MetricsCfg) Descriptor() ([]byte, []int)
Deprecated: Use MetricsCfg.ProtoReflect.Descriptor instead.
func (*MetricsCfg) GetBind ¶
func (x *MetricsCfg) GetBind() string
func (*MetricsCfg) ProtoMessage ¶
func (*MetricsCfg) ProtoMessage()
func (*MetricsCfg) ProtoReflect ¶
func (x *MetricsCfg) ProtoReflect() protoreflect.Message
func (*MetricsCfg) Reset ¶
func (x *MetricsCfg) Reset()
func (*MetricsCfg) String ¶
func (x *MetricsCfg) String() string
type P2PCfg ¶
type P2PCfg struct {
FingersPerNode uint32 `protobuf:"varint,1,opt,name=fingers_per_node,json=fingersPerNode,proto3" json:"fingers_per_node,omitempty"`
LocalNodeId *uint64 `protobuf:"varint,2,opt,name=local_node_id,json=localNodeId,proto3,oneof" json:"local_node_id,omitempty"`
LocalLabels []string `protobuf:"bytes,3,rep,name=local_labels,json=localLabels,proto3" json:"local_labels,omitempty"`
// When set, the daemon uses this precomputed routing table verbatim
// instead of deriving fingers from the full peer set. This is the
// "disjoint discovery" mode: a global-view planner selects each
// node's neighbors and ships them here, so a node only needs to know
// (and connect to) its direct routing neighbors. When unset, the
// daemon falls back to building the finger table from `peers` using
// `fingers_per_node`.
RoutingPlan *RoutingPlan `protobuf:"bytes,4,opt,name=routing_plan,json=routingPlan,proto3,oneof" json:"routing_plan,omitempty"`
// contains filtered or unexported fields
}
func (*P2PCfg) Descriptor
deprecated
func (*P2PCfg) GetFingersPerNode ¶
func (*P2PCfg) GetLocalLabels ¶
func (*P2PCfg) GetLocalNodeId ¶
func (*P2PCfg) GetRoutingPlan ¶
func (x *P2PCfg) GetRoutingPlan() *RoutingPlan
func (*P2PCfg) ProtoMessage ¶
func (*P2PCfg) ProtoMessage()
func (*P2PCfg) ProtoReflect ¶
func (x *P2PCfg) ProtoReflect() protoreflect.Message
type PeerSpec ¶
type PeerSpec struct {
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Address *FabricAddress `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
HcaNuma *uint32 `protobuf:"varint,3,opt,name=hca_numa,json=hcaNuma,proto3,oneof" json:"hca_numa,omitempty"`
Labels []string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty"`
// contains filtered or unexported fields
}
func (*PeerSpec) Descriptor
deprecated
func (*PeerSpec) GetAddress ¶
func (x *PeerSpec) GetAddress() *FabricAddress
func (*PeerSpec) GetHcaNuma ¶
func (*PeerSpec) ProtoMessage ¶
func (*PeerSpec) ProtoMessage()
func (*PeerSpec) ProtoReflect ¶
func (x *PeerSpec) ProtoReflect() protoreflect.Message
type RoutingPlan ¶
type RoutingPlan struct {
// Peer ids selected as fingers. The local node id is excluded and
// the order is irrelevant (routing scans all fingers regardless).
Fingers []uint64 `protobuf:"varint,1,rep,packed,name=fingers,proto3" json:"fingers,omitempty"`
// Peer id of the nearest-forward neighbor on the ring.
Successor *uint64 `protobuf:"varint,2,opt,name=successor,proto3,oneof" json:"successor,omitempty"`
// Peer id of the nearest-backward neighbor on the ring.
Predecessor *uint64 `protobuf:"varint,3,opt,name=predecessor,proto3,oneof" json:"predecessor,omitempty"`
// contains filtered or unexported fields
}
A precomputed routing table for a single node, produced by a global-view planner. All ids reference `PeerSpec.id` values in the `peers` list (each must be present so a fabric connection exists). Ring positions are derived from ids, and labels do not affect runtime routing, so only ids are carried here.
func (*RoutingPlan) Descriptor
deprecated
func (*RoutingPlan) Descriptor() ([]byte, []int)
Deprecated: Use RoutingPlan.ProtoReflect.Descriptor instead.
func (*RoutingPlan) GetFingers ¶
func (x *RoutingPlan) GetFingers() []uint64
func (*RoutingPlan) GetPredecessor ¶
func (x *RoutingPlan) GetPredecessor() uint64
func (*RoutingPlan) GetSuccessor ¶
func (x *RoutingPlan) GetSuccessor() uint64
func (*RoutingPlan) ProtoMessage ¶
func (*RoutingPlan) ProtoMessage()
func (*RoutingPlan) ProtoReflect ¶
func (x *RoutingPlan) ProtoReflect() protoreflect.Message
func (*RoutingPlan) Reset ¶
func (x *RoutingPlan) Reset()
func (*RoutingPlan) String ¶
func (x *RoutingPlan) String() string
type StartupCfg ¶
type StartupCfg struct {
Memory *MemoryCfg `protobuf:"bytes,1,opt,name=memory,proto3" json:"memory,omitempty"`
Fabric *FabricCfg `protobuf:"bytes,2,opt,name=fabric,proto3" json:"fabric,omitempty"`
Topology *TopologyCfg `protobuf:"bytes,3,opt,name=topology,proto3" json:"topology,omitempty"`
Metrics *MetricsCfg `protobuf:"bytes,4,opt,name=metrics,proto3" json:"metrics,omitempty"`
// contains filtered or unexported fields
}
Startup-fixed settings, grouped by the subsystem that consumes them. Every field's proto3 zero value means "unset" and is promoted to the documented default by Config::apply_defaults.
func (*StartupCfg) Descriptor
deprecated
func (*StartupCfg) Descriptor() ([]byte, []int)
Deprecated: Use StartupCfg.ProtoReflect.Descriptor instead.
func (*StartupCfg) GetFabric ¶
func (x *StartupCfg) GetFabric() *FabricCfg
func (*StartupCfg) GetMemory ¶
func (x *StartupCfg) GetMemory() *MemoryCfg
func (*StartupCfg) GetMetrics ¶
func (x *StartupCfg) GetMetrics() *MetricsCfg
func (*StartupCfg) GetTopology ¶
func (x *StartupCfg) GetTopology() *TopologyCfg
func (*StartupCfg) ProtoMessage ¶
func (*StartupCfg) ProtoMessage()
func (*StartupCfg) ProtoReflect ¶
func (x *StartupCfg) ProtoReflect() protoreflect.Message
func (*StartupCfg) Reset ¶
func (x *StartupCfg) Reset()
func (*StartupCfg) String ¶
func (x *StartupCfg) String() string
type TopologyCfg ¶
type TopologyCfg struct {
// Place shards on SMT sibling CPUs as well as physical cores.
UseSmtSiblings bool `protobuf:"varint,4,opt,name=use_smt_siblings,json=useSmtSiblings,proto3" json:"use_smt_siblings,omitempty"`
// Schedule shards onto isolcpus-isolated CPUs too. The proto3 false
// default preserves the historical "respect isolated CPUs" behavior.
IgnoreIsolated bool `protobuf:"varint,5,opt,name=ignore_isolated,json=ignoreIsolated,proto3" json:"ignore_isolated,omitempty"`
// Allow placing a shard on each NUMA node's CPU 0. The proto3 false
// default preserves the historical "exclude node CPU 0" behavior.
IncludeNodeCpu0 bool `protobuf:"varint,6,opt,name=include_node_cpu0,json=includeNodeCpu0,proto3" json:"include_node_cpu0,omitempty"`
// Use HCA ports that are not in the active state. The proto3 false
// default preserves the historical "require active port" behavior.
AllowInactivePort bool `protobuf:"varint,7,opt,name=allow_inactive_port,json=allowInactivePort,proto3" json:"allow_inactive_port,omitempty"`
// Disable RDMA and force the libfabric tcp provider.
DisableRdma bool `protobuf:"varint,8,opt,name=disable_rdma,json=disableRdma,proto3" json:"disable_rdma,omitempty"`
// Cap on the number of serving-shard CPUs to pin. 0 -> auto (claim
// every usable core left after storage and NIC-worker reservations).
ServingCores uint64 `protobuf:"varint,9,opt,name=serving_cores,json=servingCores,proto3" json:"serving_cores,omitempty"`
// NIC-worker CPUs to pin per active HCA. 0 -> 4.
NicWorkers uint64 `protobuf:"varint,10,opt,name=nic_workers,json=nicWorkers,proto3" json:"nic_workers,omitempty"`
// Maximum number of HCAs to use per NUMA node. 0 -> 1. Raise this to
// use additional HCAs on a NUMA node. HCAs whose NUMA node is unknown
// are never capped.
HcasPerNumaNode uint64 `protobuf:"varint,11,opt,name=hcas_per_numa_node,json=hcasPerNumaNode,proto3" json:"hcas_per_numa_node,omitempty"`
// contains filtered or unexported fields
}
func (*TopologyCfg) Descriptor
deprecated
func (*TopologyCfg) Descriptor() ([]byte, []int)
Deprecated: Use TopologyCfg.ProtoReflect.Descriptor instead.
func (*TopologyCfg) GetAllowInactivePort ¶
func (x *TopologyCfg) GetAllowInactivePort() bool
func (*TopologyCfg) GetDisableRdma ¶
func (x *TopologyCfg) GetDisableRdma() bool
func (*TopologyCfg) GetHcasPerNumaNode ¶
func (x *TopologyCfg) GetHcasPerNumaNode() uint64
func (*TopologyCfg) GetIgnoreIsolated ¶
func (x *TopologyCfg) GetIgnoreIsolated() bool
func (*TopologyCfg) GetIncludeNodeCpu0 ¶
func (x *TopologyCfg) GetIncludeNodeCpu0() bool
func (*TopologyCfg) GetNicWorkers ¶
func (x *TopologyCfg) GetNicWorkers() uint64
func (*TopologyCfg) GetServingCores ¶
func (x *TopologyCfg) GetServingCores() uint64
func (*TopologyCfg) GetUseSmtSiblings ¶
func (x *TopologyCfg) GetUseSmtSiblings() bool
func (*TopologyCfg) ProtoMessage ¶
func (*TopologyCfg) ProtoMessage()
func (*TopologyCfg) ProtoReflect ¶
func (x *TopologyCfg) ProtoReflect() protoreflect.Message
func (*TopologyCfg) Reset ¶
func (x *TopologyCfg) Reset()
func (*TopologyCfg) String ¶
func (x *TopologyCfg) String() string