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(ctx context.Context, 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)
- 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(ctx context.Context, 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(ctx context.Context) 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)
- 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 ¶
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)
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
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 PDUSessionsByDNN ¶ added in v0.2.0
func PDUSessionsByIMSI ¶ added in v0.1.0
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(ctx context.Context, 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(ctx context.Context, Snssai models.Snssai, dnn string) (*SnssaiSmfDnnInfo, error)
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(ctx context.Context) (*SnssaiSmfInfo, error)
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 { 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.