Documentation
¶
Index ¶
- Constants
- Variables
- func CheckConfigVersion() error
- func InitConfigFactory(f string) error
- func InitRoutingConfigFactory(f string) error
- type Config
- type Configuration
- type DNS
- type Info
- type InterfaceUpfInfoItem
- type PFCP
- type Path
- type PfdContent
- type PfdDataForApp
- type RouteProfID
- type RouteProfile
- type RoutingConfig
- type Sbi
- type SnssaiDnnInfoItem
- type SnssaiInfoItem
- type TLS
- type UERoutingInfo
- type UPLink
- type UPNode
- type UserPlaneInformation
Constants ¶
View Source
const ( SMF_EXPECTED_CONFIG_VERSION = "1.0.0" UE_ROUTING_EXPECTED_CONFIG_VERSION = "1.0.0" )
View Source
const ( SMF_DEFAULT_IPV4 = "127.0.0.2" SMF_DEFAULT_PORT = "8000" SMF_DEFAULT_PORT_INT = 8000 )
Variables ¶
View Source
var ( SmfConfig Config UERoutingConfig RoutingConfig )
Functions ¶
func CheckConfigVersion ¶
func CheckConfigVersion() error
func InitConfigFactory ¶
TODO: Support configuration update from REST api
Types ¶
type Config ¶
type Config struct {
Info *Info `yaml:"info"`
Configuration *Configuration `yaml:"configuration"`
Logger *logger_util.Logger `yaml:"logger"`
}
func (*Config) GetVersion ¶
type Configuration ¶
type Configuration struct {
SmfName string `yaml:"smfName,omitempty"`
Sbi *Sbi `yaml:"sbi,omitempty"`
PFCP *PFCP `yaml:"pfcp,omitempty"`
NrfUri string `yaml:"nrfUri,omitempty"`
UserPlaneInformation UserPlaneInformation `yaml:"userplane_information"`
ServiceNameList []string `yaml:"serviceNameList,omitempty"`
SNssaiInfo []SnssaiInfoItem `yaml:"snssaiInfos,omitempty"`
ULCL bool `yaml:"ulcl,omitempty"`
}
type InterfaceUpfInfoItem ¶
type InterfaceUpfInfoItem struct {
InterfaceType models.UpInterfaceType `yaml:"interfaceType"`
Endpoints []string `yaml:"endpoints"`
NetworkInstance string `yaml:"networkInstance"`
}
type PfdContent ¶
type PfdContent struct {
// Identifies a PFD of an application identifier.
PfdID string `yaml:"pfdID,omitempty"`
// Represents a 3-tuple with protocol, server ip and server port for
// UL/DL application traffic.
FlowDescriptions []string `yaml:"flowDescriptions,omitempty"`
// Indicates a URL or a regular expression which is used to match the
// significant parts of the URL.
Urls []string `yaml:"urls,omitempty"`
// Indicates an FQDN or a regular expression as a domain name matching
// criteria.
DomainNames []string `yaml:"domainNames,omitempty"`
}
PfdContent represents the flow of the application
type PfdDataForApp ¶
type PfdDataForApp struct {
// Identifier of an application.
AppID string `yaml:"applicationId"`
// PFDs for the application identifier.
Pfds []PfdContent `yaml:"pfds"`
// Caching time for an application identifier.
CachingTime *time.Time `yaml:"cachingTime,omitempty"`
}
PfdDataForApp represents the PFDs for an application identifier
type RouteProfID ¶
type RouteProfID string
RouteProfID is string providing a Route Profile identifier.
type RouteProfile ¶
type RouteProfile struct {
// Forwarding Policy ID of the route profile
ForwardingPolicyID string `yaml:"forwardingPolicyID,omitempty"`
}
RouteProfile maintains the mapping between RouteProfileID and ForwardingPolicyID of UPF
type RoutingConfig ¶
type RoutingConfig struct {
Info *Info `yaml:"info"`
UERoutingInfo []*UERoutingInfo `yaml:"ueRoutingInfo"`
RouteProf map[RouteProfID]RouteProfile `yaml:"routeProfile,omitempty"`
PfdDatas []*PfdDataForApp `yaml:"pfdDataForApp,omitempty"`
}
func (*RoutingConfig) GetVersion ¶
func (r *RoutingConfig) GetVersion() string
type Sbi ¶
type Sbi struct {
Scheme string `yaml:"scheme"`
TLS *TLS `yaml:"tls"`
RegisterIPv4 string `yaml:"registerIPv4,omitempty"` // IP that is registered at NRF.
// IPv6Addr string `yaml:"ipv6Addr,omitempty"`
BindingIPv4 string `yaml:"bindingIPv4,omitempty"` // IP used to run the server in the node.
Port int `yaml:"port,omitempty"`
}
type SnssaiDnnInfoItem ¶
type SnssaiInfoItem ¶
type SnssaiInfoItem struct {
SNssai *models.Snssai `yaml:"sNssai"`
DnnInfos []SnssaiDnnInfoItem `yaml:"dnnInfos"`
}
type UERoutingInfo ¶
type UPNode ¶
type UPNode struct {
Type string `yaml:"type"`
NodeID string `yaml:"node_id"`
ANIP string `yaml:"an_ip"`
Dnn string `yaml:"dnn"`
SNssaiInfos []models.SnssaiUpfInfoItem `yaml:"sNssaiUpfInfos,omitempty"`
InterfaceUpfInfoList []InterfaceUpfInfoItem `yaml:"interfaces,omitempty"`
}
UPNode represent the user plane node
type UserPlaneInformation ¶
type UserPlaneInformation struct {
UPNodes map[string]UPNode `yaml:"up_nodes"`
Links []UPLink `yaml:"links"`
}
UserPlaneInformation describe core network userplane information
Click to show internal directories.
Click to hide internal directories.