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.