Documentation ¶
Index ¶
- Constants
- func ReceiveNode(seq int)
- func RemoveNode(index int)
- type AdditionalMonitoringTime
- type AggregatedURRs
- type ApplicationDetectionInformation
- type ApplicationIDsPFDs
- type CreateBAR
- type CreateFAR
- type CreatePDR
- type CreateQER
- type CreateTrafficEndpoint
- type CreateURR
- type CreatedPDR
- type CreatedTrafficEndpoint
- type DownlinkDataReport
- type DuplicatingParametersIEInFAR
- type ErrorIndicationReport
- type EthernetPacketFilter
- type EthernetTrafficInformation
- type EventInformation
- type EventReporting
- type ForwardingParametersIEInFAR
- type Header
- type HeartbeatRequest
- type HeartbeatResponse
- type LoadControlInformation
- type Message
- type MessageType
- type Node
- type NodeState
- type OverloadControlInformation
- type PDI
- type PFCPAssociationReleaseRequest
- type PFCPAssociationReleaseResponse
- type PFCPAssociationSetupRequest
- type PFCPAssociationSetupResponse
- type PFCPAssociationUpdateRequest
- type PFCPAssociationUpdateResponse
- type PFCPNodeReportRequest
- type PFCPNodeReportResponse
- type PFCPPFDManagementRequest
- type PFCPPFDManagementResponse
- type PFCPSessionDeletionRequest
- type PFCPSessionDeletionResponse
- type PFCPSessionEstablishmentRequest
- type PFCPSessionEstablishmentResponse
- type PFCPSessionModificationRequest
- type PFCPSessionModificationResponse
- type PFCPSessionReportRequest
- type PFCPSessionReportResponse
- type PFCPSessionSetDeletionRequest
- type PFCPSessionSetDeletionResponse
- type PFD
- type QueryURR
- type ReceiveEvent
- type ReceiveEventType
- type RemoveBAR
- type RemoveFAR
- type RemovePDR
- type RemoveQER
- type RemoveTrafficEndpoint
- type RemoveURR
- type Transaction
- type TransactionType
- type TxTable
- type UpdateBARIEInPFCPSessionReportResponse
- type UpdateBARPFCPSessionModificationRequest
- type UpdateDuplicatingParametersIEInFAR
- type UpdateFAR
- type UpdateForwardingParametersIEInFAR
- type UpdatePDR
- type UpdateQER
- type UpdateTrafficEndpoint
- type UpdateURR
- type UsageReportPFCPSessionDeletionResponse
- type UsageReportPFCPSessionModificationResponse
- type UsageReportPFCPSessionReportRequest
- type UserPlanePathFailure
Constants ¶
View Source
const ( SEID_NOT_PRESENT = 0 SEID_PRESENT = 1 )
View Source
const ( NumOfResend = 3 ResendRequestTimeOutPeriod = 3 ResendResponseTimeOutPeriod = 15 )
View Source
const PfcpVersion uint8 = 1
Variables ¶
This section is empty.
Functions ¶
func ReceiveNode ¶
func ReceiveNode(seq int)
func RemoveNode ¶
func RemoveNode(index int)
Types ¶
type AdditionalMonitoringTime ¶
type AdditionalMonitoringTime struct { MonitoringTime *pfcpType.MonitoringTime `tlv:"33"` SubsequentVolumeThreshold *pfcpType.SubsequentVolumeThreshold `tlv:"34"` SubsequentTimeThreshold *pfcpType.SubsequentTimeThreshold `tlv:"35"` SubsequentVolumeQuota *pfcpType.SubsequentVolumeQuota `tlv:"121"` SubsequentTimeQuota *pfcpType.SubsequentTimeQuota `tlv:"122"` }
type AggregatedURRs ¶
type AggregatedURRs struct { AggregatedURRID *pfcpType.AggregatedURRID `tlv:"120"` Multiplier *pfcpType.Multiplier `tlv:"119"` }
type ApplicationDetectionInformation ¶
type ApplicationDetectionInformation struct { ApplicationID *pfcpType.ApplicationID `tlv:"24"` ApplicationInstanceID *pfcpType.ApplicationInstanceID `tlv:"91"` FlowInformation *pfcpType.FlowInformation `tlv:"92"` }
type ApplicationIDsPFDs ¶
type ApplicationIDsPFDs struct { ApplicationID pfcpType.ApplicationID `tlv:"24"` PFD *PFD `tlv:"59"` }
type CreateBAR ¶
type CreateBAR struct { BARID *pfcpType.BARID `tlv:"88"` DownlinkDataNotificationDelay *pfcpType.DownlinkDataNotificationDelay `tlv:"46"` SuggestedBufferingPacketsCount *pfcpType.SuggestedBufferingPacketsCount `tlv:"140"` }
type CreateFAR ¶
type CreateFAR struct { FARID *pfcpType.FARID `tlv:"108"` ApplyAction *pfcpType.ApplyAction `tlv:"44"` ForwardingParameters *ForwardingParametersIEInFAR `tlv:"4"` DuplicatingParameters *pfcpType.DuplicatingParameters `tlv:"5"` BARID *pfcpType.BARID `tlv:"88"` }
type CreatePDR ¶
type CreatePDR struct { PDRID *pfcpType.PacketDetectionRuleID `tlv:"56"` Precedence *pfcpType.Precedence `tlv:"29"` PDI *PDI `tlv:"2"` OuterHeaderRemoval *pfcpType.OuterHeaderRemoval `tlv:"95"` FARID *pfcpType.FARID `tlv:"108"` URRID []*pfcpType.URRID `tlv:"81"` QERID []*pfcpType.QERID `tlv:"109"` ActivatePredefinedRules *pfcpType.ActivatePredefinedRules `tlv:"106"` }
type CreateQER ¶
type CreateQER struct { QERID *pfcpType.QERID `tlv:"109"` QERCorrelationID *pfcpType.QERCorrelationID `tlv:"28"` GateStatus *pfcpType.GateStatus `tlv:"25"` MaximumBitrate *pfcpType.MBR `tlv:"26"` GuaranteedBitrate *pfcpType.GBR `tlv:"27"` PacketRate *pfcpType.PacketRate `tlv:"94"` DLFlowLevelMarking *pfcpType.DLFlowLevelMarking `tlv:"97"` QoSFlowIdentifier *pfcpType.QFI `tlv:"124"` ReflectiveQoS *pfcpType.RQI `tlv:"123"` }
type CreateTrafficEndpoint ¶
type CreateTrafficEndpoint struct { TrafficEndpointID *pfcpType.TrafficEndpointID `tlv:"131"` LocalFTEID *pfcpType.FTEID `tlv:"21"` NetworkInstance *pfcpType.NetworkInstance `tlv:"22"` UEIPAddress *pfcpType.UEIPAddress `tlv:"93"` EthernetPDUSessionInformation *pfcpType.EthernetPDUSessionInformation `tlv:"142"` FramedRoute *pfcpType.FramedRoute `tlv:"153"` FramedRouting *pfcpType.FramedRouting `tlv:"154"` FramedIPv6Route *pfcpType.FramedIPv6Route `tlv:"155"` }
type CreateURR ¶
type CreateURR struct { URRID *pfcpType.URRID `tlv:"81"` MeasurementMethod *pfcpType.MeasurementMethod `tlv:"62"` ReportingTriggers *pfcpType.ReportingTriggers `tlv:"37"` MeasurementPeriod *pfcpType.MeasurementPeriod `tlv:"64"` VolumeThreshold *pfcpType.VolumeThreshold `tlv:"31"` VolumeQuota *pfcpType.VolumeQuota `tlv:"73"` TimeThreshold *pfcpType.TimeThreshold `tlv:"32"` TimeQuota *pfcpType.TimeQuota `tlv:"74"` QuotaHoldingTime *pfcpType.QuotaHoldingTime `tlv:"71"` DroppedDLTrafficThreshold *pfcpType.DroppedDLTrafficThreshold `tlv:"72"` MonitoringTime *pfcpType.MonitoringTime `tlv:"33"` EventInformation *EventInformation `tlv:"148"` SubsequentVolumeThreshold *pfcpType.SubsequentVolumeThreshold `tlv:"34"` SubsequentTimeThreshold *pfcpType.SubsequentTimeThreshold `tlv:"35"` SubsequentVolumeQuota *pfcpType.SubsequentVolumeQuota `tlv:"121"` SubsequentTimeQuota *pfcpType.SubsequentTimeQuota `tlv:"122"` InactivityDetectionTime *pfcpType.InactivityDetectionTime `tlv:"36"` LinkedURRID *pfcpType.LinkedURRID `tlv:"82"` MeasurementInformation *pfcpType.MeasurementInformation `tlv:"100"` TimeQuotaMechanism *pfcpType.TimeQuotaMechanism `tlv:"115"` AggregatedURRs []*AggregatedURRs `tlv:"118"` FARIDForQuotaAction *pfcpType.FARID `tlv:"108"` EthernetInactivityTimer *pfcpType.EthernetInactivityTimer `tlv:"146"` AdditionalMonitoringTime *AdditionalMonitoringTime `tlv:"147"` QuotaValidityTime *pfcpType.QuotaValidityTime `tlv:"181"` }
type CreatedPDR ¶
type CreatedPDR struct { PDRID *pfcpType.PacketDetectionRuleID `tlv:"56"` LocalFTEID *pfcpType.FTEID `tlv:"21"` }
type CreatedTrafficEndpoint ¶
type CreatedTrafficEndpoint struct { TrafficEndpointID *pfcpType.TrafficEndpointID `tlv:"131"` LocalFTEID *pfcpType.FTEID `tlv:"21"` }
type DownlinkDataReport ¶
type DownlinkDataReport struct { PDRID *pfcpType.PacketDetectionRuleID `tlv:"56"` DownlinkDataServiceInformation *pfcpType.DownlinkDataServiceInformation `tlv:"45"` }
type DuplicatingParametersIEInFAR ¶
type DuplicatingParametersIEInFAR struct { DestinationInterface *pfcpType.DestinationInterface `tlv:"42"` OuterHeaderCreation *pfcpType.OuterHeaderCreation `tlv:"84"` TransportLevelMarking *pfcpType.TransportLevelMarking `tlv:"30"` ForwardingPolicy *pfcpType.ForwardingPolicy `tlv:"41"` }
type ErrorIndicationReport ¶
type EthernetPacketFilter ¶
type EthernetPacketFilter struct { EthernetFilterID *pfcpType.EthernetFilterID `tlv:"138"` EthernetFilterProperties *pfcpType.EthernetFilterProperties `tlv:"139"` MACAddress *pfcpType.MACAddress `tlv:"133"` Ethertype *pfcpType.Ethertype `tlv:"136"` CTAG *pfcpType.CTAG `tlv:"134"` STAG *pfcpType.STAG `tlv:"135"` SDFFilter *pfcpType.SDFFilter `tlv:"23"` }
type EthernetTrafficInformation ¶
type EthernetTrafficInformation struct { MACAddressesDetected *pfcpType.MACAddressesDetected `tlv:"144"` MACAddressesRemoved *pfcpType.MACAddressesRemoved `tlv:"145"` }
type EventInformation ¶
type EventInformation struct { EventID *pfcpType.EventID `tlv:"150"` EventThreshold *pfcpType.EventThreshold `tlv:"151"` }
type EventReporting ¶
type ForwardingParametersIEInFAR ¶
type ForwardingParametersIEInFAR struct { DestinationInterface *pfcpType.DestinationInterface `tlv:"42"` NetworkInstance *pfcpType.NetworkInstance `tlv:"22"` RedirectInformation *pfcpType.RedirectInformation `tlv:"38"` OuterHeaderCreation *pfcpType.OuterHeaderCreation `tlv:"84"` TransportLevelMarking *pfcpType.TransportLevelMarking `tlv:"30"` ForwardingPolicy *pfcpType.ForwardingPolicy `tlv:"41"` HeaderEnrichment *pfcpType.HeaderEnrichment `tlv:"98"` LinkedTrafficEndpointID *pfcpType.TrafficEndpointID `tlv:"131"` Proxying *pfcpType.Proxying `tlv:"137"` }
type Header ¶
type Header struct { Version uint8 MP uint8 S uint8 MessageType MessageType MessageLength uint16 SEID uint64 SequenceNumber uint32 MessagePriority uint8 }
func (*Header) MarshalBinary ¶
func (*Header) UnmarshalBinary ¶
type HeartbeatRequest ¶
type HeartbeatRequest struct {
RecoveryTimeStamp *pfcpType.RecoveryTimeStamp `tlv:"96"`
}
type HeartbeatResponse ¶
type HeartbeatResponse struct {
RecoveryTimeStamp *pfcpType.RecoveryTimeStamp `tlv:"96"`
}
type LoadControlInformation ¶
type LoadControlInformation struct { LoadControlSequenceNumber *pfcpType.SequenceNumber `tlv:"52"` LoadMetric *pfcpType.Metric `tlv:"53"` }
type MessageType ¶
type MessageType uint8
const ( PFCP_HEARTBEAT_REQUEST MessageType = 1 PFCP_HEARTBEAT_RESPONSE MessageType = 2 PFCP_PFD_MANAGEMENT_REQUEST MessageType = 3 PFCP_PFD_MANAGEMENT_RESPONSE MessageType = 4 PFCP_ASSOCIATION_SETUP_REQUEST MessageType = 5 PFCP_ASSOCIATION_SETUP_RESPONSE MessageType = 6 PFCP_ASSOCIATION_UPDATE_REQUEST MessageType = 7 PFCP_ASSOCIATION_UPDATE_RESPONSE MessageType = 8 PFCP_ASSOCIATION_RELEASE_REQUEST MessageType = 9 PFCP_ASSOCIATION_RELEASE_RESPONSE MessageType = 10 PFCP_VERSION_NOT_SUPPORTED_RESPONSE MessageType = 11 PFCP_NODE_REPORT_REQUEST MessageType = 12 PFCP_NODE_REPORT_RESPONSE MessageType = 13 PFCP_SESSION_SET_DELETION_REQUEST MessageType = 14 PFCP_SESSION_SET_DELETION_RESPONSE MessageType = 15 PFCP_SESSION_ESTABLISHMENT_REQUEST MessageType = 50 PFCP_SESSION_ESTABLISHMENT_RESPONSE MessageType = 51 PFCP_SESSION_MODIFICATION_REQUEST MessageType = 52 PFCP_SESSION_MODIFICATION_RESPONSE MessageType = 53 PFCP_SESSION_DELETION_REQUEST MessageType = 54 PFCP_SESSION_DELETION_RESPONSE MessageType = 55 PFCP_SESSION_REPORT_REQUEST MessageType = 56 PFCP_SESSION_REPORT_RESPONSE MessageType = 57 )
type Node ¶
type Node struct { State NodeState Request *Message Response *Message // contains filtered or unexported fields }
func CreateNode ¶
func CreateNode() (node *Node)
type PDI ¶
type PDI struct { SourceInterface *pfcpType.SourceInterface `tlv:"20"` LocalFTEID *pfcpType.FTEID `tlv:"21"` NetworkInstance *pfcpType.NetworkInstance `tlv:"22"` UEIPAddress *pfcpType.UEIPAddress `tlv:"93"` TrafficEndpointID *pfcpType.TrafficEndpointID `tlv:"131"` SDFFilter *pfcpType.SDFFilter `tlv:"23"` ApplicationID *pfcpType.ApplicationID `tlv:"24"` EthernetPDUSessionInformation *pfcpType.EthernetPDUSessionInformation `tlv:"142"` EthernetPacketFilter *EthernetPacketFilter `tlv:"132"` QFI []*pfcpType.QFI `tlv:"124"` FramedRoute *pfcpType.FramedRoute `tlv:"153"` FramedRouting *pfcpType.FramedRouting `tlv:"154"` FramedIPv6Route *pfcpType.FramedIPv6Route `tlv:"155"` }
type PFCPAssociationSetupRequest ¶
type PFCPAssociationSetupRequest struct { NodeID *pfcpType.NodeID `tlv:"60"` RecoveryTimeStamp *pfcpType.RecoveryTimeStamp `tlv:"96"` UPFunctionFeatures *pfcpType.UPFunctionFeatures `tlv:"43"` CPFunctionFeatures *pfcpType.CPFunctionFeatures `tlv:"89"` UserPlaneIPResourceInformation *pfcpType.UserPlaneIPResourceInformation `tlv:"116"` }
type PFCPAssociationSetupResponse ¶
type PFCPAssociationSetupResponse struct { NodeID *pfcpType.NodeID `tlv:"60"` Cause *pfcpType.Cause `tlv:"19"` RecoveryTimeStamp *pfcpType.RecoveryTimeStamp `tlv:"96"` UPFunctionFeatures *pfcpType.UPFunctionFeatures `tlv:"43"` CPFunctionFeatures *pfcpType.CPFunctionFeatures `tlv:"89"` UserPlaneIPResourceInformation *pfcpType.UserPlaneIPResourceInformation `tlv:"116"` }
type PFCPAssociationUpdateRequest ¶
type PFCPAssociationUpdateRequest struct { NodeID *pfcpType.NodeID `tlv:"60"` UPFunctionFeatures *pfcpType.UPFunctionFeatures `tlv:"43"` CPFunctionFeatures *pfcpType.CPFunctionFeatures `tlv:"89"` PFCPAssociationReleaseRequest *PFCPAssociationReleaseRequest `tlv:"111"` GracefulReleasePeriod *pfcpType.GracefulReleasePeriod `tlv:"112"` UserPlaneIPResourceInformation *pfcpType.UserPlaneIPResourceInformation `tlv:"116"` }
type PFCPAssociationUpdateResponse ¶
type PFCPAssociationUpdateResponse struct { NodeID *pfcpType.NodeID `tlv:"60"` Cause *pfcpType.Cause `tlv:"19"` UPFunctionFeatures *pfcpType.UPFunctionFeatures `tlv:"43"` CPFunctionFeatures *pfcpType.CPFunctionFeatures `tlv:"89"` }
type PFCPNodeReportRequest ¶
type PFCPNodeReportRequest struct { NodeID *pfcpType.NodeID `tlv:"60"` NodeReportType *pfcpType.NodeReportType `tlv:"101"` UserPlanePathFailureReport *pfcpType.UserPlanePathFailureReport `tlv:"102"` }
type PFCPNodeReportResponse ¶
type PFCPPFDManagementRequest ¶
type PFCPPFDManagementRequest struct {
ApplicationIDsPFDs []ApplicationIDsPFDs `tlv:"58"`
}
type PFCPPFDManagementResponse ¶
type PFCPPFDManagementResponse struct { Cause *pfcpType.Cause `tlv:"19"` OffendingIE *pfcpType.OffendingIE `tlv:"40"` }
type PFCPSessionDeletionRequest ¶
type PFCPSessionDeletionRequest struct{}
type PFCPSessionDeletionResponse ¶
type PFCPSessionDeletionResponse struct { Cause *pfcpType.Cause `tlv:"19"` OffendingIE *pfcpType.OffendingIE `tlv:"40"` LoadControlInformation *LoadControlInformation `tlv:"51"` OverloadControlInformation *OverloadControlInformation `tlv:"54"` UsageReport []*UsageReportPFCPSessionDeletionResponse `tlv:"79"` }
type PFCPSessionEstablishmentRequest ¶
type PFCPSessionEstablishmentRequest struct { NodeID *pfcpType.NodeID `tlv:"60"` CPFSEID *pfcpType.FSEID `tlv:"57"` CreatePDR []*CreatePDR `tlv:"1"` CreateFAR []*CreateFAR `tlv:"3"` CreateURR []*CreateURR `tlv:"6"` CreateQER []*CreateQER `tlv:"7"` CreateBAR []*CreateBAR `tlv:"85"` CreateTrafficEndpoint *CreateTrafficEndpoint `tlv:"127"` PDNType *pfcpType.PDNType `tlv:"113"` SGWCFQCSID *pfcpType.FQCSID `tlv:"65"` MMEFQCSID *pfcpType.FQCSID `tlv:"65"` PGWCFQCSID *pfcpType.FQCSID `tlv:"65"` EPDGFQCSID *pfcpType.FQCSID `tlv:"65"` TWANFQCSID *pfcpType.FQCSID `tlv:"65"` UserPlaneInactivityTimer *pfcpType.UserPlaneInactivityTimer `tlv:"117"` UserID *pfcpType.UserID `tlv:"141"` TraceInformation *pfcpType.TraceInformation `tlv:"152"` }
type PFCPSessionEstablishmentResponse ¶
type PFCPSessionEstablishmentResponse struct { NodeID *pfcpType.NodeID `tlv:"60"` Cause *pfcpType.Cause `tlv:"19"` OffendingIE *pfcpType.OffendingIE `tlv:"40"` UPFSEID *pfcpType.FSEID `tlv:"57"` CreatedPDR *CreatedPDR `tlv:"8"` LoadControlInformation *LoadControlInformation `tlv:"51"` OverloadControlInformation *OverloadControlInformation `tlv:"54"` SGWUFQCSID *pfcpType.FQCSID `tlv:"65"` PGWUFQCSID *pfcpType.FQCSID `tlv:"65"` FailedRuleID *pfcpType.FailedRuleID `tlv:"114"` CreatedTrafficEndpoint *CreatedTrafficEndpoint `tlv:"128"` }
type PFCPSessionModificationRequest ¶
type PFCPSessionModificationRequest struct { CPFSEID *pfcpType.FSEID `tlv:"57"` RemovePDR []*RemovePDR `tlv:"15"` RemoveFAR []*RemoveFAR `tlv:"16"` RemoveURR []*RemoveURR `tlv:"17"` RemoveQER []*RemoveQER `tlv:"18"` RemoveBAR []*RemoveBAR `tlv:"87"` RemoveTrafficEndpoint *RemoveTrafficEndpoint `tlv:"130"` CreatePDR []*CreatePDR `tlv:"1"` CreateFAR []*CreateFAR `tlv:"3"` CreateURR []*CreateURR `tlv:"6"` CreateQER []*CreateQER `tlv:"7"` CreateBAR []*CreateBAR `tlv:"85"` CreateTrafficEndpoint *CreateTrafficEndpoint `tlv:"127"` UpdatePDR []*UpdatePDR `tlv:"9"` UpdateFAR []*UpdateFAR `tlv:"10"` UpdateURR []*UpdateURR `tlv:"13"` UpdateQER []*UpdateQER `tlv:"14"` UpdateBAR *UpdateBARPFCPSessionModificationRequest `tlv:"86"` UpdateTrafficEndpoint *UpdateTrafficEndpoint `tlv:"129"` PFCPSMReqFlags *pfcpType.PFCPSMReqFlags `tlv:"49"` QueryURR []*QueryURR `tlv:"77"` PGWCFQCSID *pfcpType.FQCSID `tlv:"65"` SGWCFQCSID *pfcpType.FQCSID `tlv:"65"` MMEFQCSID *pfcpType.FQCSID `tlv:"65"` EPDGFQCSID *pfcpType.FQCSID `tlv:"65"` TWANFQCSID *pfcpType.FQCSID `tlv:"65"` UserPlaneInactivityTimer *pfcpType.UserPlaneInactivityTimer `tlv:"117"` QueryURRReference *pfcpType.QueryURRReference `tlv:"125"` TraceInformation *pfcpType.TraceInformation `tlv:"152"` }
type PFCPSessionModificationResponse ¶
type PFCPSessionModificationResponse struct { Cause *pfcpType.Cause `tlv:"19"` OffendingIE *pfcpType.OffendingIE `tlv:"40"` CreatedPDR *CreatedPDR `tlv:"8"` LoadControlInformation *LoadControlInformation `tlv:"51"` OverloadControlInformation *OverloadControlInformation `tlv:"54"` UsageReport []*UsageReportPFCPSessionModificationResponse `tlv:"78"` FailedRuleID *pfcpType.FailedRuleID `tlv:"114"` AdditionalUsageReportsInformation *pfcpType.AdditionalUsageReportsInformation `tlv:"126"` CreatedUpdatedTrafficEndpoint *CreatedTrafficEndpoint `tlv:"128"` }
type PFCPSessionReportRequest ¶
type PFCPSessionReportRequest struct { ReportType *pfcpType.ReportType `tlv:"39"` DownlinkDataReport *DownlinkDataReport `tlv:"83"` UsageReport []*UsageReportPFCPSessionReportRequest `tlv:"80"` ErrorIndicationReport *ErrorIndicationReport `tlv:"99"` LoadControlInformation *LoadControlInformation `tlv:"51"` OverloadControlInformation *OverloadControlInformation `tlv:"54"` AdditionalUsageReportsInformation *pfcpType.AdditionalUsageReportsInformation `tlv:"126"` }
type PFCPSessionReportResponse ¶
type PFCPSessionReportResponse struct { Cause *pfcpType.Cause `tlv:"19"` OffendingIE *pfcpType.OffendingIE `tlv:"40"` UpdateBAR *pfcpType.UpdateBARPFCPSessionReportResponse `tlv:"12"` SxSRRspFlags *pfcpType.PFCPSRRspFlags `tlv:"50"` }
type PFCPSessionSetDeletionRequest ¶
type PFCPSessionSetDeletionRequest struct { NodeID *pfcpType.NodeID `tlv:"60"` SGWCFQCSID *pfcpType.FQCSID `tlv:"65"` PGWCFQCSID *pfcpType.FQCSID `tlv:"65"` SGWUFQCSID *pfcpType.FQCSID `tlv:"65"` PGWUFQCSID *pfcpType.FQCSID `tlv:"65"` TWANFQCSID *pfcpType.FQCSID `tlv:"65"` EPDGFQCSID *pfcpType.FQCSID `tlv:"65"` MMEFQCSID *pfcpType.FQCSID `tlv:"65"` }
type PFD ¶
type PFD struct {
PFDContents []pfcpType.PFDContents `tlv:"61"`
}
type ReceiveEvent ¶ added in v1.0.4
type ReceiveEvent struct { Type ReceiveEventType RemoteAddr *net.UDPAddr RcvMsg *Message }
type ReceiveEventType ¶ added in v1.0.4
type ReceiveEventType uint8
const ( ReceiveEventTypeResendRequest ReceiveEventType = iota ReceiveEventTypeValidResponse )
type RemovePDR ¶
type RemovePDR struct {
PDRID *pfcpType.PacketDetectionRuleID `tlv:"56"`
}
type RemoveTrafficEndpoint ¶
type RemoveTrafficEndpoint struct {
TrafficEndpointID *pfcpType.TrafficEndpointID `tlv:"131"`
}
type Transaction ¶
type Transaction struct { SendMsg []byte SequenceNumber uint32 MessageType MessageType TxType TransactionType EventChannel chan ReceiveEvent Conn *net.UDPConn DestAddr *net.UDPAddr ConsumerAddr string }
Transaction - represent the transaction state of pfcp message
func NewTransaction ¶
func NewTransaction(pfcpMSG *Message, binaryMSG []byte, Conn *net.UDPConn, DestAddr *net.UDPAddr) (tx *Transaction)
NewTransaction - create pfcp transaction object
func (*Transaction) StartSendingRequest ¶ added in v1.0.4
func (tx *Transaction) StartSendingRequest() (*ReceiveEvent, error)
func (*Transaction) StartSendingResponse ¶ added in v1.0.4
func (tx *Transaction) StartSendingResponse() error
type TransactionType ¶
type TransactionType uint8
const ( SendingRequest TransactionType = iota SendingResponse )
type TxTable ¶
type TxTable struct {
// contains filtered or unexported fields
}
func (*TxTable) LoadOrStore ¶ added in v1.0.5
func (t *TxTable) LoadOrStore(sequenceNumber uint32, storeTx *Transaction) (*Transaction, bool)
func (*TxTable) Store ¶
func (t *TxTable) Store(sequenceNumber uint32, tx *Transaction)
type UpdateBARIEInPFCPSessionReportResponse ¶
type UpdateBARIEInPFCPSessionReportResponse struct { BARID *pfcpType.BARID `tlv:"88"` DownlinkDataNotificationDelay *pfcpType.DownlinkDataNotificationDelay `tlv:"46"` DLBufferingDuration *pfcpType.DLBufferingDuration `tlv:"47"` DLBufferingSuggestedPacketCount *pfcpType.DLBufferingSuggestedPacketCount `tlv:"48"` SuggestedBufferingPacketsCount *pfcpType.SuggestedBufferingPacketsCount `tlv:"140"` }
type UpdateBARPFCPSessionModificationRequest ¶
type UpdateBARPFCPSessionModificationRequest struct { BARID *pfcpType.BARID `tlv:"88"` DownlinkDataNotificationDelay *pfcpType.DownlinkDataNotificationDelay `tlv:"46"` SuggestedBufferingPacketsCount *pfcpType.SuggestedBufferingPacketsCount `tlv:"140"` }
type UpdateDuplicatingParametersIEInFAR ¶
type UpdateDuplicatingParametersIEInFAR struct { DestinationInterface *pfcpType.DestinationInterface `tlv:"42"` OuterHeaderCreation *pfcpType.OuterHeaderCreation `tlv:"84"` TransportLevelMarking *pfcpType.TransportLevelMarking `tlv:"30"` ForwardingPolicy *pfcpType.ForwardingPolicy `tlv:"41"` }
type UpdateFAR ¶
type UpdateFAR struct { FARID *pfcpType.FARID `tlv:"108"` ApplyAction *pfcpType.ApplyAction `tlv:"44"` UpdateForwardingParameters *UpdateForwardingParametersIEInFAR `tlv:"11"` UpdateDuplicatingParameters *pfcpType.UpdateDuplicatingParameters `tlv:"105"` BARID *pfcpType.BARID `tlv:"88"` }
type UpdateForwardingParametersIEInFAR ¶
type UpdateForwardingParametersIEInFAR struct { DestinationInterface *pfcpType.DestinationInterface `tlv:"42"` NetworkInstance *pfcpType.NetworkInstance `tlv:"22"` RedirectInformation *pfcpType.RedirectInformation `tlv:"38"` OuterHeaderCreation *pfcpType.OuterHeaderCreation `tlv:"84"` TransportLevelMarking *pfcpType.TransportLevelMarking `tlv:"30"` ForwardingPolicy *pfcpType.ForwardingPolicy `tlv:"41"` HeaderEnrichment *pfcpType.HeaderEnrichment `tlv:"98"` PFCPSMReqFlags *pfcpType.PFCPSMReqFlags `tlv:"49"` LinkedTrafficEndpointID *pfcpType.TrafficEndpointID `tlv:"131"` }
type UpdatePDR ¶
type UpdatePDR struct { PDRID *pfcpType.PacketDetectionRuleID `tlv:"56"` OuterHeaderRemoval *pfcpType.OuterHeaderRemoval `tlv:"95"` Precedence *pfcpType.Precedence `tlv:"29"` PDI *PDI `tlv:"2"` FARID *pfcpType.FARID `tlv:"108"` URRID []*pfcpType.URRID `tlv:"81"` QERID []*pfcpType.QERID `tlv:"109"` ActivatePredefinedRules *pfcpType.ActivatePredefinedRules `tlv:"106"` DeactivatePredefinedRules *pfcpType.DeactivatePredefinedRules `tlv:"107"` }
type UpdateQER ¶
type UpdateQER struct { QERID *pfcpType.QERID `tlv:"109"` QERCorrelationID *pfcpType.QERCorrelationID `tlv:"28"` GateStatus *pfcpType.GateStatus `tlv:"25"` MaximumBitrate *pfcpType.MBR `tlv:"26"` GuaranteedBitrate *pfcpType.GBR `tlv:"27"` PacketRate *pfcpType.PacketRate `tlv:"94"` DLFlowLevelMarking *pfcpType.DLFlowLevelMarking `tlv:"97"` QoSFlowIdentifier *pfcpType.QFI `tlv:"124"` ReflectiveQoS *pfcpType.RQI `tlv:"123"` }
type UpdateTrafficEndpoint ¶
type UpdateTrafficEndpoint struct { TrafficEndpointID *pfcpType.TrafficEndpointID `tlv:"131"` LocalFTEID *pfcpType.FTEID `tlv:"21"` NetworkInstance *pfcpType.NetworkInstance `tlv:"22"` UEIPAddress *pfcpType.UEIPAddress `tlv:"93"` FramedRoute *pfcpType.FramedRoute `tlv:"153"` FramedRouting *pfcpType.FramedRouting `tlv:"154"` FramedIPv6Route *pfcpType.FramedIPv6Route `tlv:"155"` }
type UpdateURR ¶
type UpdateURR struct { URRID *pfcpType.URRID `tlv:"81"` MeasurementMethod *pfcpType.MeasurementMethod `tlv:"62"` ReportingTriggers *pfcpType.ReportingTriggers `tlv:"37"` MeasurementPeriod *pfcpType.MeasurementPeriod `tlv:"64"` VolumeThreshold *pfcpType.VolumeThreshold `tlv:"31"` VolumeQuota *pfcpType.VolumeQuota `tlv:"73"` TimeThreshold *pfcpType.TimeThreshold `tlv:"32"` TimeQuota *pfcpType.TimeQuota `tlv:"74"` QuotaHoldingTime *pfcpType.QuotaHoldingTime `tlv:"71"` DroppedDLTrafficThreshold *pfcpType.DroppedDLTrafficThreshold `tlv:"72"` MonitoringTime *pfcpType.MonitoringTime `tlv:"33"` EventInformation *EventInformation `tlv:"148"` SubsequentVolumeThreshold *pfcpType.SubsequentVolumeThreshold `tlv:"34"` SubsequentTimeThreshold *pfcpType.SubsequentTimeThreshold `tlv:"35"` SubsequentVolumeQuota *pfcpType.SubsequentVolumeQuota `tlv:"121"` SubsequentTimeQuota *pfcpType.SubsequentTimeQuota `tlv:"122"` InactivityDetectionTime *pfcpType.InactivityDetectionTime `tlv:"36"` LinkedURRID *pfcpType.LinkedURRID `tlv:"82"` MeasurementInformation *pfcpType.MeasurementInformation `tlv:"100"` TimeQuotaMechanism *pfcpType.TimeQuotaMechanism `tlv:"115"` AggregatedURRs *AggregatedURRs `tlv:"118"` FARIDForQuotaAction *pfcpType.FARID `tlv:"108"` EthernetInactivityTimer *pfcpType.EthernetInactivityTimer `tlv:"146"` AdditionalMonitoringTime *AdditionalMonitoringTime `tlv:"147"` QuotaValidityTime *pfcpType.QuotaValidityTime `tlv:"181"` }
type UsageReportPFCPSessionDeletionResponse ¶
type UsageReportPFCPSessionDeletionResponse struct { URRID *pfcpType.URRID `tlv:"81"` URSEQN *pfcpType.URSEQN `tlv:"104"` UsageReportTrigger *pfcpType.UsageReportTrigger `tlv:"63"` StartTime *pfcpType.StartTime `tlv:"75"` EndTime *pfcpType.EndTime `tlv:"76"` VolumeMeasurement *pfcpType.VolumeMeasurement `tlv:"66"` DurationMeasurement *pfcpType.DurationMeasurement `tlv:"67"` TimeOfFirstPacket *pfcpType.TimeOfFirstPacket `tlv:"69"` TimeOfLastPacket *pfcpType.TimeOfLastPacket `tlv:"70"` UsageInformation *pfcpType.UsageInformation `tlv:"90"` EthernetTrafficInformation *EthernetTrafficInformation `tlv:"143"` }
type UsageReportPFCPSessionModificationResponse ¶
type UsageReportPFCPSessionModificationResponse struct { URRID *pfcpType.URRID `tlv:"81"` URSEQN *pfcpType.URSEQN `tlv:"104"` UsageReportTrigger *pfcpType.UsageReportTrigger `tlv:"63"` StartTime *pfcpType.StartTime `tlv:"75"` EndTime *pfcpType.EndTime `tlv:"76"` VolumeMeasurement *pfcpType.VolumeMeasurement `tlv:"66"` DurationMeasurement *pfcpType.DurationMeasurement `tlv:"67"` TimeOfFirstPacket *pfcpType.TimeOfFirstPacket `tlv:"69"` TimeOfLastPacket *pfcpType.TimeOfLastPacket `tlv:"70"` UsageInformation *pfcpType.UsageInformation `tlv:"90"` QueryURRReference *pfcpType.QueryURRReference `tlv:"125"` EthernetTrafficInformation *EthernetTrafficInformation `tlv:"143"` }
type UsageReportPFCPSessionReportRequest ¶
type UsageReportPFCPSessionReportRequest struct { URRID *pfcpType.URRID `tlv:"81"` URSEQN *pfcpType.URSEQN `tlv:"104"` UsageReportTrigger *pfcpType.UsageReportTrigger `tlv:"63"` StartTime *pfcpType.StartTime `tlv:"75"` EndTime *pfcpType.EndTime `tlv:"76"` VolumeMeasurement *pfcpType.VolumeMeasurement `tlv:"66"` DurationMeasurement *pfcpType.DurationMeasurement `tlv:"67"` ApplicationDetectionInformation *ApplicationDetectionInformation `tlv:"68"` UEIPAddress *pfcpType.UEIPAddress `tlv:"93"` NetworkInstance *pfcpType.NetworkInstance `tlv:"22"` TimeOfFirstPacket *pfcpType.TimeOfFirstPacket `tlv:"69"` TimeOfLastPacket *pfcpType.TimeOfLastPacket `tlv:"70"` UsageInformation *pfcpType.UsageInformation `tlv:"90"` QueryURRReference *pfcpType.QueryURRReference `tlv:"125"` EventReporting *EventReporting `tlv:"149"` EthernetTrafficInformation *EthernetTrafficInformation `tlv:"143"` }
type UserPlanePathFailure ¶
type UserPlanePathFailure struct {
RemoteGTPUPeer *pfcpType.RemoteGTPUPeer `tlv:"103"`
}
Source Files ¶
Click to show internal directories.
Click to hide internal directories.