Documentation
¶
Index ¶
- Constants
- func ActionString(act ApplyAction) string
- func AllocateLocalSEID() (uint64, error)
- func BuildGSMPDUSessionEstablishmentAccept(smContext *SMContext) ([]byte, error)
- func BuildGSMPDUSessionEstablishmentReject(smContext *SMContext, cause uint8) ([]byte, error)
- func BuildGSMPDUSessionReleaseCommand(smContext *SMContext) ([]byte, error)
- func BuildHandoverCommandTransfer(ctx *SMContext) ([]byte, error)
- func BuildPDUSessionResourceReleaseCommandTransfer(ctx *SMContext) (buf []byte, err error)
- func BuildPDUSessionResourceSetupRequestTransfer(ctx *SMContext) ([]byte, error)
- func BuildPathSwitchRequestAcknowledgeTransfer(ctx *SMContext) ([]byte, error)
- func GetPDUSessionCount() int
- func HandleHandoverRequestAcknowledgeTransfer(b []byte, ctx *SMContext) error
- func HandleHandoverRequiredTransfer(b []byte, ctx *SMContext) error
- func HandlePDUSessionResourceSetupResponseTransfer(b []byte, ctx *SMContext) error
- func HandlePathSwitchRequestSetupFailedTransfer(b []byte, ctx *SMContext) error
- func HandlePathSwitchRequestTransfer(b []byte, ctx *SMContext) error
- func RemoveSMContext(ref string)
- func ResolveRef(identifier string, pduSessID int32) (ref string, err error)
- type ApplyAction
- type BAR
- type DNS
- type DataPath
- type DataPathNode
- func (node *DataPathNode) ActivateDlLinkPdr(smContext *SMContext, defQER *QER, defPrecedence uint32, dataPath *DataPath) error
- func (node *DataPathNode) ActivateDownLinkTunnel(smContext *SMContext) error
- func (node *DataPathNode) ActivateUpLinkPdr(smContext *SMContext, defQER *QER, defPrecedence uint32) error
- func (node *DataPathNode) ActivateUpLinkTunnel(smContext *SMContext) error
- func (node *DataPathNode) CreatePccRuleQer(smContext *SMContext, qosData string) (*QER, error)
- func (node *DataPathNode) CreateSessRuleQer(smContext *SMContext) (*QER, error)
- func (node *DataPathNode) DeactivateDownLinkTunnel(smContext *SMContext)
- func (node *DataPathNode) DeactivateUpLinkTunnel(smContext *SMContext)
- func (node *DataPathNode) GetNodeIP() (ip string)
- func (node *DataPathNode) IsANUPF() bool
- type DestinationInterface
- type DnnUPFInfoItem
- type DownlinkDataNotificationDelay
- type FAR
- type FTEID
- type ForwardingParameters
- type GBR
- type GTPTunnel
- type GateStatus
- type MBR
- type N3InterfaceUpfInfoItem
- type NodeID
- type OuterHeaderCreation
- type OuterHeaderRemoval
- type PDI
- type PDR
- type PFCPSMReqFlags
- type PFCPSessionContext
- type ProtocolConfigurationOptions
- type QER
- type QFI
- type RecoveryTimeStamp
- type RuleState
- type SDFFilter
- type SMContext
- func (smContext *SMContext) AllocateLocalSEIDForDataPath(dataPath *DataPath) error
- func (smContext *SMContext) BuildCreatedData() (createdData *models.SmContextCreatedData)
- func (smContext *SMContext) CommitSmPolicyDecision(status bool) error
- func (smContext *SMContext) GeneratePDUSessionEstablishmentReject(cause uint8) *models.PostSmContextsErrorResponse
- func (smContext *SMContext) GetNodeIDByLocalSEID(seid uint64) (nodeID NodeID)
- func (smContext *SMContext) HandlePDUSessionEstablishmentRequest(req *nasMessage.PDUSessionEstablishmentRequest)
- func (smContext *SMContext) HandlePDUSessionReleaseRequest(req *nasMessage.PDUSessionReleaseRequest)
- func (smContext *SMContext) PDUAddressToNAS() (addr [12]byte, addrLen uint8)
- func (smContext *SMContext) PutPDRtoPFCPSession(nodeID NodeID, pdrList map[string]*PDR) error
- func (smContext *SMContext) ReleaseUeIPAddr() error
- func (smContext *SMContext) RemovePDRfromPFCPSession(nodeID NodeID, pdr *PDR)
- func (smContext *SMContext) SelectedSessionRule() *models.SessionRule
- func (smContext *SMContext) SetCreateData(createData *models.SmContextCreateData)
- type SMFContext
- type SNssai
- type SnssaiSmfDnnInfo
- type SnssaiSmfInfo
- type SnssaiUPFInfo
- type SourceInterface
- type SuggestedBufferingPacketsCount
- type UEIPAddress
- type UPF
- func (upf *UPF) AddBAR() (*BAR, error)
- func (upf *UPF) AddFAR() (*FAR, error)
- func (upf *UPF) AddPDR() (*PDR, error)
- func (upf *UPF) AddQER() (*QER, error)
- func (upf *UPF) BuildCreatePdrFromPccRule(rule *models.PccRule) (*PDR, error)
- func (upf *UPF) RemoveBAR(bar *BAR)
- func (upf *UPF) RemoveFAR(far *FAR)
- func (upf *UPF) RemovePDR(pdr *PDR)
- func (upf *UPF) RemoveQER(qer *QER)
- func (upf *UPF) UUID() string
- type UPFInterfaceInfo
- type UPTunnel
- type URR
- type UeIPAddr
Constants ¶
View Source
const ( GateOpen uint8 = iota GateClose )
View Source
const ( SourceInterfaceAccess uint8 = iota SourceInterfaceCore )
View Source
const ( DestinationInterfaceAccess uint8 = iota DestinationInterfaceCore DestinationInterfaceSgiLanN6Lan )
View Source
const ( OuterHeaderCreationGtpUUdpIpv4 uint16 = 256 OuterHeaderRemovalGtpUUdpIpv4 uint8 = 0 )
View Source
const ( CONNECTED = "Connected" DISCONNECTED = "Disconnected" IDLE = "Idle" )
View Source
const DefaultNonGBR5QI = 9
Variables ¶
This section is empty.
Functions ¶
func ActionString ¶
func ActionString(act ApplyAction) string
func AllocateLocalSEID ¶
func BuildPathSwitchRequestAcknowledgeTransfer ¶
TS 38.413 9.3.4.9
func GetPDUSessionCount ¶
func GetPDUSessionCount() int
func RemoveSMContext ¶
func RemoveSMContext(ref string)
Types ¶
type BAR ¶
type BAR struct {
BARID uint8
DownlinkDataNotificationDelay DownlinkDataNotificationDelay
SuggestedBufferingPacketsCount SuggestedBufferingPacketsCount
State RuleState
}
Buffering Action Rule 7.5.2.6-1
type DataPath ¶
type DataPath struct {
DPNode *DataPathNode
Activated bool
}
func GenerateDataPath ¶
func (*DataPath) ActivateTunnelAndPDR ¶
func (*DataPath) ActivateUlDlTunnel ¶
func (*DataPath) DeactivateTunnelAndPDR ¶
type DataPathNode ¶
func (*DataPathNode) ActivateDlLinkPdr ¶
func (*DataPathNode) ActivateDownLinkTunnel ¶
func (node *DataPathNode) ActivateDownLinkTunnel(smContext *SMContext) error
func (*DataPathNode) ActivateUpLinkPdr ¶
func (node *DataPathNode) ActivateUpLinkPdr(smContext *SMContext, defQER *QER, defPrecedence uint32) error
func (*DataPathNode) ActivateUpLinkTunnel ¶
func (node *DataPathNode) ActivateUpLinkTunnel(smContext *SMContext) error
func (*DataPathNode) CreatePccRuleQer ¶
func (node *DataPathNode) CreatePccRuleQer(smContext *SMContext, qosData string) (*QER, error)
func (*DataPathNode) CreateSessRuleQer ¶
func (node *DataPathNode) CreateSessRuleQer(smContext *SMContext) (*QER, error)
func (*DataPathNode) DeactivateDownLinkTunnel ¶
func (node *DataPathNode) DeactivateDownLinkTunnel(smContext *SMContext)
func (*DataPathNode) DeactivateUpLinkTunnel ¶
func (node *DataPathNode) DeactivateUpLinkTunnel(smContext *SMContext)
func (*DataPathNode) GetNodeIP ¶
func (node *DataPathNode) GetNodeIP() (ip string)
func (*DataPathNode) IsANUPF ¶
func (node *DataPathNode) IsANUPF() bool
type DestinationInterface ¶
type DestinationInterface struct {
InterfaceValue uint8 // 0x00001111
}
type DnnUPFInfoItem ¶
type DnnUPFInfoItem struct {
Dnn string
DnaiList []string
PduSessionTypes []models.PduSessionType
}
DnnUpfInfoItem presents UPF dnn information
func (*DnnUPFInfoItem) ContainsDNAI ¶
func (d *DnnUPFInfoItem) ContainsDNAI(targetDnai string) bool
ContainsDNAI return true if the this dnn Info contains the specify DNAI
type FAR ¶
type FAR struct {
ForwardingParameters *ForwardingParameters
BAR *BAR
State RuleState
FARID uint32
ApplyAction ApplyAction
}
Forwarding Action Rule. 7.5.2.3-1
type ForwardingParameters ¶
type ForwardingParameters struct {
OuterHeaderCreation *OuterHeaderCreation
PFCPSMReqFlags *PFCPSMReqFlags
ForwardingPolicyID string
NetworkInstance string
DestinationInterface DestinationInterface
}
Forwarding Parameters. 7.5.2.3-2
func (ForwardingParameters) String ¶
func (fp ForwardingParameters) String() string
type GateStatus ¶
type N3InterfaceUpfInfoItem ¶ added in v0.0.13
type N3InterfaceUpfInfoItem struct {
NetworkInstance string
}
type NodeID ¶
type NodeID struct {
NodeIDValue []byte
}
func (*NodeID) ResolveNodeIDToIP ¶ added in v0.0.12
type OuterHeaderCreation ¶
type OuterHeaderRemoval ¶
type OuterHeaderRemoval struct {
OuterHeaderRemovalDescription uint8
}
type PDI ¶
type PDI struct {
LocalFTeID *FTEID
UEIPAddress *UEIPAddress
SDFFilter *SDFFilter
ApplicationID string
NetworkInstance string
SourceInterface SourceInterface
}
Packet Detection. 7.5.2.2-2
type PDR ¶
type PDR struct {
OuterHeaderRemoval *OuterHeaderRemoval
FAR *FAR
URR *URR
QER []*QER
PDI PDI
State RuleState
PDRID uint16
Precedence uint32
}
Packet Detection Rule. Table 7.5.2.2-1
type PFCPSMReqFlags ¶
type PFCPSessionContext ¶
type RecoveryTimeStamp ¶
type SMContext ¶
type SMContext struct {
Ref string
Supi string
Pei string
Identifier string
Gpsi string
Dnn string
UeTimeZone string
ServingNfID string
SmStatusNotifyURI string
UpCnxState models.UpCnxState
AnType models.AccessType
RatType models.RatType
DnnConfiguration models.DnnConfiguration
Snssai *models.Snssai
ServingNetwork *models.PlmnID
UeLocation *models.UserLocation
PDUAddress *UeIPAddr
Tunnel *UPTunnel
DNNInfo *SnssaiSmfDnnInfo
ProtocolConfigurationOptions *ProtocolConfigurationOptions
SubGsmLog *zap.Logger
SubPfcpLog *zap.Logger
SubPduSessLog *zap.Logger
SubCtxLog *zap.Logger
SmPolicyUpdates []*qos.PolicyUpdate
SmPolicyData qos.SmCtxtPolicyData
PFCPContext map[string]*PFCPSessionContext
SMLock sync.Mutex
PDUSessionID int32
SelectedPDUSessionType uint8
PDUSessionReleaseDueToDupPduID bool
Pti uint8
EstAcceptCause5gSMValue uint8
}
func GetSMContext ¶
func GetSMContextBySEID ¶
func NewSMContext ¶
func (*SMContext) AllocateLocalSEIDForDataPath ¶
func (*SMContext) BuildCreatedData ¶
func (smContext *SMContext) BuildCreatedData() (createdData *models.SmContextCreatedData)
func (*SMContext) CommitSmPolicyDecision ¶
func (*SMContext) GeneratePDUSessionEstablishmentReject ¶
func (smContext *SMContext) GeneratePDUSessionEstablishmentReject(cause uint8) *models.PostSmContextsErrorResponse
func (*SMContext) GetNodeIDByLocalSEID ¶
func (*SMContext) HandlePDUSessionEstablishmentRequest ¶
func (smContext *SMContext) HandlePDUSessionEstablishmentRequest(req *nasMessage.PDUSessionEstablishmentRequest)
func (*SMContext) HandlePDUSessionReleaseRequest ¶
func (smContext *SMContext) HandlePDUSessionReleaseRequest(req *nasMessage.PDUSessionReleaseRequest)
func (*SMContext) PDUAddressToNAS ¶
func (*SMContext) PutPDRtoPFCPSession ¶
func (*SMContext) ReleaseUeIPAddr ¶ added in v0.0.12
func (*SMContext) RemovePDRfromPFCPSession ¶
func (*SMContext) SelectedSessionRule ¶
func (smContext *SMContext) SelectedSessionRule() *models.SessionRule
SelectedSessionRule - return the SMF selected session rule for this SM Context
func (*SMContext) SetCreateData ¶
func (smContext *SMContext) SetCreateData(createData *models.SmContextCreateData)
type SMFContext ¶
func SMFSelf ¶ added in v0.0.12
func SMFSelf() *SMFContext
type SnssaiSmfDnnInfo ¶
SnssaiSmfDnnInfo records the SMF per S-NSSAI DNN information
func RetrieveDnnInformation ¶
func RetrieveDnnInformation(Snssai models.Snssai, dnn string) *SnssaiSmfDnnInfo
RetrieveDnnInformation gets the corresponding dnn info from S-NSSAI and DNN
type SnssaiSmfInfo ¶
type SnssaiSmfInfo struct {
DnnInfos map[string]*SnssaiSmfDnnInfo
PlmnID models.PlmnID
Snssai SNssai
}
SnssaiSmfInfo records the SMF S-NSSAI related information
func GetSnssaiInfo ¶
func GetSnssaiInfo() []SnssaiSmfInfo
type SnssaiUPFInfo ¶
type SnssaiUPFInfo struct {
SNssai SNssai
DnnList []DnnUPFInfoItem
}
type SourceInterface ¶
type SourceInterface struct {
InterfaceValue uint8 // 0x00001111
}
type SuggestedBufferingPacketsCount ¶
type SuggestedBufferingPacketsCount struct {
PacketCountValue uint8
}
type UEIPAddress ¶
type UPF ¶
type UPF struct {
SNssaiInfos []SnssaiUPFInfo
N3Interface UPFInterfaceInfo
NodeID NodeID
// lock
UpfLock sync.RWMutex
// contains filtered or unexported fields
}
func (*UPF) BuildCreatePdrFromPccRule ¶
type UPFInterfaceInfo ¶
UPFInterfaceInfo store the UPF interface information
Click to show internal directories.
Click to hide internal directories.