config

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Aug 19, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Copyright Louis Royer and the NextMN contributors. All rights reserved. Use of this source code is governed by a MIT-style license that can be found in the LICENSE file. SPDX-License-Identifier: MIT

Copyright Louis Royer and the NextMN contributors. All rights reserved. Use of this source code is governed by a MIT-style license that can be found in the LICENSE file. SPDX-License-Identifier: MIT

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Area added in v0.0.5

type Area struct {
	OneWayDelay time.Duration                `yaml:"one-way-delay"`
	Gnbs        []jsonapi.ControlURI         `yaml:"gnbs"`
	Paths       map[SliceName][]GTPInterface `yaml:"paths"`
}

type AreaName added in v0.1.0

type AreaName string

type CPConfig

type CPConfig struct {
	Control   Control             `yaml:"control"`
	Pfcp      netip.Addr          `yaml:"pfcp"`
	Slices    map[SliceName]Slice `yaml:"slices"`
	Areas     map[AreaName]Area   `yaml:"areas"`
	Emulation Emulation           `yaml:"emulation"`
	Logger    *Logger             `yaml:"logger,omitempty"`
}

func ParseConf

func ParseConf(file string) (*CPConfig, error)

type Control

type Control struct {
	Uri      jsonapi.ControlURI `yaml:"uri"`       // may contain domain name instead of ip address
	BindAddr netip.AddrPort     `yaml:"bind-addr"` // in the form `ip:port`
}

type Emulation added in v0.1.0

type Emulation struct {
	HandoverNotify time.Duration `yaml:"handover-notify"`
	N4SR4MEC       N4SR4MEC      `yaml:"n4-sr4mec"`
}

type GTPInterface added in v0.0.6

type GTPInterface struct {
	NodeID        netip.Addr `yaml:"node-id"`
	InterfaceAddr netip.Addr `yaml:"interface-addr"`
}

type Interface

type Interface struct {
	Type string     `yaml:"type"`
	Addr netip.Addr `yaml:"addr"`
}

type Logger

type Logger struct {
	Level logrus.Level `yaml:"level"`
}

type N4SR4MEC added in v0.1.0

type N4SR4MEC struct {
	Control Control               `yaml:"control"`
	Enabled bool                  `yaml:"enabled"`
	Slices  map[SliceName]SliceSR `yaml:"slices"`
}

type SRConfig added in v0.1.0

type SRConfig struct {
	Srgw             jsonapi.ControlURI `yaml:"srgw"`
	SrgwGtp4         netip.Addr         `yaml:"srgw-gtp4"`
	Anchor           jsonapi.ControlURI `yaml:"anchor"`
	UplinkSegments   []string           `yaml:"uplink-segments"`
	DownlinkSegments []string           `yaml:"downlink-segments"`
}

type Slice

type Slice struct {
	Pool netip.Prefix `yaml:"pool"`
	Upfs []Upf        `yaml:"upfs"`
}

type SliceName added in v0.1.0

type SliceName string

type SliceSR added in v0.1.0

type SliceSR struct {
	PostHandoverRebinding bool          `yaml:"post-handover-rebinding"`
	RebindingDelay        time.Duration `yaml:"rebinding-delay"`
	Service               netip.Addr    `yaml:"service"`
	PsEstablishment       SRConfig      `yaml:"ps-establishment"`
	HandoverRebinding     SRConfig      `yaml:"handover-rebinding"`
}

type Upf

type Upf struct {
	NodeID     netip.Addr  `yaml:"node-id"`
	Interfaces []Interface `yaml:"interfaces"`
}

Jump to

Keyboard shortcuts

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