ie

package
v0.0.24 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 9, 2024 License: MIT Imports: 12 Imported by: 18

Documentation

Overview

Package ie provides the painless handling of of PFCP Information Elements.

This document is a work in progress. Read the README.md at https://github.com/wmnsk/go-pfcp for further details.

Index

Constants

View Source
const (
	AccessType3GPP    uint8 = 0
	AccessTypeNon3GPP uint8 = 1
)

AccessType definitions.

View Source
const (
	AvailabilityStatusAccessHasBecomeUnavaiable uint8 = 0
	AvailabilityStatusAccessHasBecomeAvaiable   uint8 = 1
)

AvailabilityStatus definitions.

View Source
const (
	CauseRequestAccepted                 uint8 = 1
	CauseRequestRejected                 uint8 = 64
	CauseSessionContextNotFound          uint8 = 65
	CauseMandatoryIEMissing              uint8 = 66
	CauseConditionalIEMissing            uint8 = 67
	CauseInvalidLength                   uint8 = 68
	CauseMandatoryIEIncorrect            uint8 = 69
	CauseInvalidForwardingPolicy         uint8 = 70
	CauseInvalidFTEIDAllocationOption    uint8 = 71
	CauseNoEstablishedPFCPAssociation    uint8 = 72
	CauseRuleCreationModificationFailure uint8 = 73
	CausePFCPEntityInCongestion          uint8 = 74
	CauseNoResourcesAvailable            uint8 = 75
	CauseServiceNotSupported             uint8 = 76
	CauseSystemFailure                   uint8 = 77
	CauseRedirectionRequested            uint8 = 78
)

Cause definitions.

View Source
const (
	DstInterfaceAccess       uint8 = 0
	DstInterfaceCore         uint8 = 1
	DstInterfaceSGiLANN6LAN  uint8 = 2
	DstInterfaceCPFunction   uint8 = 3
	DstInterfaceLIFunction   uint8 = 4
	DstInterface5GVNInternal uint8 = 5
)

Interface definitions.

View Source
const (
	RuleIDTypePDR uint8 = 0 // 16
	RuleIDTypeFAR uint8 = 1 // 32
	RuleIDTypeQER uint8 = 2 // 32
	RuleIDTypeURR uint8 = 3 // 32
	RuleIDTypeBAR uint8 = 4 // 8
)

Rule ID Type definitions.

View Source
const (
	FlowDirectionUnspecified   uint8 = 0
	FlowDirectionDownlink      uint8 = 1
	FlowDirectionUplink        uint8 = 2
	FlowDirectionBidirectional uint8 = 3
)

FlowDirection definitions.

View Source
const (
	FramedRoutingNone                    uint32 = 0
	FramedRoutingSendRoutingPackets      uint32 = 1
	FramedRoutingListenForRoutingPackets uint32 = 2
	FramedRoutingSendAndListen           uint32 = 3
)

Framed-Routing definitions.

Ref: https://tools.ietf.org/html/rfc2865#section-5.10

View Source
const (
	GateStatusOpen   uint8 = 0
	GateStatusClosed uint8 = 1
)

GateStatus definitions.

View Source
const (
	CreatePDR                                                        uint16 = 1
	PDI                                                              uint16 = 2
	CreateFAR                                                        uint16 = 3
	ForwardingParameters                                             uint16 = 4
	DuplicatingParameters                                            uint16 = 5
	CreateURR                                                        uint16 = 6
	CreateQER                                                        uint16 = 7
	CreatedPDR                                                       uint16 = 8
	UpdatePDR                                                        uint16 = 9
	UpdateFAR                                                        uint16 = 10
	UpdateForwardingParameters                                       uint16 = 11
	UpdateBARWithinSessionReportResponse                             uint16 = 12
	UpdateURR                                                        uint16 = 13
	UpdateQER                                                        uint16 = 14
	RemovePDR                                                        uint16 = 15
	RemoveFAR                                                        uint16 = 16
	RemoveURR                                                        uint16 = 17
	RemoveQER                                                        uint16 = 18
	Cause                                                            uint16 = 19
	SourceInterface                                                  uint16 = 20
	FTEID                                                            uint16 = 21
	NetworkInstance                                                  uint16 = 22
	SDFFilter                                                        uint16 = 23
	ApplicationID                                                    uint16 = 24
	GateStatus                                                       uint16 = 25
	MBR                                                              uint16 = 26
	GBR                                                              uint16 = 27
	QERCorrelationID                                                 uint16 = 28
	Precedence                                                       uint16 = 29
	TransportLevelMarking                                            uint16 = 30
	VolumeThreshold                                                  uint16 = 31
	TimeThreshold                                                    uint16 = 32
	MonitoringTime                                                   uint16 = 33
	SubsequentVolumeThreshold                                        uint16 = 34
	SubsequentTimeThreshold                                          uint16 = 35
	InactivityDetectionTime                                          uint16 = 36
	ReportingTriggers                                                uint16 = 37
	RedirectInformation                                              uint16 = 38
	ReportType                                                       uint16 = 39
	OffendingIE                                                      uint16 = 40
	ForwardingPolicy                                                 uint16 = 41
	DestinationInterface                                             uint16 = 42
	UPFunctionFeatures                                               uint16 = 43
	ApplyAction                                                      uint16 = 44
	DownlinkDataServiceInformation                                   uint16 = 45
	DownlinkDataNotificationDelay                                    uint16 = 46
	DLBufferingDuration                                              uint16 = 47
	DLBufferingSuggestedPacketCount                                  uint16 = 48
	PFCPSMReqFlags                                                   uint16 = 49
	PFCPSRRspFlags                                                   uint16 = 50
	LoadControlInformation                                           uint16 = 51
	SequenceNumber                                                   uint16 = 52
	Metric                                                           uint16 = 53
	OverloadControlInformation                                       uint16 = 54
	Timer                                                            uint16 = 55
	PDRID                                                            uint16 = 56
	FSEID                                                            uint16 = 57
	ApplicationIDsPFDs                                               uint16 = 58
	PFDContext                                                       uint16 = 59
	NodeID                                                           uint16 = 60
	PFDContents                                                      uint16 = 61
	MeasurementMethod                                                uint16 = 62
	UsageReportTrigger                                               uint16 = 63
	MeasurementPeriod                                                uint16 = 64
	FQCSID                                                           uint16 = 65
	VolumeMeasurement                                                uint16 = 66
	DurationMeasurement                                              uint16 = 67
	ApplicationDetectionInformation                                  uint16 = 68
	TimeOfFirstPacket                                                uint16 = 69
	TimeOfLastPacket                                                 uint16 = 70
	QuotaHoldingTime                                                 uint16 = 71
	DroppedDLTrafficThreshold                                        uint16 = 72
	VolumeQuota                                                      uint16 = 73
	TimeQuota                                                        uint16 = 74
	StartTime                                                        uint16 = 75
	EndTime                                                          uint16 = 76
	QueryURR                                                         uint16 = 77
	UsageReportWithinSessionModificationResponse                     uint16 = 78
	UsageReportWithinSessionDeletionResponse                         uint16 = 79
	UsageReportWithinSessionReportRequest                            uint16 = 80
	URRID                                                            uint16 = 81
	LinkedURRID                                                      uint16 = 82
	DownlinkDataReport                                               uint16 = 83
	OuterHeaderCreation                                              uint16 = 84
	CreateBAR                                                        uint16 = 85
	UpdateBARWithinSessionModificationRequest                        uint16 = 86
	RemoveBAR                                                        uint16 = 87
	BARID                                                            uint16 = 88
	CPFunctionFeatures                                               uint16 = 89
	UsageInformation                                                 uint16 = 90
	ApplicationInstanceID                                            uint16 = 91
	FlowInformation                                                  uint16 = 92
	UEIPAddress                                                      uint16 = 93
	PacketRate                                                       uint16 = 94
	OuterHeaderRemoval                                               uint16 = 95
	RecoveryTimeStamp                                                uint16 = 96
	DLFlowLevelMarking                                               uint16 = 97
	HeaderEnrichment                                                 uint16 = 98
	ErrorIndicationReport                                            uint16 = 99
	MeasurementInformation                                           uint16 = 100
	NodeReportType                                                   uint16 = 101
	UserPlanePathFailureReport                                       uint16 = 102
	RemoteGTPUPeer                                                   uint16 = 103
	URSEQN                                                           uint16 = 104
	UpdateDuplicatingParameters                                      uint16 = 105
	ActivatePredefinedRules                                          uint16 = 106
	DeactivatePredefinedRules                                        uint16 = 107
	FARID                                                            uint16 = 108
	QERID                                                            uint16 = 109
	OCIFlags                                                         uint16 = 110
	PFCPAssociationReleaseRequest                                    uint16 = 111
	GracefulReleasePeriod                                            uint16 = 112
	PDNType                                                          uint16 = 113
	FailedRuleID                                                     uint16 = 114
	TimeQuotaMechanism                                               uint16 = 115
	UserPlaneIPResourceInformation                                   uint16 = 116
	UserPlaneInactivityTimer                                         uint16 = 117
	AggregatedURRs                                                   uint16 = 118
	Multiplier                                                       uint16 = 119
	AggregatedURRID                                                  uint16 = 120
	SubsequentVolumeQuota                                            uint16 = 121
	SubsequentTimeQuota                                              uint16 = 122
	RQI                                                              uint16 = 123
	QFI                                                              uint16 = 124
	QueryURRReference                                                uint16 = 125
	AdditionalUsageReportsInformation                                uint16 = 126
	CreateTrafficEndpoint                                            uint16 = 127
	CreatedTrafficEndpoint                                           uint16 = 128
	UpdateTrafficEndpoint                                            uint16 = 129
	RemoveTrafficEndpoint                                            uint16 = 130
	TrafficEndpointID                                                uint16 = 131
	EthernetPacketFilter                                             uint16 = 132
	MACAddress                                                       uint16 = 133
	CTAG                                                             uint16 = 134
	STAG                                                             uint16 = 135
	Ethertype                                                        uint16 = 136
	Proxying                                                         uint16 = 137
	EthernetFilterID                                                 uint16 = 138
	EthernetFilterProperties                                         uint16 = 139
	SuggestedBufferingPacketsCount                                   uint16 = 140
	UserID                                                           uint16 = 141
	EthernetPDUSessionInformation                                    uint16 = 142
	EthernetTrafficInformation                                       uint16 = 143
	MACAddressesDetected                                             uint16 = 144
	MACAddressesRemoved                                              uint16 = 145
	EthernetInactivityTimer                                          uint16 = 146
	AdditionalMonitoringTime                                         uint16 = 147
	EventQuota                                                       uint16 = 148
	EventThreshold                                                   uint16 = 149
	SubsequentEventQuota                                             uint16 = 150
	SubsequentEventThreshold                                         uint16 = 151
	TraceInformation                                                 uint16 = 152
	FramedRoute                                                      uint16 = 153
	FramedRouting                                                    uint16 = 154
	FramedIPv6Route                                                  uint16 = 155
	EventTimeStamp                                                   uint16 = 156
	AveragingWindow                                                  uint16 = 157
	PagingPolicyIndicator                                            uint16 = 158
	APNDNN                                                           uint16 = 159
	TGPPInterfaceType                                                uint16 = 160
	PFCPSRReqFlags                                                   uint16 = 161
	PFCPAUReqFlags                                                   uint16 = 162
	ActivationTime                                                   uint16 = 163
	DeactivationTime                                                 uint16 = 164
	CreateMAR                                                        uint16 = 165
	TGPPAccessForwardingActionInformation                            uint16 = 166
	NonTGPPAccessForwardingActionInformation                         uint16 = 167
	RemoveMAR                                                        uint16 = 168
	UpdateMAR                                                        uint16 = 169
	MARID                                                            uint16 = 170
	SteeringFunctionality                                            uint16 = 171
	SteeringMode                                                     uint16 = 172
	Weight                                                           uint16 = 173
	Priority                                                         uint16 = 174
	UpdateTGPPAccessForwardingActionInformation                      uint16 = 175
	UpdateNonTGPPAccessForwardingActionInformation                   uint16 = 176
	UEIPAddressPoolIdentity                                          uint16 = 177
	AlternativeSMFIPAddress                                          uint16 = 178
	PacketReplicationAndDetectionCarryOnInformation                  uint16 = 179
	SMFSetID                                                         uint16 = 180
	QuotaValidityTime                                                uint16 = 181
	NumberOfReports                                                  uint16 = 182
	PFCPSessionRetentionInformation                                  uint16 = 183
	PFCPASRspFlags                                                   uint16 = 184
	CPPFCPEntityIPAddress                                            uint16 = 185
	PFCPSEReqFlags                                                   uint16 = 186
	UserPlanePathRecoveryReport                                      uint16 = 187
	IPMulticastAddressingInfo                                        uint16 = 188
	JoinIPMulticastInformationWithinUsageReport                      uint16 = 189
	LeaveIPMulticastInformationWithinUsageReport                     uint16 = 190
	IPMulticastAddress                                               uint16 = 191
	SourceIPAddress                                                  uint16 = 192
	PacketRateStatus                                                 uint16 = 193
	CreateBridgeInfoForTSC                                           uint16 = 194
	CreatedBridgeInfoForTSC                                          uint16 = 195
	DSTTPortNumber                                                   uint16 = 196
	NWTTPortNumber                                                   uint16 = 197
	TSNBridgeID                                                      uint16 = 198
	TSCManagementInformationWithinSessionModificationRequest         uint16 = 199
	TSCManagementInformationWithinSessionModificationResponse        uint16 = 200
	TSCManagementInformationWithinSessionReportRequest               uint16 = 201
	PortManagementInformationForTSCWithinSessionModificationRequest  uint16 = 199 // Deprecated
	PortManagementInformationForTSCWithinSessionModificationResponse uint16 = 200 // Deprecated
	PortManagementInformationForTSCWithinSessionReportRequest        uint16 = 201 // Deprecated
	PortManagementInformationContainer                               uint16 = 202
	ClockDriftControlInformation                                     uint16 = 203
	RequestedClockDriftInformation                                   uint16 = 204
	ClockDriftReport                                                 uint16 = 205
	TSNTimeDomainNumber                                              uint16 = 206
	TimeOffsetThreshold                                              uint16 = 207
	CumulativeRateRatioThreshold                                     uint16 = 208
	TimeOffsetMeasurement                                            uint16 = 209
	CumulativeRateRatioMeasurement                                   uint16 = 210
	RemoveSRR                                                        uint16 = 211
	CreateSRR                                                        uint16 = 212
	UpdateSRR                                                        uint16 = 213
	SessionReport                                                    uint16 = 214
	SRRID                                                            uint16 = 215
	AccessAvailabilityControlInformation                             uint16 = 216
	RequestedAccessAvailabilityInformation                           uint16 = 217
	AccessAvailabilityReport                                         uint16 = 218
	AccessAvailabilityInformation                                    uint16 = 219
	ProvideATSSSControlInformation                                   uint16 = 220
	ATSSSControlParameters                                           uint16 = 221
	MPTCPControlInformation                                          uint16 = 222
	ATSSSLLControlInformation                                        uint16 = 223
	PMFControlInformation                                            uint16 = 224
	MPTCPParameters                                                  uint16 = 225
	ATSSSLLParameters                                                uint16 = 226
	PMFParameters                                                    uint16 = 227
	MPTCPAddressInformation                                          uint16 = 228
	UELinkSpecificIPAddress                                          uint16 = 229
	PMFAddressInformation                                            uint16 = 230
	ATSSSLLInformation                                               uint16 = 231
	DataNetworkAccessIdentifier                                      uint16 = 232
	UEIPAddressPoolInformation                                       uint16 = 233
	AveragePacketDelay                                               uint16 = 234
	MinimumPacketDelay                                               uint16 = 235
	MaximumPacketDelay                                               uint16 = 236
	QoSReportTrigger                                                 uint16 = 237
	GTPUPathQoSControlInformation                                    uint16 = 238
	GTPUPathQoSReport                                                uint16 = 239
	QoSInformationInGTPUPathQoSReport                                uint16 = 240
	GTPUPathInterfaceType                                            uint16 = 241
	QoSMonitoringPerQoSFlowControlInformation                        uint16 = 242
	RequestedQoSMonitoring                                           uint16 = 243
	ReportingFrequency                                               uint16 = 244
	PacketDelayThresholds                                            uint16 = 245
	MinimumWaitTime                                                  uint16 = 246
	QoSMonitoringReport                                              uint16 = 247
	QoSMonitoringMeasurement                                         uint16 = 248
	MTEDTControlInformation                                          uint16 = 249
	DLDataPacketsSize                                                uint16 = 250
	QERControlIndications                                            uint16 = 251
	PacketRateStatusReport                                           uint16 = 252
	NFInstanceID                                                     uint16 = 253
	EthernetContextInformation                                       uint16 = 254
	RedundantTransmissionParameters                                  uint16 = 255
	UpdatedPDR                                                       uint16 = 256
	SNSSAI                                                           uint16 = 257
	IPVersion                                                        uint16 = 258
	PFCPASReqFlags                                                   uint16 = 259
	DataStatus                                                       uint16 = 260
	ProvideRDSConfigurationInformation                               uint16 = 261
	RDSConfigurationInformation                                      uint16 = 262
	QueryPacketRateStatusWithinSessionModificationRequest            uint16 = 263
	PacketRateStatusReportWithinSessionModificationResponse          uint16 = 264
	MPTCPApplicableIndication                                        uint16 = 265
	BridgeManagementInformationContainer                             uint16 = 266
	UEIPAddressUsageInformation                                      uint16 = 267
	NumberOfUEIPAddresses                                            uint16 = 268
	ValidityTimer                                                    uint16 = 269
	RedundantTransmissionForwardingParameters                        uint16 = 270
	TransportDelayReporting                                          uint16 = 271
)

IE Type definitions.

View Source
const (
	NodeIDIPv4Address uint8 = 0
	NodeIDIPv6Address uint8 = 1
	NodeIDFQDN        uint8 = 2
)

NodeID definitions.

View Source
const (
	TimeUnitMinute   uint8 = 0
	TimeUnit6Minutes uint8 = 1
	TimeUnitHour     uint8 = 2
	TimeUnitDay      uint8 = 3
	TimeUnitWeek     uint8 = 4
)

Time Unit definitions

View Source
const (
	PDNTypeIPv4     uint8 = 1
	PDNTypeIPv6     uint8 = 2
	PDNTypeIPv4v6   uint8 = 3
	PDNTypeNonIP    uint8 = 4
	PDNTypeEthernet uint8 = 5
)

PDNType definitions.

View Source
const (
	PriorityActive    uint8 = 0
	PriorityStandby   uint8 = 1
	PriorityNoStandby uint8 = 2
	PriorityHigh      uint8 = 3
	PriorityLow       uint8 = 4
)

Priority definitions.

View Source
const (
	RedirectAddrIPv4        uint8 = 0
	RedirectAddrIPv6        uint8 = 1
	RedirectAddrURL         uint8 = 2
	RedirectAddrSIPURI      uint8 = 3
	RedirectAddrIPv4AndIPv6 uint8 = 4
)

RedirectAddressType definitions.

View Source
const (
	SrcInterfaceAccess       uint8 = 0
	SrcInterfaceCore         uint8 = 1
	SrcInterfaceSGiLANN6LAN  uint8 = 2
	SrcInterfaceCPFunction   uint8 = 3
	SrcInterface5GVNInternal uint8 = 4
)

Interface definitions.

View Source
const (
	SteeringFunctionalityATSSSLL uint8 = 0
	SteeringFunctionalityMPTCP   uint8 = 1
)

SteeringFunctionality definitions.

View Source
const (
	SteeringModeActiveStandby uint8 = 0
	SteeringModeSmallestDelay uint8 = 1
	SteeringModeLoadBalancing uint8 = 2
	SteeringModePriorityBased uint8 = 3
)

SteeringMode definitions.

View Source
const (
	TGPPInterfaceTypeS1U                      uint8 = 0
	TGPPInterfaceTypeS5S8U                    uint8 = 1
	TGPPInterfaceTypeS4U                      uint8 = 2
	TGPPInterfaceTypeS11U                     uint8 = 3
	TGPPInterfaceTypeS12U                     uint8 = 4
	TGPPInterfaceTypeGnGpU                    uint8 = 5
	TGPPInterfaceTypeS2aU                     uint8 = 6
	TGPPInterfaceTypeS2bU                     uint8 = 7
	TGPPInterfaceTypeENBDL                    uint8 = 8
	TGPPInterfaceTypeENBUL                    uint8 = 9
	TGPPInterfaceTypeSGWUPFDL                 uint8 = 10
	TGPPInterfaceTypeN33GPPAccess             uint8 = 11
	TGPPInterfaceTypeN3TrustedNon3GPPAccess   uint8 = 12
	TGPPInterfaceTypeN3UnTrustedNon3GPPAccess uint8 = 13
	TGPPInterfaceTypeN3ForDataForwarding      uint8 = 14
	TGPPInterfaceTypeN9                       uint8 = 15
	TGPPInterfaceTypeSGi                      uint8 = 16
	TGPPInterfaceTypeN6                       uint8 = 17
	TGPPInterfaceTypeN19                      uint8 = 18
	TGPPInterfaceTypeS8U                      uint8 = 19
	TGPPInterfaceTypeGpU                      uint8 = 20
)

TGPPInterfaceType definitons.

View Source
const (
	BTITCTP uint8 = 0
	BTITDTP uint8 = 1
)

BaseTimeIntervalType definitions.

View Source
const (
	HeaderTypeHTTP uint8 = 0
)

HeaderType definitions.

View Source
const (
	MPTCPProxyTransportConverter uint8 = 1
)

MPTCP Proxy Type definitions(TS24.193).

Variables

View Source
var (
	ErrTooShortToParse = errors.New("too short to decode as GTP")
	ErrInvalidLength   = errors.New("length value is invalid")

	ErrInvalidType = errors.New("invalid type")
	ErrIENotFound  = errors.New("could not find the specified IE in a grouped IE")

	ErrMalformed = errors.New("malformed IE")

	ErrElementNotFound = errors.New("element not found")
)

Error definitions.

Functions

func AddGroupedIEType added in v0.0.22

func AddGroupedIEType(ts ...uint16)

AddGroupedIEType adds IE type(s) to the defaultGroupedIEMap. This is useful when you want to add new IE types to the defaultGroupedIEMap, e.g., to handle vendor-specific IEs as grouped type.

func SetIsGroupedFun added in v0.0.22

func SetIsGroupedFun(fun func(t uint16) bool)

SetIsGroupedFun sets a function to check if an IE is grouped type or not.

Types

type AlternativeSMFIPAddressFields

type AlternativeSMFIPAddressFields struct {
	Flags       uint8
	TEID        uint32
	IPv4Address net.IP
	IPv6Address net.IP
	ChooseID    []byte
}

AlternativeSMFIPAddressFields represents a fields contained in AlternativeSMFIPAddress IE.

func NewAlternativeSMFIPAddressFields

func NewAlternativeSMFIPAddressFields(v4, v6 net.IP) *AlternativeSMFIPAddressFields

NewAlternativeSMFIPAddressFields creates a new NewAlternativeSMFIPAddressFields.

func ParseAlternativeSMFIPAddressFields

func ParseAlternativeSMFIPAddressFields(b []byte) (*AlternativeSMFIPAddressFields, error)

ParseAlternativeSMFIPAddressFields parses b into AlternativeSMFIPAddressFields.

func (*AlternativeSMFIPAddressFields) HasIPv4

func (f *AlternativeSMFIPAddressFields) HasIPv4() bool

HasIPv4 reports whether IPv4 flag is set.

func (*AlternativeSMFIPAddressFields) HasIPv6

func (f *AlternativeSMFIPAddressFields) HasIPv6() bool

HasIPv6 reports whether IPv6 flag is set.

func (*AlternativeSMFIPAddressFields) Marshal

func (f *AlternativeSMFIPAddressFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of AlternativeSMFIPAddressFields.

func (*AlternativeSMFIPAddressFields) MarshalLen

func (f *AlternativeSMFIPAddressFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*AlternativeSMFIPAddressFields) MarshalTo

func (f *AlternativeSMFIPAddressFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*AlternativeSMFIPAddressFields) SetIPv4Flag

func (f *AlternativeSMFIPAddressFields) SetIPv4Flag()

SetIPv4Flag sets IPv4 flag in AlternativeSMFIPAddress.

func (*AlternativeSMFIPAddressFields) SetIPv6Flag

func (f *AlternativeSMFIPAddressFields) SetIPv6Flag()

SetIPv6Flag sets IPv6 flag in AlternativeSMFIPAddress.

func (*AlternativeSMFIPAddressFields) UnmarshalBinary

func (f *AlternativeSMFIPAddressFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type CPPFCPEntityIPAddressFields

type CPPFCPEntityIPAddressFields struct {
	Flags       uint8
	TEID        uint32
	IPv4Address net.IP
	IPv6Address net.IP
	ChooseID    []byte
}

CPPFCPEntityIPAddressFields represents a fields contained in CPPFCPEntityIPAddress IE.

func NewCPPFCPEntityIPAddressFields

func NewCPPFCPEntityIPAddressFields(v4, v6 net.IP) *CPPFCPEntityIPAddressFields

NewCPPFCPEntityIPAddressFields creates a new NewCPPFCPEntityIPAddressFields.

func ParseCPPFCPEntityIPAddressFields

func ParseCPPFCPEntityIPAddressFields(b []byte) (*CPPFCPEntityIPAddressFields, error)

ParseCPPFCPEntityIPAddressFields parses b into CPPFCPEntityIPAddressFields.

func (*CPPFCPEntityIPAddressFields) HasIPv4

func (f *CPPFCPEntityIPAddressFields) HasIPv4() bool

HasIPv4 reports whether IPv4 flag is set.

func (*CPPFCPEntityIPAddressFields) HasIPv6

func (f *CPPFCPEntityIPAddressFields) HasIPv6() bool

HasIPv6 reports whether IPv6 flag is set.

func (*CPPFCPEntityIPAddressFields) Marshal

func (f *CPPFCPEntityIPAddressFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of CPPFCPEntityIPAddressFields.

func (*CPPFCPEntityIPAddressFields) MarshalLen

func (f *CPPFCPEntityIPAddressFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*CPPFCPEntityIPAddressFields) MarshalTo

func (f *CPPFCPEntityIPAddressFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*CPPFCPEntityIPAddressFields) SetIPv4Flag

func (f *CPPFCPEntityIPAddressFields) SetIPv4Flag()

SetIPv4Flag sets IPv4 flag in CPPFCPEntityIPAddress.

func (*CPPFCPEntityIPAddressFields) SetIPv6Flag

func (f *CPPFCPEntityIPAddressFields) SetIPv6Flag()

SetIPv6Flag sets IPv6 flag in CPPFCPEntityIPAddress.

func (*CPPFCPEntityIPAddressFields) UnmarshalBinary

func (f *CPPFCPEntityIPAddressFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type CTAGFields

type CTAGFields struct {
	Flags   uint8
	PCP     uint8  // 3 bit
	DEIFlag uint8  // 1 bit
	CVID    uint16 // 12 bit
}

CTAGFields represents a fields contained in CTAG IE.

func NewCTAGFields

func NewCTAGFields(flags, pcp, deiFlag uint8, cvid uint16) *CTAGFields

NewCTAGFields creates a new NewCTAGFields.

func ParseCTAGFields

func ParseCTAGFields(b []byte) (*CTAGFields, error)

ParseCTAGFields parses b into CTAGFields.

func (*CTAGFields) HasDEI

func (f *CTAGFields) HasDEI() bool

HasDEI reports whether DEI flag is set.

func (*CTAGFields) HasPCP

func (f *CTAGFields) HasPCP() bool

HasPCP reports whether PCP flag is set.

func (*CTAGFields) HasVID

func (f *CTAGFields) HasVID() bool

HasVID reports whether VID flag is set.

func (*CTAGFields) Marshal

func (f *CTAGFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of CTAGFields.

func (*CTAGFields) MarshalLen

func (f *CTAGFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*CTAGFields) MarshalTo

func (f *CTAGFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*CTAGFields) SetDEIFlag

func (f *CTAGFields) SetDEIFlag()

SetDEIFlag sets DEI flag in CTAG.

func (*CTAGFields) SetPCPFlag

func (f *CTAGFields) SetPCPFlag()

SetPCPFlag sets PCP flag in CTAG.

func (*CTAGFields) SetVIDFlag

func (f *CTAGFields) SetVIDFlag()

SetVIDFlag sets VID flag in CTAG.

func (*CTAGFields) UnmarshalBinary

func (f *CTAGFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type DLFlowLevelMarkingFields

type DLFlowLevelMarkingFields struct {
	Flags                  uint8
	ToSTrafficClass        uint16
	ServiceClassIdentifier uint16
}

DLFlowLevelMarkingFields represents a f contained in DLFlowLevelMarking IE.

func NewDLFlowLevelMarkingFields

func NewDLFlowLevelMarkingFields(flags uint8, ttc, sci uint16) *DLFlowLevelMarkingFields

NewDLFlowLevelMarkingFields creates a new DLFlowLevelMarkingFields.

func ParseDLFlowLevelMarkingFields

func ParseDLFlowLevelMarkingFields(b []byte) (*DLFlowLevelMarkingFields, error)

ParseDLFlowLevelMarkingFields parses b into DLFlowLevelMarkingFields.

func (*DLFlowLevelMarkingFields) Marshal

func (f *DLFlowLevelMarkingFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of DLFlowLevelMarkingFields.

func (*DLFlowLevelMarkingFields) MarshalLen

func (f *DLFlowLevelMarkingFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*DLFlowLevelMarkingFields) MarshalTo

func (f *DLFlowLevelMarkingFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*DLFlowLevelMarkingFields) UnmarshalBinary

func (f *DLFlowLevelMarkingFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type FSEIDFields

type FSEIDFields struct {
	Flags       uint8
	SEID        uint64
	IPv4Address net.IP
	IPv6Address net.IP
}

FSEIDFields represents a fields contained in FSEID IE.

func NewFSEIDFields

func NewFSEIDFields(seid uint64, v4, v6 net.IP) *FSEIDFields

NewFSEIDFields creates a new NewFSEIDFields.

func ParseFSEIDFields

func ParseFSEIDFields(b []byte) (*FSEIDFields, error)

ParseFSEIDFields parses b into FSEIDFields.

func (*FSEIDFields) HasIPv4

func (f *FSEIDFields) HasIPv4() bool

HasIPv4 reports whether IPv4 flag is set.

func (*FSEIDFields) HasIPv6

func (f *FSEIDFields) HasIPv6() bool

HasIPv6 reports whether IPv6 flag is set.

func (*FSEIDFields) Marshal

func (f *FSEIDFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of FSEIDFields.

func (*FSEIDFields) MarshalLen

func (f *FSEIDFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*FSEIDFields) MarshalTo

func (f *FSEIDFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*FSEIDFields) SetIPv4Flag

func (f *FSEIDFields) SetIPv4Flag()

SetIPv4Flag sets IPv4 flag in FSEID.

func (*FSEIDFields) SetIPv6Flag

func (f *FSEIDFields) SetIPv6Flag()

SetIPv6Flag sets IPv6 flag in FSEID.

func (*FSEIDFields) UnmarshalBinary

func (f *FSEIDFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type FTEIDFields

type FTEIDFields struct {
	Flags       uint8
	TEID        uint32
	IPv4Address net.IP
	IPv6Address net.IP
	ChooseID    uint8
}

FTEIDFields represents a fields contained in FTEID IE.

func NewFTEIDFields

func NewFTEIDFields(flags uint8, teid uint32, v4, v6 net.IP, chid uint8) *FTEIDFields

NewFTEIDFields creates a new NewFTEIDFields.

func ParseFTEIDFields

func ParseFTEIDFields(b []byte) (*FTEIDFields, error)

ParseFTEIDFields parses b into FTEIDFields.

func (*FTEIDFields) HasCh

func (f *FTEIDFields) HasCh() bool

HasCh reports whether CH flag is set.

func (*FTEIDFields) HasChID

func (f *FTEIDFields) HasChID() bool

HasChID reports whether CHID flag is set.

func (*FTEIDFields) HasIPv4

func (f *FTEIDFields) HasIPv4() bool

HasIPv4 reports whether IPv4 flag is set.

func (*FTEIDFields) HasIPv6

func (f *FTEIDFields) HasIPv6() bool

HasIPv6 reports whether IPv6 flag is set.

func (*FTEIDFields) Marshal

func (f *FTEIDFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of FTEIDFields.

func (*FTEIDFields) MarshalLen

func (f *FTEIDFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*FTEIDFields) MarshalTo

func (f *FTEIDFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*FTEIDFields) SetChFlag

func (f *FTEIDFields) SetChFlag()

SetChFlag sets CH flag in FTEID.

func (*FTEIDFields) SetChIDFlag

func (f *FTEIDFields) SetChIDFlag()

SetChIDFlag sets CHID flag in FTEID.

func (*FTEIDFields) SetIPv4Flag

func (f *FTEIDFields) SetIPv4Flag()

SetIPv4Flag sets IPv4 flag in FTEID.

func (*FTEIDFields) SetIPv6Flag

func (f *FTEIDFields) SetIPv6Flag()

SetIPv6Flag sets IPv6 flag in FTEID.

func (*FTEIDFields) UnmarshalBinary

func (f *FTEIDFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type HeaderEnrichmentFields

type HeaderEnrichmentFields struct {
	Flags            uint8
	HeaderType       uint8
	NameLength       uint8
	HeaderFieldName  string
	ValueLength      uint8
	HeaderFieldValue string
}

HeaderEnrichmentFields represents a fields contained in HeaderEnrichment IE.

func NewHeaderEnrichmentFields

func NewHeaderEnrichmentFields(typ uint8, name, value string) *HeaderEnrichmentFields

NewHeaderEnrichmentFields creates a new HeaderEnrichmentFields.

func ParseHeaderEnrichmentFields

func ParseHeaderEnrichmentFields(b []byte) (*HeaderEnrichmentFields, error)

ParseHeaderEnrichmentFields parses b into HeaderEnrichmentFields.

func (*HeaderEnrichmentFields) Marshal

func (f *HeaderEnrichmentFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of HeaderEnrichmentFields.

func (*HeaderEnrichmentFields) MarshalLen

func (f *HeaderEnrichmentFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*HeaderEnrichmentFields) MarshalTo

func (f *HeaderEnrichmentFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*HeaderEnrichmentFields) UnmarshalBinary

func (f *HeaderEnrichmentFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type IE

type IE struct {
	Type         uint16
	Length       uint16
	EnterpriseID uint16
	Payload      []byte
	ChildIEs     []*IE
}

IE represents an Information Element of PFCP messages.

func New

func New(itype uint16, data []byte) *IE

New creates a new IE.

func NewAPNDNN

func NewAPNDNN(apn string) *IE

NewAPNDNN creates a new APNDNN IE.

func NewATSSSControlParameters

func NewATSSSControlParameters(ies ...*IE) *IE

NewATSSSControlParameters creates a new ATSSSControlParameters IE.

func NewATSSSLLControlInformation

func NewATSSSLLControlInformation(lli uint8) *IE

NewATSSSLLControlInformation creates a new ATSSSLLControlInformation IE.

func NewATSSSLLInformation

func NewATSSSLLInformation(lli uint8) *IE

NewATSSSLLInformation creates a new ATSSSLLInformation IE.

func NewATSSSLLParameters

func NewATSSSLLParameters(info *IE) *IE

NewATSSSLLParameters creates a new ATSSSLLParameters IE.

func NewAccessAvailabilityControlInformation

func NewAccessAvailabilityControlInformation(info *IE) *IE

NewAccessAvailabilityControlInformation creates a new AccessAvailabilityControlInformation IE.

func NewAccessAvailabilityInformation

func NewAccessAvailabilityInformation(status, atype uint8) *IE

NewAccessAvailabilityInformation creates a new AccessAvailabilityInformation IE.

func NewAccessAvailabilityReport

func NewAccessAvailabilityReport(info *IE) *IE

NewAccessAvailabilityReport creates a new AccessAvailabilityReport IE.

func NewActivatePredefinedRules

func NewActivatePredefinedRules(name string) *IE

NewActivatePredefinedRules creates a new ActivatePredefinedRules IE.

func NewActivationTime

func NewActivationTime(ts time.Time) *IE

NewActivationTime creates a new ActivationTime IE.

func NewAdditionalMonitoringTime

func NewAdditionalMonitoringTime(ies ...*IE) *IE

NewAdditionalMonitoringTime creates a new AdditionalMonitoringTime IE.

func NewAdditionalUsageReportsInformation

func NewAdditionalUsageReportsInformation(num uint16) *IE

NewAdditionalUsageReportsInformation creates a new AdditionalUsageReportsInformation IE.

func NewAggregatedURRID

func NewAggregatedURRID(id uint32) *IE

NewAggregatedURRID creates a new AggregatedURRID IE.

func NewAggregatedURRs

func NewAggregatedURRs(ies ...*IE) *IE

NewAggregatedURRs creates a new AggregatedURRs IE.

func NewAlternativeSMFIPAddress

func NewAlternativeSMFIPAddress(v4, v6 net.IP) *IE

NewAlternativeSMFIPAddress creates a new AlternativeSMFIPAddress IE.

func NewApplicationDetectionInformation

func NewApplicationDetectionInformation(ies ...*IE) *IE

NewApplicationDetectionInformation creates a new ApplicationDetectionInformation IE.

func NewApplicationID

func NewApplicationID(instance string) *IE

NewApplicationID creates a new ApplicationID IE.

func NewApplicationIDsPFDs

func NewApplicationIDsPFDs(ies ...*IE) *IE

NewApplicationIDsPFDs creates a new ApplicationIDsPFDs IE.

func NewApplicationInstanceID

func NewApplicationInstanceID(id string) *IE

NewApplicationInstanceID creates a new ApplicationInstanceID IE.

func NewApplyAction

func NewApplyAction(flagsOctets ...uint8) *IE

NewApplyAction creates a new ApplyAction IE.

func NewAveragePacketDelay

func NewAveragePacketDelay(delay time.Duration) *IE

NewAveragePacketDelay creates a new AveragePacketDelay IE.

the delay should be within the range of uint32, otherwise it overflows.

func NewAveragingWindow

func NewAveragingWindow(window uint32) *IE

NewAveragingWindow creates a new AveragingWindow IE.

func NewBARID

func NewBARID(id uint8) *IE

NewBARID creates a new BARID IE.

func NewBridgeManagementInformationContainer added in v0.0.10

func NewBridgeManagementInformationContainer(info string) *IE

NewBridgeManagementInformationContainer creates a new BridgeManagementInformationContainer IE.

func NewCPFunctionFeatures

func NewCPFunctionFeatures(features ...uint8) *IE

NewCPFunctionFeatures creates a new CPFunctionFeatures IE.

func NewCPPFCPEntityIPAddress

func NewCPPFCPEntityIPAddress(v4, v6 net.IP) *IE

NewCPPFCPEntityIPAddress creates a new CPPFCPEntityIPAddress IE.

func NewCTAG

func NewCTAG(flags, pcp, deiFlag uint8, cvid uint16) *IE

NewCTAG creates a new CTAG IE.

func NewCause

func NewCause(cause uint8) *IE

NewCause creates a new Cause IE.

func NewClockDriftControlInformation

func NewClockDriftControlInformation(ies ...*IE) *IE

NewClockDriftControlInformation creates a new ClockDriftControlInformation IE.

func NewClockDriftReport

func NewClockDriftReport(ies ...*IE) *IE

NewClockDriftReport creates a new ClockDriftReport IE.

func NewCreateBAR

func NewCreateBAR(ies ...*IE) *IE

NewCreateBAR creates a new CreateBAR IE.

func NewCreateBridgeInfoForTSC

func NewCreateBridgeInfoForTSC(bii uint8) *IE

NewCreateBridgeInfoForTSC creates a new CreateBridgeInfoForTSC IE.

func NewCreateFAR

func NewCreateFAR(ies ...*IE) *IE

NewCreateFAR creates a new CreateFAR IE.

func NewCreateMAR

func NewCreateMAR(ies ...*IE) *IE

NewCreateMAR creates a new CreateMAR IE.

func NewCreatePDR

func NewCreatePDR(ies ...*IE) *IE

NewCreatePDR creates a new CreatePDR IE.

func NewCreateQER

func NewCreateQER(ies ...*IE) *IE

NewCreateQER creates a new CreateQER IE.

func NewCreateSRR

func NewCreateSRR(ies ...*IE) *IE

NewCreateSRR creates a new CreateSRR IE.

func NewCreateTrafficEndpoint

func NewCreateTrafficEndpoint(ies ...*IE) *IE

NewCreateTrafficEndpoint creates a new CreateTrafficEndpoint IE.

func NewCreateURR

func NewCreateURR(ies ...*IE) *IE

NewCreateURR creates a new CreateURR IE.

func NewCreatedBridgeInfoForTSC

func NewCreatedBridgeInfoForTSC(ies ...*IE) *IE

NewCreatedBridgeInfoForTSC creates a new CreatedBridgeInfoForTSC IE.

func NewCreatedPDR

func NewCreatedPDR(ies ...*IE) *IE

NewCreatedPDR creates a new CreatedPDR IE.

func NewCreatedTrafficEndpoint

func NewCreatedTrafficEndpoint(ies ...*IE) *IE

NewCreatedTrafficEndpoint creates a new CreatedTrafficEndpoint IE.

func NewCumulativeRateRatioMeasurement

func NewCumulativeRateRatioMeasurement(measurement uint32) *IE

NewCumulativeRateRatioMeasurement creates a new CumulativeRateRatioMeasurement IE.

func NewCumulativeRateRatioThreshold

func NewCumulativeRateRatioThreshold(threshold uint32) *IE

NewCumulativeRateRatioThreshold creates a new CumulativeRateRatioThreshold IE.

func NewDLBufferingDuration

func NewDLBufferingDuration(duration time.Duration) *IE

NewDLBufferingDuration creates a new DLBufferingDuration IE.

func NewDLBufferingSuggestedPacketCount

func NewDLBufferingSuggestedPacketCount(count uint16) *IE

NewDLBufferingSuggestedPacketCount creates a new DLBufferingSuggestedPacketCount IE.

func NewDLDataPacketsSize

func NewDLDataPacketsSize(size uint16) *IE

NewDLDataPacketsSize creates a new DLDataPacketsSize IE.

func NewDLFlowLevelMarking

func NewDLFlowLevelMarking(flags uint8, ttc, sci uint16) *IE

NewDLFlowLevelMarking creates a new DLFlowLevelMarking IE.

func NewDSTTPortNumber

func NewDSTTPortNumber(port uint32) *IE

NewDSTTPortNumber creates a new DSTTPortNumber IE.

func NewDataNetworkAccessIdentifier

func NewDataNetworkAccessIdentifier(id string) *IE

NewDataNetworkAccessIdentifier creates a new DataNetworkAccessIdentifier IE.

func NewDataStatus added in v0.0.10

func NewDataStatus(flag uint8) *IE

NewDataStatus creates a new DataStatus IE.

func NewDeactivatePredefinedRules

func NewDeactivatePredefinedRules(name string) *IE

NewDeactivatePredefinedRules creates a new DeactivatePredefinedRules IE.

func NewDeactivationTime

func NewDeactivationTime(ts time.Time) *IE

NewDeactivationTime creates a new DeactivationTime IE.

func NewDestinationInterface

func NewDestinationInterface(intf uint8) *IE

NewDestinationInterface creates a new DestinationInterface IE.

func NewDownlinkDataNotificationDelay

func NewDownlinkDataNotificationDelay(delay time.Duration) *IE

NewDownlinkDataNotificationDelay creates a new DownlinkDataNotificationDelay IE.

func NewDownlinkDataReport

func NewDownlinkDataReport(ies ...*IE) *IE

NewDownlinkDataReport creates a new DownlinkDataReport IE.

func NewDownlinkDataServiceInformation

func NewDownlinkDataServiceInformation(hasPPI, hasQFI bool, ppi, qfi uint8) *IE

NewDownlinkDataServiceInformation creates a new DownlinkDataServiceInformation IE.

func NewDroppedDLTrafficThreshold

func NewDroppedDLTrafficThreshold(dlpa, dlby bool, packets, bytes uint64) *IE

NewDroppedDLTrafficThreshold creates a new DroppedDLTrafficThreshold IE.

TODO: structurize

func NewDuplicatingParameters

func NewDuplicatingParameters(ies ...*IE) *IE

NewDuplicatingParameters creates a new DuplicatingParameters IE.

func NewDurationMeasurement

func NewDurationMeasurement(duration time.Duration) *IE

NewDurationMeasurement creates a new DurationMeasurement IE.

The period should be within the range of uint32, otherwise it overflows.

func NewEndTime

func NewEndTime(ts time.Time) *IE

NewEndTime creates a new EndTime IE.

func NewErrorIndicationReport

func NewErrorIndicationReport(fteid *IE) *IE

NewErrorIndicationReport creates a new ErrorIndicationReport IE.

func NewEthernetContextInformation

func NewEthernetContextInformation(mac *IE) *IE

NewEthernetContextInformation creates a new EthernetContextInformation IE.

func NewEthernetFilterID

func NewEthernetFilterID(id uint32) *IE

NewEthernetFilterID creates a new EthernetFilterID IE.

func NewEthernetFilterProperties

func NewEthernetFilterProperties(props uint8) *IE

NewEthernetFilterProperties creates a new EthernetFilterProperties IE.

func NewEthernetInactivityTimer

func NewEthernetInactivityTimer(period time.Duration) *IE

NewEthernetInactivityTimer creates a new EthernetInactivityTimer IE.

the period should be within the range of uint32, otherwise it overflows.

func NewEthernetPDUSessionInformation

func NewEthernetPDUSessionInformation(info uint8) *IE

NewEthernetPDUSessionInformation creates a new EthernetPDUSessionInformation IE.

func NewEthernetPacketFilter

func NewEthernetPacketFilter(ies ...*IE) *IE

NewEthernetPacketFilter creates a new EthernetPacketFilter IE.

func NewEthernetTrafficInformation

func NewEthernetTrafficInformation(ies ...*IE) *IE

NewEthernetTrafficInformation creates a new EthernetTrafficInformation IE.

func NewEthertype

func NewEthertype(typ uint16) *IE

NewEthertype creates a new Ethertype IE.

func NewEventQuota

func NewEventQuota(quota uint32) *IE

NewEventQuota creates a new EventQuota IE.

func NewEventThreshold

func NewEventThreshold(quota uint32) *IE

NewEventThreshold creates a new EventThreshold IE.

func NewEventTimeStamp

func NewEventTimeStamp(ts time.Time) *IE

NewEventTimeStamp creates a new EventTimeStamp IE.

func NewFARID

func NewFARID(id uint32) *IE

NewFARID creates a new FARID IE.

func NewFQCSID

func NewFQCSID(nodeAddr string, csIDs ...uint16) *IE

NewFQCSID creates a new FQCSID IE.

func NewFQDNIE added in v0.0.21

func NewFQDNIE(itype uint16, v string) *IE

NewFQDNIE creates a new IE with FQDN value.

func NewFSEID

func NewFSEID(seid uint64, v4, v6 net.IP) *IE

NewFSEID creates a new FSEID IE.

func NewFTEID

func NewFTEID(flags uint8, teid uint32, v4, v6 net.IP, chid uint8) *IE

NewFTEID creates a new FTEID IE.

func NewFailedRuleID

func NewFailedRuleID(typ uint8, id uint32) *IE

NewFailedRuleID creates a new FailedRuleID IE.

func NewFlowInformation

func NewFlowInformation(dir uint8, desc string) *IE

NewFlowInformation creates a new FlowInformation IE.

func NewForwardingParameters

func NewForwardingParameters(ies ...*IE) *IE

NewForwardingParameters creates a new ForwardingParameters IE.

func NewForwardingPolicy

func NewForwardingPolicy(id string) *IE

NewForwardingPolicy creates a new ForwardingPolicy IE.

func NewFramedIPv6Route

func NewFramedIPv6Route(name string) *IE

NewFramedIPv6Route creates a new FramedIPv6Route IE.

func NewFramedRoute

func NewFramedRoute(name string) *IE

NewFramedRoute creates a new FramedRoute IE.

func NewFramedRouting

func NewFramedRouting(routing uint32) *IE

NewFramedRouting creates a new FramedRouting IE.

func NewGBR

func NewGBR(ul, dl uint64) *IE

NewGBR creates a new GBR IE.

func NewGTPUPathInterfaceType

func NewGTPUPathInterfaceType(n3, n9 int) *IE

NewGTPUPathInterfaceType creates a new GTPUPathInterfaceType IE.

func NewGTPUPathQoSControlInformation

func NewGTPUPathQoSControlInformation(ies ...*IE) *IE

NewGTPUPathQoSControlInformation creates a new GTPUPathQoSControlInformation IE.

func NewGTPUPathQoSReport

func NewGTPUPathQoSReport(ies ...*IE) *IE

NewGTPUPathQoSReport creates a new GTPUPathQoSReport IE.

func NewGateStatus

func NewGateStatus(ul, dl uint8) *IE

NewGateStatus creates a new GateStatus IE.

func NewGracefulReleasePeriod

func NewGracefulReleasePeriod(duration time.Duration) *IE

NewGracefulReleasePeriod creates a new GracefulReleasePeriod IE.

func NewGroupedIE

func NewGroupedIE(itype uint16, ies ...*IE) *IE

NewGroupedIE creates a new grouped IE.

func NewHeaderEnrichment

func NewHeaderEnrichment(typ uint8, name, value string) *IE

NewHeaderEnrichment creates a new HeaderEnrichment IE.

func NewIPMulticastAddress

func NewIPMulticastAddress(sv4, sv6, ev4, ev6 net.IP) *IE

NewIPMulticastAddress creates a new IPMulticastAddress IE.

func NewIPMulticastAddressingInfo

func NewIPMulticastAddressingInfo(ies ...*IE) *IE

NewIPMulticastAddressingInfo creates a new IPMulticastAddressingInfo IE.

func NewIPVersion added in v0.0.10

func NewIPVersion(v4, v6 bool) *IE

NewIPVersion creates a new IPVersion IE.

func NewInactivityDetectionTime

func NewInactivityDetectionTime(threshold uint32) *IE

NewInactivityDetectionTime creates a new InactivityDetectionTime IE.

func NewJoinIPMulticastInformationWithinUsageReport

func NewJoinIPMulticastInformationWithinUsageReport(ies ...*IE) *IE

NewJoinIPMulticastInformationWithinUsageReport creates a new JoinIPMulticastInformationWithinUsageReport IE.

func NewLeaveIPMulticastInformationWithinUsageReport

func NewLeaveIPMulticastInformationWithinUsageReport(ies ...*IE) *IE

NewLeaveIPMulticastInformationWithinUsageReport creates a new LeaveIPMulticastInformationWithinUsageReport IE.

func NewLinkedURRID

func NewLinkedURRID(id uint32) *IE

NewLinkedURRID creates a new LinkedURRID IE.

func NewLoadControlInformation

func NewLoadControlInformation(ies ...*IE) *IE

NewLoadControlInformation creates a new LoadControlInformation IE.

func NewMACAddress

func NewMACAddress(src, dst, upperSrc, upperDst net.HardwareAddr) *IE

NewMACAddress creates a new MACAddress IE.

func NewMACAddressesDetected

func NewMACAddressesDetected(ctag, stag *IE, macs ...net.HardwareAddr) *IE

NewMACAddressesDetected creates a new MACAddressesDetected IE.

func NewMACAddressesRemoved

func NewMACAddressesRemoved(ctag, stag *IE, macs ...net.HardwareAddr) *IE

NewMACAddressesRemoved creates a new MACAddressesRemoved IE.

func NewMARID

func NewMARID(id uint16) *IE

NewMARID creates a new MARID IE.

func NewMBR

func NewMBR(ul, dl uint64) *IE

NewMBR creates a new MBR IE.

func NewMPTCPAddressInformation

func NewMPTCPAddressInformation(ptype uint8, port uint16, v4, v6 net.IP) *IE

NewMPTCPAddressInformation creates a new MPTCPAddressInformation IE.

func NewMPTCPApplicableIndication added in v0.0.10

func NewMPTCPApplicableIndication(flag uint8) *IE

NewMPTCPApplicableIndication creates a new MPTCPApplicableIndication IE.

func NewMPTCPControlInformation

func NewMPTCPControlInformation(tci uint8) *IE

NewMPTCPControlInformation creates a new MPTCPControlInformation IE.

func NewMPTCPParameters

func NewMPTCPParameters(ies ...*IE) *IE

NewMPTCPParameters creates a new MPTCPParameters IE.

func NewMTEDTControlInformation

func NewMTEDTControlInformation(rdsi uint8) *IE

NewMTEDTControlInformation creates a new MTEDTControlInformation IE.

func NewMaximumPacketDelay

func NewMaximumPacketDelay(delay time.Duration) *IE

NewMaximumPacketDelay creates a new MaximumPacketDelay IE.

the delay should be within the range of uint32, otherwise it overflows.

func NewMeasurementInformation

func NewMeasurementInformation(flags uint8) *IE

NewMeasurementInformation creates a new MeasurementInformation IE.

func NewMeasurementMethod

func NewMeasurementMethod(event, volum, durat int) *IE

NewMeasurementMethod creates a new MeasurementMethod IE.

func NewMeasurementPeriod

func NewMeasurementPeriod(period time.Duration) *IE

NewMeasurementPeriod creates a new MeasurementPeriod IE.

the period should be within the range of uint32, otherwise it overflows.

func NewMetric

func NewMetric(metric uint8) *IE

NewMetric creates a new Metric IE.

func NewMinimumPacketDelay

func NewMinimumPacketDelay(delay time.Duration) *IE

NewMinimumPacketDelay creates a new MinimumPacketDelay IE.

the delay should be within the range of uint32, otherwise it overflows.

func NewMinimumWaitTime

func NewMinimumWaitTime(period time.Duration) *IE

NewMinimumWaitTime creates a new MinimumWaitTime IE.

the period should be within the range of uint32, otherwise it overflows.

func NewMonitoringTime

func NewMonitoringTime(ts time.Time) *IE

NewMonitoringTime creates a new MonitoringTime IE.

func NewMultiplier

func NewMultiplier(val uint64, exp uint32) *IE

NewMultiplier creates a new Multiplier IE.

func NewNFInstanceID

func NewNFInstanceID(id []byte) *IE

NewNFInstanceID creates a new NFInstanceID IE.

func NewNWTTPortNumber

func NewNWTTPortNumber(port uint32) *IE

NewNWTTPortNumber creates a new NWTTPortNumber IE.

func NewNetworkInstance

func NewNetworkInstance(instance string) *IE

NewNetworkInstance creates a new NetworkInstance IE.

func NewNetworkInstanceFQDN added in v0.0.11

func NewNetworkInstanceFQDN(fqdn string) *IE

NewNetworkInstanceFQDN creates a new NetworkInstance IE from the given FQDN string.

func NewNodeID

func NewNodeID(ipv4, ipv6, fqdn string) *IE

NewNodeID creates a new NodeID IE.

Only one of the parameters should have a non-empty value(!=""). If multiple parameters are given, the first one is used(ipv4 > ipv6 > fqdn)

func NewNodeIDHeuristic added in v0.0.16

func NewNodeIDHeuristic(nodeID string) *IE

NewNodeIDHeuristic creates a new NodeID IE.

func NewNodeReportType

func NewNodeReportType(flags uint8) *IE

NewNodeReportType creates a new NodeReportType IE.

func NewNonTGPPAccessForwardingActionInformation

func NewNonTGPPAccessForwardingActionInformation(ies ...*IE) *IE

NewNonTGPPAccessForwardingActionInformation creates a new NonTGPPAccessForwardingActionInformation IE.

func NewNumberOfReports

func NewNumberOfReports(num uint16) *IE

NewNumberOfReports creates a new NumberOfReports IE.

func NewNumberOfUEIPAddresses added in v0.0.10

func NewNumberOfUEIPAddresses(flags uint8, v4, v6 uint32) *IE

NewNumberOfUEIPAddresses creates a new NumberOfUEIPAddresses IE.

func NewOCIFlags

func NewOCIFlags(flags uint8) *IE

NewOCIFlags creates a new OCIFlags IE.

func NewOffendingIE

func NewOffendingIE(itype uint16) *IE

NewOffendingIE creates a new OffendingIE IE.

func NewOuterHeaderCreation

func NewOuterHeaderCreation(desc uint16, teid uint32, v4, v6 string, port uint16, ctag, stag uint32) *IE

NewOuterHeaderCreation creates a new OuterHeaderCreation IE.

func NewOuterHeaderRemoval

func NewOuterHeaderRemoval(desc, ext uint8) *IE

NewOuterHeaderRemoval creates a new OuterHeaderRemoval IE.

func NewOverloadControlInformation

func NewOverloadControlInformation(ies ...*IE) *IE

NewOverloadControlInformation creates a new OverloadControlInformation IE.

func NewPDI

func NewPDI(ies ...*IE) *IE

NewPDI creates a new PDI IE.

func NewPDNType

func NewPDNType(typ uint8) *IE

NewPDNType creates a new PDNType IE.

func NewPDRID

func NewPDRID(id uint16) *IE

NewPDRID creates a new PDRID IE.

func NewPFCPASReqFlags added in v0.0.10

func NewPFCPASReqFlags(flag uint8) *IE

NewPFCPASReqFlags creates a new PFCPASReqFlags IE.

func NewPFCPASRspFlags

func NewPFCPASRspFlags(flag uint8) *IE

NewPFCPASRspFlags creates a new PFCPASRspFlags IE.

func NewPFCPAUReqFlags

func NewPFCPAUReqFlags(flag uint8) *IE

NewPFCPAUReqFlags creates a new PFCPAUReqFlags IE.

func NewPFCPAssociationReleaseRequest

func NewPFCPAssociationReleaseRequest(sarr, urss int) *IE

NewPFCPAssociationReleaseRequest creates a new PFCPAssociationReleaseRequest IE.

func NewPFCPSEReqFlags

func NewPFCPSEReqFlags(flag uint8) *IE

NewPFCPSEReqFlags creates a new PFCPSEReqFlags IE.

func NewPFCPSMReqFlags

func NewPFCPSMReqFlags(flag uint8) *IE

NewPFCPSMReqFlags creates a new PFCPSMReqFlags IE.

func NewPFCPSRReqFlags

func NewPFCPSRReqFlags(flag uint8) *IE

NewPFCPSRReqFlags creates a new PFCPSRReqFlags IE.

func NewPFCPSRRspFlags

func NewPFCPSRRspFlags(flag uint8) *IE

NewPFCPSRRspFlags creates a new PFCPSRRspFlags IE.

func NewPFCPSessionRetentionInformation

func NewPFCPSessionRetentionInformation(cpIP *IE) *IE

NewPFCPSessionRetentionInformation creates a new PFCPSessionRetentionInformation IE.

func NewPFDContents

func NewPFDContents(fd, url, dn, cp, dnp string, afd, aurl, adnp []string) *IE

NewPFDContents creates a new PFDContents IE.

func NewPFDContext

func NewPFDContext(contents ...*IE) *IE

NewPFDContext creates a new PFDContext IE.

func NewPMFAddressInformation

func NewPMFAddressInformation(v4, v6 net.IP, port1, port2 uint16, mac1, mac2 net.HardwareAddr) *IE

NewPMFAddressInformation creates a new PMFAddressInformation IE.

func NewPMFControlInformation

func NewPMFControlInformation(pmfi uint8) *IE

NewPMFControlInformation creates a new PMFControlInformation IE.

func NewPMFParameters

func NewPMFParameters(info *IE) *IE

NewPMFParameters creates a new PMFParameters IE.

func NewPacketDelayThresholds

func NewPacketDelayThresholds(flags uint8, dl, ul, rp uint32) *IE

NewPacketDelayThresholds creates a new PacketDelayThresholds IE.

func NewPacketRate

func NewPacketRate(flags uint8, ulunit uint8, ulpackets uint16, dlunit uint8, dlpackets uint16) *IE

NewPacketRate creates a new PacketRate IE.

func NewPacketRateStatus

func NewPacketRateStatus(flags uint8, ul, aul, dl, adl uint16, vtime time.Time) *IE

NewPacketRateStatus creates a new PacketRateStatus IE.

func NewPacketRateStatusReport

func NewPacketRateStatusReport(ies ...*IE) *IE

NewPacketRateStatusReport creates a new PacketRateStatusReport IE.

func NewPacketRateStatusReportWithinSessionModificationResponse added in v0.0.10

func NewPacketRateStatusReportWithinSessionModificationResponse(ies ...*IE) *IE

NewPacketRateStatusReportWithinSessionModificationResponse creates a new PacketRateStatusReportWithinSessionModificationResponse IE.

func NewPacketReplicationAndDetectionCarryOnInformation

func NewPacketReplicationAndDetectionCarryOnInformation(flag uint8) *IE

NewPacketReplicationAndDetectionCarryOnInformation creates a new PacketReplicationAndDetectionCarryOnInformation IE.

func NewPagingPolicyIndicator

func NewPagingPolicyIndicator(indicator uint8) *IE

NewPagingPolicyIndicator creates a new PagingPolicyIndicator IE.

func NewPortManagementInformationContainer

func NewPortManagementInformationContainer(info string) *IE

NewPortManagementInformationContainer creates a new PortManagementInformationContainer IE.

func NewPortManagementInformationForTSC

func NewPortManagementInformationForTSC(typ uint16, info *IE) *IE

NewPortManagementInformationForTSC creates a new PortManagementInformationForTSC IE.

func NewPortManagementInformationForTSCWithinSessionModificationRequest

func NewPortManagementInformationForTSCWithinSessionModificationRequest(info *IE) *IE

NewPortManagementInformationForTSCWithinSessionModificationRequest creates a new PortManagementInformationForTSCWithinSessionModificationRequest IE.

func NewPortManagementInformationForTSCWithinSessionModificationResponse

func NewPortManagementInformationForTSCWithinSessionModificationResponse(info *IE) *IE

NewPortManagementInformationForTSCWithinSessionModificationResponse creates a new PortManagementInformationForTSCWithinSessionModificationResponse IE.

func NewPortManagementInformationForTSCWithinSessionReportRequest

func NewPortManagementInformationForTSCWithinSessionReportRequest(info *IE) *IE

NewPortManagementInformationForTSCWithinSessionReportRequest creates a new PortManagementInformationForTSCWithinSessionReportRequest IE.

func NewPrecedence

func NewPrecedence(id uint32) *IE

NewPrecedence creates a new Precedence IE.

func NewPriority

func NewPriority(priority uint8) *IE

NewPriority creates a new Priority IE.

func NewProvideATSSSControlInformation

func NewProvideATSSSControlInformation(ies ...*IE) *IE

NewProvideATSSSControlInformation creates a new ProvideATSSSControlInformation IE.

func NewProvideRDSConfigurationInformation added in v0.0.10

func NewProvideRDSConfigurationInformation(ies ...*IE) *IE

NewProvideRDSConfigurationInformation creates a new ProvideRDSConfigurationInformation IE.

func NewProxying

func NewProxying(ins, arp uint8) *IE

NewProxying creates a new Proxying IE.

func NewQERControlIndications

func NewQERControlIndications(nord, mode, rcsr int) *IE

NewQERControlIndications creates a new QERControlIndications IE.

func NewQERCorrelationID

func NewQERCorrelationID(id uint32) *IE

NewQERCorrelationID creates a new QERCorrelationID IE.

func NewQERID

func NewQERID(id uint32) *IE

NewQERID creates a new QERID IE.

func NewQFI

func NewQFI(qfi uint8) *IE

NewQFI creates a new QFI IE.

func NewQoSInformationInGTPUPathQoSReport

func NewQoSInformationInGTPUPathQoSReport(ies ...*IE) *IE

NewQoSInformationInGTPUPathQoSReport creates a new QoSInformationInGTPUPathQoSReport IE.

func NewQoSMonitoringMeasurement

func NewQoSMonitoringMeasurement(flags uint8, dl, ul, rp uint32) *IE

NewQoSMonitoringMeasurement creates a new QoSMonitoringMeasurement IE.

func NewQoSMonitoringPerQoSFlowControlInformation

func NewQoSMonitoringPerQoSFlowControlInformation(ies ...*IE) *IE

NewQoSMonitoringPerQoSFlowControlInformation creates a new QoSMonitoringPerQoSFlowControlInformation IE.

func NewQoSMonitoringReport

func NewQoSMonitoringReport(ies ...*IE) *IE

NewQoSMonitoringReport creates a new QoSMonitoringReport IE.

func NewQoSReportTrigger

func NewQoSReportTrigger(ire, thr, per int) *IE

NewQoSReportTrigger creates a new QoSReportTrigger IE.

func NewQueryPacketRateStatusWithinSessionModificationRequest added in v0.0.10

func NewQueryPacketRateStatusWithinSessionModificationRequest(ies ...*IE) *IE

NewQueryPacketRateStatusWithinSessionModificationRequest creates a new QueryPacketRateStatusWithinSessionModificationRequest IE.

func NewQueryURR

func NewQueryURR(urrID *IE) *IE

NewQueryURR creates a new QueryURR IE.

func NewQueryURRReference

func NewQueryURRReference(id uint32) *IE

NewQueryURRReference creates a new QueryURRReference IE.

func NewQuotaHoldingTime

func NewQuotaHoldingTime(duration time.Duration) *IE

NewQuotaHoldingTime creates a new QuotaHoldingTime IE.

The period should be within the range of uint32, otherwise it overflows.

func NewQuotaValidityTime

func NewQuotaValidityTime(t time.Duration) *IE

NewQuotaValidityTime creates a new QuotaValidityTime IE.

func NewRDSConfigurationInformation added in v0.0.10

func NewRDSConfigurationInformation(rds uint8) *IE

NewRDSConfigurationInformation creates a new RDSConfigurationInformation IE.

func NewRQI

func NewRQI(rqi uint8) *IE

NewRQI creates a new RQI IE.

func NewRecoveryTimeStamp

func NewRecoveryTimeStamp(ts time.Time) *IE

NewRecoveryTimeStamp creates a new RecoveryTimeStamp IE.

func NewRedirectInformation

func NewRedirectInformation(addrType uint8, addrs ...string) *IE

NewRedirectInformation creates a new RedirectInformation IE.

func NewRedundantTransmissionForwardingParameters added in v0.0.10

func NewRedundantTransmissionForwardingParameters(ies ...*IE) *IE

NewRedundantTransmissionForwardingParameters creates a new RedundantTransmissionForwardingParameters IE.

func NewRedundantTransmissionParameters

func NewRedundantTransmissionParameters(ies ...*IE) *IE

NewRedundantTransmissionParameters creates a new RedundantTransmissionParameters IE.

func NewRedundantTransmissionParametersInFAR

func NewRedundantTransmissionParametersInFAR(ohc, ni *IE) *IE

NewRedundantTransmissionParametersInFAR creates a new RedundantTransmissionParameters IE.

func NewRedundantTransmissionParametersInPDI

func NewRedundantTransmissionParametersInPDI(fteid, ni *IE) *IE

NewRedundantTransmissionParametersInPDI creates a new RedundantTransmissionParameters IE.

func NewRemoteGTPUPeer

func NewRemoteGTPUPeer(flags uint8, v4, v6 string, di uint8, ni string) *IE

NewRemoteGTPUPeer creates a new RemoteGTPUPeer IE.

func NewRemoveBAR

func NewRemoveBAR(barID *IE) *IE

NewRemoveBAR creates a new RemoveBAR IE.

func NewRemoveFAR

func NewRemoveFAR(far *IE) *IE

NewRemoveFAR creates a new RemoveFAR IE.

func NewRemoveMAR

func NewRemoveMAR(marID *IE) *IE

NewRemoveMAR creates a new RemoveMAR IE.

func NewRemovePDR

func NewRemovePDR(pdr *IE) *IE

NewRemovePDR creates a new RemovePDR IE.

func NewRemoveQER

func NewRemoveQER(qer *IE) *IE

NewRemoveQER creates a new RemoveQER IE.

func NewRemoveSRR

func NewRemoveSRR(srr *IE) *IE

NewRemoveSRR creates a new RemoveSRR IE.

func NewRemoveTrafficEndpoint

func NewRemoveTrafficEndpoint(id *IE) *IE

NewRemoveTrafficEndpoint creates a new RemoveTrafficEndpoint IE.

func NewRemoveURR

func NewRemoveURR(urr *IE) *IE

NewRemoveURR creates a new RemoveURR IE.

func NewReportType

func NewReportType(upir, erir, usar, dldr int) *IE

NewReportType creates a new ReportType IE.

func NewReportingFrequency

func NewReportingFrequency(sesrl, perio, evett int) *IE

NewReportingFrequency creates a new ReportingFrequency IE.

func NewReportingTriggers

func NewReportingTriggers(triggersOctets ...uint8) *IE

NewReportingTriggers creates a new ReportingTriggers IE.

func NewRequestedAccessAvailabilityInformation

func NewRequestedAccessAvailabilityInformation(rrca uint8) *IE

NewRequestedAccessAvailabilityInformation creates a new RequestedAccessAvailabilityInformation IE.

func NewRequestedClockDriftInformation

func NewRequestedClockDriftInformation(rrcr, rrto uint8) *IE

NewRequestedClockDriftInformation creates a new RequestedClockDriftInformation IE.

func NewRequestedQoSMonitoring

func NewRequestedQoSMonitoring(rp, ul, dl int) *IE

NewRequestedQoSMonitoring creates a new RequestedQoSMonitoring IE.

func NewSDFFilter

func NewSDFFilter(fd, ttc, spi, fl string, fid uint32) *IE

NewSDFFilter creates a new SDFFilter IE.

func NewSMFSetID

func NewSMFSetID(id string) *IE

NewSMFSetID creates a new SMFSetID IE.

func NewSNSSAI added in v0.0.10

func NewSNSSAI(sst uint8, sd uint32) *IE

NewSNSSAI creates a new SNSSAI IE.

func NewSRRID

func NewSRRID(id uint8) *IE

NewSRRID creates a new SRRID IE.

func NewSTAG

func NewSTAG(flags, pcp, deiFlag uint8, cvid uint16) *IE

NewSTAG creates a new STAG IE.

func NewSequenceNumber

func NewSequenceNumber(seq uint32) *IE

NewSequenceNumber creates a new SequenceNumber IE.

func NewSessionReport

func NewSessionReport(ies ...*IE) *IE

NewSessionReport creates a new SessionReport IE.

func NewSourceIPAddress

func NewSourceIPAddress(v4, v6 net.IP, mpl uint8) *IE

NewSourceIPAddress creates a new SourceIPAddress IE.

func NewSourceInterface

func NewSourceInterface(intf uint8) *IE

NewSourceInterface creates a new SourceInterface IE.

func NewStartTime

func NewStartTime(ts time.Time) *IE

NewStartTime creates a new StartTime IE.

func NewSteeringFunctionality

func NewSteeringFunctionality(sfunc uint8) *IE

NewSteeringFunctionality creates a new SteeringFunctionality IE.

func NewSteeringMode

func NewSteeringMode(mode uint8) *IE

NewSteeringMode creates a new SteeringMode IE.

func NewStringIE added in v0.0.21

func NewStringIE(itype uint16, v string) *IE

NewStringIE creates a new IE with string value.

func NewSubsequentEventQuota

func NewSubsequentEventQuota(quota uint32) *IE

NewSubsequentEventQuota creates a new SubsequentEventQuota IE.

func NewSubsequentEventThreshold

func NewSubsequentEventThreshold(quota uint32) *IE

NewSubsequentEventThreshold creates a new SubsequentEventThreshold IE.

func NewSubsequentTimeQuota

func NewSubsequentTimeQuota(period time.Duration) *IE

NewSubsequentTimeQuota creates a new SubsequentTimeQuota IE.

the period should be within the range of uint32, otherwise it overflows.

func NewSubsequentTimeThreshold

func NewSubsequentTimeThreshold(t time.Duration) *IE

NewSubsequentTimeThreshold creates a new SubsequentTimeThreshold IE.

func NewSubsequentVolumeQuota

func NewSubsequentVolumeQuota(flags uint8, tvol, uvol, dvol uint64) *IE

NewSubsequentVolumeQuota creates a new SubsequentVolumeQuota IE.

func NewSubsequentVolumeThreshold

func NewSubsequentVolumeThreshold(flags uint8, tvol, uvol, dvol uint64) *IE

NewSubsequentVolumeThreshold creates a new SubsequentVolumeThreshold IE.

func NewSuggestedBufferingPacketsCount

func NewSuggestedBufferingPacketsCount(count uint8) *IE

NewSuggestedBufferingPacketsCount creates a new SuggestedBufferingPacketsCount IE.

func NewTGPPAccessForwardingActionInformation

func NewTGPPAccessForwardingActionInformation(ies ...*IE) *IE

NewTGPPAccessForwardingActionInformation creates a new TGPPAccessForwardingActionInformation IE.

func NewTGPPInterfaceType

func NewTGPPInterfaceType(intf uint8) *IE

NewTGPPInterfaceType creates a new TGPPInterfaceType IE.

func NewTSCManagementInformation added in v0.0.10

func NewTSCManagementInformation(typ uint16, ies ...*IE) *IE

NewTSCManagementInformation creates a new TSCManagementInformation IE.

func NewTSCManagementInformationWithinSessionModificationRequest added in v0.0.10

func NewTSCManagementInformationWithinSessionModificationRequest(ies ...*IE) *IE

NewTSCManagementInformationWithinSessionModificationRequest creates a new TSCManagementInformationWithinSessionModificationRequest IE.

func NewTSCManagementInformationWithinSessionModificationResponse added in v0.0.10

func NewTSCManagementInformationWithinSessionModificationResponse(ies ...*IE) *IE

NewTSCManagementInformationWithinSessionModificationResponse creates a new TSCManagementInformationWithinSessionModificationResponse IE.

func NewTSCManagementInformationWithinSessionReportRequest added in v0.0.10

func NewTSCManagementInformationWithinSessionReportRequest(ies ...*IE) *IE

NewTSCManagementInformationWithinSessionReportRequest creates a new TSCManagementInformationWithinSessionReportRequest IE.

func NewTSNBridgeID

func NewTSNBridgeID(mac net.HardwareAddr) *IE

NewTSNBridgeID creates a new TSNBridgeID IE.

func NewTSNTimeDomainNumber

func NewTSNTimeDomainNumber(num uint8) *IE

NewTSNTimeDomainNumber creates a new TSNTimeDomainNumber IE.

func NewTimeOfFirstPacket

func NewTimeOfFirstPacket(ts time.Time) *IE

NewTimeOfFirstPacket creates a new TimeOfFirstPacket IE.

func NewTimeOfLastPacket

func NewTimeOfLastPacket(ts time.Time) *IE

NewTimeOfLastPacket creates a new TimeOfLastPacket IE.

func NewTimeOffsetMeasurement

func NewTimeOffsetMeasurement(measurement time.Duration) *IE

NewTimeOffsetMeasurement creates a new TimeOffsetMeasurement IE.

func NewTimeOffsetThreshold

func NewTimeOffsetThreshold(threshold time.Duration) *IE

NewTimeOffsetThreshold creates a new TimeOffsetThreshold IE.

func NewTimeQuota

func NewTimeQuota(period time.Duration) *IE

NewTimeQuota creates a new TimeQuota IE.

the period should be within the range of uint32, otherwise it overflows.

func NewTimeQuotaMechanism

func NewTimeQuotaMechanism(btit uint8, bti time.Duration) *IE

NewTimeQuotaMechanism creates a new TimeQuotaMechanism IE.

func NewTimeThreshold

func NewTimeThreshold(t time.Duration) *IE

NewTimeThreshold creates a new TimeThreshold IE.

func NewTimer

func NewTimer(duration time.Duration) *IE

NewTimer creates a new Timer IE.

func NewTraceInformation

func NewTraceInformation(mcc, mnc, id string, events []byte, depth uint8, interfaces []byte, ip net.IP) *IE

NewTraceInformation creates a new TraceInformation IE.

func NewTrafficEndpointID

func NewTrafficEndpointID(id uint8) *IE

NewTrafficEndpointID creates a new TrafficEndpointID IE.

func NewTransportDelayReporting added in v0.0.10

func NewTransportDelayReporting(ies ...*IE) *IE

NewTransportDelayReporting creates a new TransportDelayReporting IE.

func NewTransportLevelMarking

func NewTransportLevelMarking(tos uint16) *IE

NewTransportLevelMarking creates a new TransportLevelMarking IE.

func NewUEIPAddress

func NewUEIPAddress(flags uint8, v4, v6 string, v6d, v6pl uint8) *IE

NewUEIPAddress creates a new UEIPAddress IE.

func NewUEIPAddressPoolIdentity

func NewUEIPAddressPoolIdentity(id string) *IE

NewUEIPAddressPoolIdentity creates a new UEIPAddressPoolIdentity IE.

func NewUEIPAddressPoolInformation

func NewUEIPAddressPoolInformation(ies ...*IE) *IE

NewUEIPAddressPoolInformation creates a new UEIPAddressPoolInformation IE.

func NewUEIPAddressUsageInformation added in v0.0.10

func NewUEIPAddressUsageInformation(ies ...*IE) *IE

NewUEIPAddressUsageInformation creates a new UEIPAddressUsageInformation IE.

func NewUELinkSpecificIPAddress

func NewUELinkSpecificIPAddress(v4, v6, nv4, nv6 net.IP) *IE

NewUELinkSpecificIPAddress creates a new UELinkSpecificIPAddress IE.

func NewUPFunctionFeatures

func NewUPFunctionFeatures(features ...uint8) *IE

NewUPFunctionFeatures creates a new UPFunctionFeatures IE. Each feature should be given by octets (5th to 8th octet). It expects 4 octets as input, excessive ones are ignored.

func NewURRID

func NewURRID(id uint32) *IE

NewURRID creates a new URRID IE.

func NewURSEQN

func NewURSEQN(seq uint32) *IE

NewURSEQN creates a new URSEQN IE.

func NewUint16IE added in v0.0.21

func NewUint16IE(itype uint16, v uint16) *IE

NewUint16ValIE creates a new IE with uint16 value.

func NewUint32IE added in v0.0.21

func NewUint32IE(itype uint16, v uint32) *IE

NewUint32ValIE creates a new IE with uint32 value.

func NewUint64IE added in v0.0.21

func NewUint64IE(itype uint16, v uint64) *IE

NewUint64ValIE creates a new IE with uint64 value.

func NewUint8IE added in v0.0.21

func NewUint8IE(itype uint16, v uint8) *IE

NewUint8ValIE creates a new IE with uint8 value.

func NewUpdateBAR

func NewUpdateBAR(typ uint16, ies ...*IE) *IE

NewUpdateBAR creates a new UpdateBAR IE.

func NewUpdateBARWithinSessionModificationRequest

func NewUpdateBARWithinSessionModificationRequest(ies ...*IE) *IE

NewUpdateBARWithinSessionModificationRequest creates a new UpdateBARWithinSessionModificationRequest IE.

func NewUpdateBARWithinSessionReportResponse

func NewUpdateBARWithinSessionReportResponse(ies ...*IE) *IE

NewUpdateBARWithinSessionReportResponse creates a new UpdateBARWithinSessionReportResponse IE.

func NewUpdateDuplicatingParameters

func NewUpdateDuplicatingParameters(ies ...*IE) *IE

NewUpdateDuplicatingParameters creates a new UpdateDuplicatingParameters IE.

func NewUpdateFAR

func NewUpdateFAR(ies ...*IE) *IE

NewUpdateFAR creates a new UpdateFAR IE.

func NewUpdateForwardingParameters

func NewUpdateForwardingParameters(ies ...*IE) *IE

NewUpdateForwardingParameters creates a new UpdateForwardingParameters IE.

func NewUpdateMAR

func NewUpdateMAR(ies ...*IE) *IE

NewUpdateMAR creates a new UpdateMAR IE.

func NewUpdateNonTGPPAccessForwardingActionInformation

func NewUpdateNonTGPPAccessForwardingActionInformation(ies ...*IE) *IE

NewUpdateNonTGPPAccessForwardingActionInformation creates a new UpdateNonTGPPAccessForwardingActionInformation IE.

func NewUpdatePDR

func NewUpdatePDR(ies ...*IE) *IE

NewUpdatePDR creates a new UpdatePDR IE.

func NewUpdateQER

func NewUpdateQER(ies ...*IE) *IE

NewUpdateQER creates a new UpdateQER IE.

func NewUpdateSRR

func NewUpdateSRR(ies ...*IE) *IE

NewUpdateSRR creates a new UpdateSRR IE.

func NewUpdateTGPPAccessForwardingActionInformation

func NewUpdateTGPPAccessForwardingActionInformation(ies ...*IE) *IE

NewUpdateTGPPAccessForwardingActionInformation creates a new UpdateTGPPAccessForwardingActionInformation IE.

func NewUpdateTrafficEndpoint

func NewUpdateTrafficEndpoint(ies ...*IE) *IE

NewUpdateTrafficEndpoint creates a new UpdateTrafficEndpoint IE.

func NewUpdateURR

func NewUpdateURR(ies ...*IE) *IE

NewUpdateURR creates a new UpdateURR IE.

func NewUpdatedPDR

func NewUpdatedPDR(ies ...*IE) *IE

NewUpdatedPDR creates a new UpdatedPDR IE.

func NewUsageInformation

func NewUsageInformation(bef, aft, uae, ube int) *IE

NewUsageInformation creates a new UsageInformation IE.

func NewUsageReport

func NewUsageReport(typ uint16, ies ...*IE) *IE

NewUsageReport creates a new UsageReport IE.

func NewUsageReportTrigger

func NewUsageReportTrigger(triggerOctets ...uint8) *IE

NewUsageReportTrigger creates a new UsageReportTrigger IE.

func NewUsageReportWithinSessionDeletionResponse

func NewUsageReportWithinSessionDeletionResponse(ies ...*IE) *IE

NewUsageReportWithinSessionDeletionResponse creates a new UsageReportWithinSessionDeletionResponse IE.

func NewUsageReportWithinSessionModificationResponse

func NewUsageReportWithinSessionModificationResponse(ies ...*IE) *IE

NewUsageReportWithinSessionModificationResponse creates a new UsageReportWithinSessionModificationResponse IE.

func NewUsageReportWithinSessionReportRequest

func NewUsageReportWithinSessionReportRequest(ies ...*IE) *IE

NewUsageReportWithinSessionReportRequest creates a new UsageReportWithinSessionReportRequest IE.

func NewUserID

func NewUserID(flags uint8, imsi, imei, msisdn, nai string) *IE

NewUserID creates a new UserID IE.

func NewUserPlaneIPResourceInformation

func NewUserPlaneIPResourceInformation(flags uint8, tRange uint8, v4, v6, ni string, si uint8) *IE

NewUserPlaneIPResourceInformation creates a new UserPlaneIPResourceInformation IE.

func NewUserPlaneInactivityTimer

func NewUserPlaneInactivityTimer(period time.Duration) *IE

NewUserPlaneInactivityTimer creates a new UserPlaneInactivityTimer IE.

the period should be within the range of uint32, otherwise it overflows.

func NewUserPlanePathFailureReport

func NewUserPlanePathFailureReport(peer *IE) *IE

NewUserPlanePathFailureReport creates a new UserPlanePathFailureReport IE.

func NewUserPlanePathRecoveryReport

func NewUserPlanePathRecoveryReport(peer *IE) *IE

NewUserPlanePathRecoveryReport creates a new UserPlanePathRecoveryReport IE.

func NewValidityTimer added in v0.0.10

func NewValidityTimer(period time.Duration) *IE

NewValidityTimer creates a new ValidityTimer IE.

the period should be within the range of uint16, otherwise it overflows.

func NewVendorSpecificGroupedIE

func NewVendorSpecificGroupedIE(itype, eid uint16, ies ...*IE) *IE

NewVendorSpecificGroupedIE creates a new grouped IE.

func NewVendorSpecificIE

func NewVendorSpecificIE(itype, eid uint16, data []byte) *IE

NewVendorSpecificIE creates a new vendor-specific IE.

func NewVolumeMeasurement

func NewVolumeMeasurement(flags uint8, tvol, uvol, dvol, tpkt, upkt, dpkt uint64) *IE

NewVolumeMeasurement creates a new VolumeMeasurement IE.

func NewVolumeQuota

func NewVolumeQuota(flags uint8, tvol, uvol, dvol uint64) *IE

NewVolumeQuota creates a new VolumeQuota IE.

func NewVolumeThreshold

func NewVolumeThreshold(flags uint8, tvol, uvol, dvol uint64) *IE

NewVolumeThreshold creates a new VolumeThreshold IE.

func NewWeight

func NewWeight(weight uint8) *IE

NewWeight creates a new Weight IE.

func Parse

func Parse(b []byte) (*IE, error)

Parse parses b into IE.

Note that this function uses the given bytes directly, so not safe to use the buffer after calling this function. When you use the buffer somewhere else, copy it before calling this function.

func ParseMultiIEs

func ParseMultiIEs(b []byte) ([]*IE, error)

ParseMultiIEs decodes multiple IEs at a time. This is easy and useful but slower than decoding one by one. When you don't know the number of IEs, this is the only way to decode them. See benchmarks in diameter_test.go for the detail.

Note that this function uses the given bytes directly, so not safe to use the buffer after calling this function. When you use the buffer somewhere else, copy it before calling this function.

func (*IE) APNDNN

func (i *IE) APNDNN() (string, error)

APNDNN returns APNDNN in string if the type of IE matches.

func (*IE) ATSSSControlParameters

func (i *IE) ATSSSControlParameters() ([]*IE, error)

ATSSSControlParameters returns the IEs above ATSSSControlParameters if the type of IE matches.

func (*IE) ATSSSLLControlInformation

func (i *IE) ATSSSLLControlInformation() (uint8, error)

ATSSSLLControlInformation returns ATSSSLLControlInformation in uint8 if the type of IE matches.

func (*IE) ATSSSLLInformation

func (i *IE) ATSSSLLInformation() (uint8, error)

ATSSSLLInformation returns ATSSSLLInformation in uint8 if the type of IE matches.

func (*IE) ATSSSLLParameters

func (i *IE) ATSSSLLParameters() ([]*IE, error)

ATSSSLLParameters returns the IEs above ATSSSLLParameters if the type of IE matches.

func (*IE) AccessAvailabilityControlInformation

func (i *IE) AccessAvailabilityControlInformation() ([]*IE, error)

AccessAvailabilityControlInformation returns the IEs above AccessAvailabilityControlInformation if the type of IE matches.

func (*IE) AccessAvailabilityInformation

func (i *IE) AccessAvailabilityInformation() (uint8, error)

AccessAvailabilityInformation returns AccessAvailabilityInformation in uint8 if the type of IE matches.

func (*IE) AccessAvailabilityReport

func (i *IE) AccessAvailabilityReport() ([]*IE, error)

AccessAvailabilityReport returns the IEs above AccessAvailabilityReport if the type of IE matches.

func (*IE) AccessType

func (i *IE) AccessType() (uint8, error)

AccessType returns AccessType in uint8 if the type of IE matches.

func (*IE) ActivatePredefinedRules

func (i *IE) ActivatePredefinedRules() (string, error)

ActivatePredefinedRules returns ActivatePredefinedRules in string if the type of IE matches.

func (*IE) ActivationTime

func (i *IE) ActivationTime() (time.Time, error)

ActivationTime returns ActivationTime in time.Time if the type of IE matches.

func (*IE) Add

func (i *IE) Add(ies ...*IE)

Add adds variable number of IEs to a IE if the IE is grouped type and update length. Otherwise, this does nothing (no errors).

func (*IE) AdditionalMonitoringTime

func (i *IE) AdditionalMonitoringTime() ([]*IE, error)

AdditionalMonitoringTime returns the IEs above AdditionalMonitoringTime if the type of IE matches.

func (*IE) AdditionalUsageReportsInformation

func (i *IE) AdditionalUsageReportsInformation() (uint16, error)

AdditionalUsageReportsInformation returns AdditionalUsageReportsInformation in uint16 if the type of IE matches.

func (*IE) AggregatedURRID

func (i *IE) AggregatedURRID() (uint32, error)

AggregatedURRID returns AggregatedURRID in uint32 if the type of IE matches.

func (*IE) AggregatedURRs

func (i *IE) AggregatedURRs() ([]*IE, error)

AggregatedURRs returns the IEs above AggregatedURRs if the type of IE matches.

func (*IE) AlternativeSMFIPAddress

func (i *IE) AlternativeSMFIPAddress() (*AlternativeSMFIPAddressFields, error)

AlternativeSMFIPAddress returns AlternativeSMFIPAddress in structured format if the type of IE matches.

func (*IE) ApplicationDetectionInformation

func (i *IE) ApplicationDetectionInformation() ([]*IE, error)

ApplicationDetectionInformation returns the IEs above ApplicationDetectionInformation if the type of IE matches.

func (*IE) ApplicationID

func (i *IE) ApplicationID() (string, error)

ApplicationID returns ApplicationID in string if the type of IE matches.

func (*IE) ApplicationIDsPFDs

func (i *IE) ApplicationIDsPFDs() ([]*IE, error)

ApplicationIDsPFDs returns the IEs above ApplicationIDsPFDs if the type of IE matches.

func (*IE) ApplicationInstanceID

func (i *IE) ApplicationInstanceID() (string, error)

ApplicationInstanceID returns ApplicationInstanceID in string if the type of IE matches.

func (*IE) ApplyAction

func (i *IE) ApplyAction() ([]byte, error)

ApplyAction returns ApplyAction in []byte if the type of IE matches.

func (*IE) AvailabilityStatus

func (i *IE) AvailabilityStatus() (uint8, error)

AvailabilityStatus returns AvailabilityStatus in uint8 if the type of IE matches.

func (*IE) AveragePacketDelay

func (i *IE) AveragePacketDelay() (time.Duration, error)

AveragePacketDelay returns AveragePacketDelay in time.Duration if the type of IE matches.

func (*IE) AveragingWindow

func (i *IE) AveragingWindow() (uint32, error)

AveragingWindow returns AveragingWindow in uint32 if the type of IE matches.

func (*IE) BARID

func (i *IE) BARID() (uint8, error)

BARID returns BARID in uint8 if the type of IE matches.

func (*IE) BridgeManagementInformationContainer added in v0.0.10

func (i *IE) BridgeManagementInformationContainer() (string, error)

BridgeManagementInformationContainer returns BridgeManagementInformationContainer in string if the type of IE matches.

func (*IE) CPFunctionFeatures

func (i *IE) CPFunctionFeatures() ([]byte, error)

CPFunctionFeatures returns CPFunctionFeatures in []byte if the type of IE matches.

func (*IE) CPPFCPEntityIPAddress

func (i *IE) CPPFCPEntityIPAddress() (*CPPFCPEntityIPAddressFields, error)

CPPFCPEntityIPAddress returns CPPFCPEntityIPAddress in structured format if the type of IE matches.

func (*IE) CSIDs

func (i *IE) CSIDs() ([]uint16, error)

CSIDs returns CSIDs in []uint16 if the type of IE matches.

func (*IE) CTAG

func (i *IE) CTAG() (*CTAGFields, error)

CTAG returns CTAG in structured format if the type of IE matches.

func (*IE) Cause

func (i *IE) Cause() (uint8, error)

Cause returns Cause in uint8 if the type of IE matches.

func (*IE) ClockDriftControlInformation

func (i *IE) ClockDriftControlInformation() ([]*IE, error)

ClockDriftControlInformation returns the IEs above ClockDriftControlInformation if the type of IE matches.

func (*IE) ClockDriftReport

func (i *IE) ClockDriftReport() ([]*IE, error)

ClockDriftReport returns the IEs above ClockDriftReport if the type of IE matches.

func (*IE) CreateBAR

func (i *IE) CreateBAR() ([]*IE, error)

CreateBAR returns the IEs above CreateBAR if the type of IE matches.

func (*IE) CreateBridgeInfoForTSC

func (i *IE) CreateBridgeInfoForTSC() (uint8, error)

CreateBridgeInfoForTSC returns CreateBridgeInfoForTSC in uint8 if the type of IE matches.

func (*IE) CreateFAR

func (i *IE) CreateFAR() ([]*IE, error)

CreateFAR returns the IEs above CreateFAR if the type of IE matches.

func (*IE) CreateMAR

func (i *IE) CreateMAR() ([]*IE, error)

CreateMAR returns the IEs above CreateMAR if the type of IE matches.

func (*IE) CreatePDR

func (i *IE) CreatePDR() ([]*IE, error)

CreatePDR returns the IEs above CreatePDR if the type of IE matches.

func (*IE) CreateQER

func (i *IE) CreateQER() ([]*IE, error)

CreateQER returns the IEs above CreateQER if the type of IE matches.

func (*IE) CreateSRR

func (i *IE) CreateSRR() ([]*IE, error)

CreateSRR returns the IEs above CreateSRR if the type of IE matches.

func (*IE) CreateTrafficEndpoint

func (i *IE) CreateTrafficEndpoint() ([]*IE, error)

CreateTrafficEndpoint returns the IEs above CreateTrafficEndpoint if the type of IE matches.

func (*IE) CreateURR

func (i *IE) CreateURR() ([]*IE, error)

CreateURR returns the IEs above CreateURR if the type of IE matches.

func (*IE) CreatedBridgeInfoForTSC

func (i *IE) CreatedBridgeInfoForTSC() ([]*IE, error)

CreatedBridgeInfoForTSC returns the IEs above CreatedBridgeInfoForTSC if the type of IE matches.

func (*IE) CreatedPDR

func (i *IE) CreatedPDR() ([]*IE, error)

CreatedPDR returns the IEs above CreatedPDR if the type of IE matches.

func (*IE) CreatedTrafficEndpoint

func (i *IE) CreatedTrafficEndpoint() ([]*IE, error)

CreatedTrafficEndpoint returns the IEs above CreatedTrafficEndpoint if the type of IE matches.

func (*IE) CumulativeRateRatioMeasurement

func (i *IE) CumulativeRateRatioMeasurement() (uint32, error)

CumulativeRateRatioMeasurement returns CumulativeRateRatioMeasurement in uint32 if the type of IE matches.

func (*IE) CumulativeRateRatioThreshold

func (i *IE) CumulativeRateRatioThreshold() (uint32, error)

CumulativeRateRatioThreshold returns CumulativeRateRatioThreshold in uint32 if the type of IE matches.

func (*IE) DLBufferingDuration

func (i *IE) DLBufferingDuration() (time.Duration, error)

DLBufferingDuration returns DLBufferingDuration in time.Duration if the type of IE matches.

func (*IE) DLBufferingSuggestedPacketCount

func (i *IE) DLBufferingSuggestedPacketCount() (uint16, error)

DLBufferingSuggestedPacketCount returns DLBufferingSuggestedPacketCount in uint16 if the type of IE matches.

func (*IE) DLDataPacketsSize

func (i *IE) DLDataPacketsSize() (uint16, error)

DLDataPacketsSize returns DLDataPacketsSize in uint16 if the type of IE matches.

func (*IE) DLFlowLevelMarking

func (i *IE) DLFlowLevelMarking() (*DLFlowLevelMarkingFields, error)

DLFlowLevelMarking returns DLFlowLevelMarking in *DLFlowLevelMarkingFields if the type of IE matches.

func (*IE) DSTTPortNumber

func (i *IE) DSTTPortNumber() (uint32, error)

DSTTPortNumber returns DSTTPortNumber in uint32 if the type of IE matches.

func (*IE) DataNetworkAccessIdentifier

func (i *IE) DataNetworkAccessIdentifier() (string, error)

DataNetworkAccessIdentifier returns DataNetworkAccessIdentifier in string if the type of IE matches.

func (*IE) DataStatus added in v0.0.10

func (i *IE) DataStatus() (uint8, error)

DataStatus returns DataStatus in uint8 if the type of IE matches.

func (*IE) DeactivatePredefinedRules

func (i *IE) DeactivatePredefinedRules() (string, error)

DeactivatePredefinedRules returns DeactivatePredefinedRules in string if the type of IE matches.

func (*IE) DeactivationTime

func (i *IE) DeactivationTime() (time.Time, error)

DeactivationTime returns DeactivationTime in time.Time if the type of IE matches.

func (*IE) DestinationInterface

func (i *IE) DestinationInterface() (uint8, error)

DestinationInterface returns DestinationInterface in uint8 if the type of IE matches.

func (*IE) DownlinkDataNotificationDelay

func (i *IE) DownlinkDataNotificationDelay() (time.Duration, error)

DownlinkDataNotificationDelay returns DownlinkDataNotificationDelay in time.Duration if the type of IE matches.

func (*IE) DownlinkDataReport

func (i *IE) DownlinkDataReport() ([]*IE, error)

DownlinkDataReport returns the IEs above DownlinkDataReport if the type of IE matches.

func (*IE) DownlinkDataServiceInformation

func (i *IE) DownlinkDataServiceInformation() ([]byte, error)

DownlinkDataServiceInformation returns DownlinkDataServiceInformation in []byte if the type of IE matches.

func (*IE) DroppedDLTrafficThreshold

func (i *IE) DroppedDLTrafficThreshold() (uint8, error)

DroppedDLTrafficThreshold returns DroppedDLTrafficThreshold in uint8 if the type of IE matches.

TODO: implement!

func (*IE) DuplicatingParameters

func (i *IE) DuplicatingParameters() ([]*IE, error)

DuplicatingParameters returns the IEs above DuplicatingParameters if the type of IE matches.

func (*IE) DurationMeasurement

func (i *IE) DurationMeasurement() (time.Duration, error)

DurationMeasurement returns DurationMeasurement in time.Duration if the type of IE matches.

func (*IE) EndTime

func (i *IE) EndTime() (time.Time, error)

EndTime returns EndTime in time.Time if the type of IE matches.

func (*IE) ErrorIndicationReport

func (i *IE) ErrorIndicationReport() ([]*IE, error)

ErrorIndicationReport returns the IEs above ErrorIndicationReport if the type of IE matches.

func (*IE) EthernetContextInformation

func (i *IE) EthernetContextInformation() ([]*IE, error)

EthernetContextInformation returns the IEs above EthernetContextInformation if the type of IE matches.

func (*IE) EthernetFilterID

func (i *IE) EthernetFilterID() (uint32, error)

EthernetFilterID returns EthernetFilterID in uint32 if the type of IE matches.

func (*IE) EthernetFilterProperties

func (i *IE) EthernetFilterProperties() (uint8, error)

EthernetFilterProperties returns EthernetFilterProperties in uint8 if the type of IE matches.

func (*IE) EthernetInactivityTimer

func (i *IE) EthernetInactivityTimer() (time.Duration, error)

EthernetInactivityTimer returns EthernetInactivityTimer in time.Duration if the type of IE matches.

func (*IE) EthernetPDUSessionInformation

func (i *IE) EthernetPDUSessionInformation() (uint8, error)

EthernetPDUSessionInformation returns EthernetPDUSessionInformation in uint8 if the type of IE matches.

func (*IE) EthernetPacketFilter

func (i *IE) EthernetPacketFilter() ([]*IE, error)

EthernetPacketFilter returns the IEs above EthernetPacketFilter if the type of IE matches.

func (*IE) EthernetTrafficInformation

func (i *IE) EthernetTrafficInformation() ([]*IE, error)

EthernetTrafficInformation returns the IEs above EthernetTrafficInformation if the type of IE matches.

func (*IE) Ethertype

func (i *IE) Ethertype() (uint16, error)

Ethertype returns Ethertype in uint16 if the type of IE matches.

func (*IE) EventQuota

func (i *IE) EventQuota() (uint32, error)

EventQuota returns EventQuota in uint32 if the type of IE matches.

func (*IE) EventThreshold

func (i *IE) EventThreshold() (uint32, error)

EventThreshold returns EventThreshold in uint32 if the type of IE matches.

func (*IE) EventTimeStamp

func (i *IE) EventTimeStamp() (time.Time, error)

EventTimeStamp returns EventTimeStamp in time.Time if the type of IE matches.

func (*IE) Exponent

func (i *IE) Exponent() (uint32, error)

Exponent returns Exponent in uint32 if the type of IE matches.

func (*IE) FARID

func (i *IE) FARID() (uint32, error)

FARID returns FARID in uint32 if the type of IE matches.

func (*IE) FQCSID

func (i *IE) FQCSID() ([]byte, error)

FQCSID returns FQCSID in []byte if the type of IE matches.

func (*IE) FSEID

func (i *IE) FSEID() (*FSEIDFields, error)

FSEID returns FSEID in structured format if the type of IE matches.

func (*IE) FTEID

func (i *IE) FTEID() (*FTEIDFields, error)

FTEID returns FTEID in structured format if the type of IE matches.

func (*IE) FailedRuleID

func (i *IE) FailedRuleID() (uint32, error)

FailedRuleID returns FailedRuleID in uint32 if the type of IE matches.

func (*IE) FindByType

func (i *IE) FindByType(typ uint16) (*IE, error)

FindByType returns IE looked up by type.

The program may be slower when calling this method multiple times because this ranges over a ChildIEs each time it is called.

func (*IE) FlowDescription

func (i *IE) FlowDescription() (string, error)

FlowDescription returns FlowDescription in string if the type of IE matches.

func (*IE) FlowDirection

func (i *IE) FlowDirection() (uint8, error)

FlowDirection returns FlowDirection in uint8 if the type of IE matches.

func (*IE) FlowInformation

func (i *IE) FlowInformation() ([]byte, error)

FlowInformation returns FlowInformation in []byte if the type of IE matches.

func (*IE) ForwardingParameters

func (i *IE) ForwardingParameters() ([]*IE, error)

ForwardingParameters returns the IEs above ForwardingParameters if the type of IE matches.

func (*IE) ForwardingPolicy

func (i *IE) ForwardingPolicy() ([]byte, error)

ForwardingPolicy returns ForwardingPolicy in []byte if the type of IE matches.

func (*IE) ForwardingPolicyIdentifier

func (i *IE) ForwardingPolicyIdentifier() (string, error)

ForwardingPolicyIdentifier returns ForwardingPolicyIdentifier in string if the type of IE matches.

func (*IE) FramedIPv6Route

func (i *IE) FramedIPv6Route() (string, error)

FramedIPv6Route returns FramedIPv6Route in string if the type of IE matches.

func (*IE) FramedRoute

func (i *IE) FramedRoute() (string, error)

FramedRoute returns FramedRoute in string if the type of IE matches.

func (*IE) FramedRouting

func (i *IE) FramedRouting() (uint32, error)

FramedRouting returns FramedRouting in uint32 if the type of IE matches.

func (*IE) GBR

func (i *IE) GBR() ([]byte, error)

GBR returns GBR in []byte if the type of IE matches.

func (*IE) GBRDL

func (i *IE) GBRDL() (uint64, error)

GBRDL returns GBRDL in uint64 if the type of IE matches.

func (*IE) GBRUL

func (i *IE) GBRUL() (uint64, error)

GBRUL returns GBRUL in uint64 if the type of IE matches.

func (*IE) GTPUExtensionHeaderDeletion added in v0.0.15

func (i *IE) GTPUExtensionHeaderDeletion() (uint8, error)

GTPUExtensionHeaderDeletion returns GTPUExtensionHeaderDeletion in uint8 if the type of IE matches.

func (*IE) GTPUPathInterfaceType

func (i *IE) GTPUPathInterfaceType() (uint8, error)

GTPUPathInterfaceType returns GTPUPathInterfaceType in uint8 if the type of IE matches.

func (*IE) GTPUPathQoSControlInformation

func (i *IE) GTPUPathQoSControlInformation() ([]*IE, error)

GTPUPathQoSControlInformation returns the IEs above GTPUPathQoSControlInformation if the type of IE matches.

func (*IE) GTPUPathQoSReport

func (i *IE) GTPUPathQoSReport() ([]*IE, error)

GTPUPathQoSReport returns the IEs above GTPUPathQoSReport if the type of IE matches.

func (*IE) GateStatus

func (i *IE) GateStatus() (uint8, error)

GateStatus returns GateStatus in uint8 if the type of IE matches.

func (*IE) GateStatusDL

func (i *IE) GateStatusDL() (uint8, error)

GateStatusDL returns GateStatusDL in uint8 if the type of IE matches.

func (*IE) GateStatusUL

func (i *IE) GateStatusUL() (uint8, error)

GateStatusUL returns GateStatusUL in uint8 if the type of IE matches.

func (*IE) GateStatusULDL added in v0.0.20

func (i *IE) GateStatusULDL() (uint8, uint8, error)

GateStatusULDL returns GateStatusUL and GateStatusDL in uint8 if the type of IE matches.

func (*IE) GracefulReleasePeriod

func (i *IE) GracefulReleasePeriod() (time.Duration, error)

GracefulReleasePeriod returns GracefulReleasePeriod in time.Duration if the type of IE matches.

func (*IE) HasADPDP

func (i *IE) HasADPDP() bool

HasADPDP reports whether an IE has ADPDP bit.

func (*IE) HasAFT

func (i *IE) HasAFT() bool

HasAFT reports whether and IE has AFT bit.

func (*IE) HasARDR added in v0.0.23

func (i *IE) HasARDR() bool

HasARDR reports whether an IE has ARDR bit.

func (*IE) HasARP

func (i *IE) HasARP() bool

HasARP reports whether an IE has ARP bit.

func (*IE) HasASSONI

func (i *IE) HasASSONI() bool

HasASSONI reports whether an IE has ASSONI bit.

func (*IE) HasASSOSI

func (i *IE) HasASSOSI() bool

HasASSOSI reports whether an IE has ASSOSI bit.

func (*IE) HasAURI

func (i *IE) HasAURI() bool

HasAURI reports whether an IE has AURI bit.

func (*IE) HasBDPN added in v0.0.16

func (i *IE) HasBDPN() bool

HasBDPN reports wether an IE has BDPN bit. This flag has been introduced in release 16.4

func (*IE) HasBEF

func (i *IE) HasBEF() bool

HasBEF reports whether and IE has BEF bit.

func (*IE) HasBIDE

func (i *IE) HasBIDE() bool

HasBIDE reports whether an IE has BIDE bit.

func (*IE) HasBII

func (i *IE) HasBII() bool

HasBII reports whether an IE has BII bit.

func (*IE) HasBUCP

func (i *IE) HasBUCP() bool

HasBUCP reports whether an IE has BUCP bit.

func (*IE) HasBUFF

func (i *IE) HasBUFF() bool

HasBUFF reports whether an IE has BUFF bit.

func (*IE) HasBUNDL

func (i *IE) HasBUNDL() bool

HasBUNDL reports whether an IE has BUNDL bit.

func (*IE) HasCHV4 added in v0.0.16

func (i *IE) HasCHV4() bool

HasCHV4 reports whether an IE has CHV4 bit. This bit has been introduced in release 16.2 with the removal of the bit CH at the same position.

func (*IE) HasCHV6 added in v0.0.16

func (i *IE) HasCHV6() bool

HasCHV6 reports whether an IE has CHV6 bit. This bit has been introduced in release 16.2

func (*IE) HasCTag

func (i *IE) HasCTag() bool

HasCTag reports whether an IE has CTAG bit.

func (*IE) HasDCARONI

func (i *IE) HasDCARONI() bool

HasDCARONI reports whether an IE has DCARONI bit.

func (*IE) HasDDND

func (i *IE) HasDDND() bool

HasDDND reports whether an IE has DDND bit.

func (*IE) HasDDPN added in v0.0.16

func (i *IE) HasDDPN() bool

HasDDPN reports wether an IE has DDPN bit. This flag has been introduced in release 16.4

func (*IE) HasDFRT added in v0.0.16

func (i *IE) HasDFRT() bool

HasDFRT reports wether an IE has DFRT bit. This flag has been introduced in release 16.3

func (*IE) HasDI

func (i *IE) HasDI() bool

HasDI reports whether an IE has DI bit.

func (*IE) HasDL

func (i *IE) HasDL() bool

HasDL reports whether an IE has DL bit.

func (*IE) HasDLBD

func (i *IE) HasDLBD() bool

HasDLBD reports whether an IE has DLBD bit.

func (*IE) HasDLBY

func (i *IE) HasDLBY() bool

HasDLBY reports whether an IE has DLBY bit.

func (*IE) HasDLDR

func (i *IE) HasDLDR() bool

HasDLDR reports whether an IE has DLDR bit.

func (*IE) HasDLPA

func (i *IE) HasDLPA() bool

HasDLPA reports whether an IE has DLPA bit.

func (*IE) HasDLPR

func (i *IE) HasDLPR() bool

HasDLPR reports whether an IE has DLPR bit.

func (*IE) HasDPDRA

func (i *IE) HasDPDRA() bool

HasDPDRA reports whether an IE has DPDRA bit.

func (*IE) HasDROBU

func (i *IE) HasDROBU() bool

HasDROBU reports whether an IE has DROBU bit.

func (*IE) HasDROP

func (i *IE) HasDROP() bool

HasDROP reports whether an IE has DROP bit.

func (*IE) HasDROTH

func (i *IE) HasDROTH() bool

HasDROTH reports whether an IE has DROTH bit.

func (*IE) HasDUPL

func (i *IE) HasDUPL() bool

HasDUPL reports whether an IE has DUPL bit.

func (*IE) HasDURAT

func (i *IE) HasDURAT() bool

HasDURAT reports whether an IE has DURAT bit.

func (*IE) HasEDRT added in v0.0.16

func (i *IE) HasEDRT() bool

HasEDRT reports wether an IE has EDRT bit. This flag has been introduced in release 16.3

func (*IE) HasEMPU

func (i *IE) HasEMPU() bool

HasEMPU reports whether an IE has EMPU bit.

func (*IE) HasEMRRE added in v0.0.17

func (i *IE) HasEMRRE() bool

HasEMRRE reports whether an IE has EMRRE bit.

func (*IE) HasENVCL

func (i *IE) HasENVCL() bool

HasENVCL reports whether an IE has ENVCL bit.

func (*IE) HasEPFAR

func (i *IE) HasEPFAR() bool

HasEPFAR reports whether an IE has EPFAR bit.

func (*IE) HasERIR

func (i *IE) HasERIR() bool

HasERIR reports whether an IE has ERIR bit.

func (*IE) HasETHI

func (i *IE) HasETHI() bool

HasETHI reports whether an IE has ETHI bit.

func (*IE) HasEVENT

func (i *IE) HasEVENT() bool

HasEVENT reports whether an IE has EVENT bit.

func (*IE) HasEVEQU

func (i *IE) HasEVEQU() bool

HasEVEQU reports whether an IE has EVEQU bit.

func (*IE) HasEVETH

func (i *IE) HasEVETH() bool

HasEVETH reports whether an IE has EVETH bit.

func (*IE) HasEVETT

func (i *IE) HasEVETT() bool

HasEVETT reports whether an IE has EVETT bit.

func (*IE) HasFORW

func (i *IE) HasFORW() bool

HasFORW reports whether an IE has FORW bit.

func (*IE) HasFRRT

func (i *IE) HasFRRT() bool

HasFRRT reports whether an IE has FRRT bit.

func (*IE) HasFSSM added in v0.0.16

func (i *IE) HasFSSM() bool

HasFSSM reports wether an IE has FSSM bit. This flag has been introduced in release 17.2

func (*IE) HasFTUP

func (i *IE) HasFTUP() bool

HasFTUP reports whether an IE has FTUP bit.

func (*IE) HasGCOM

func (i *IE) HasGCOM() bool

HasGCOM reports whether an IE has GCOM bit.

func (*IE) HasHEEU

func (i *IE) HasHEEU() bool

HasHEEU reports whether an IE has HEEU bit.

func (*IE) HasIMMER

func (i *IE) HasIMMER() bool

HasIMMER reports whether an IE has IMMER bit.

func (*IE) HasINAM

func (i *IE) HasINAM() bool

HasINAM reports whether an IE has INAM bit.

func (*IE) HasINS

func (i *IE) HasINS() bool

HasINS reports whether an IE has INS bit.

func (*IE) HasIP6PL added in v0.0.16

func (i *IE) HasIP6PL() bool

HasIP6PL reports whether an IE has IP6PL bit. This bit has been introduced in release 16.2

func (*IE) HasIPMA added in v0.0.16

func (i *IE) HasIPMA() bool

HasIPMA reports wether an IE has IPMA bit. This flag has been introduced in release 16.2

func (*IE) HasIPMD added in v0.0.16

func (i *IE) HasIPMD() bool

HasIPMD reports wether an IE has IPMD bit. This flag has been introduced in release 16.2

func (*IE) HasIPMJL added in v0.0.17

func (i *IE) HasIPMJL() bool

HasIPMJL reports whether an IE has IPMJL bit.

func (*IE) HasIPv4

func (i *IE) HasIPv4() bool

HasIPv4 reports whether an IE has IPv4 bit.

func (*IE) HasIPv6

func (i *IE) HasIPv6() bool

HasIPv6 reports whether an IE has IPv6 bit.

func (*IE) HasIPv6D

func (i *IE) HasIPv6D() bool

HasIPv6D reports whether an IE has IPv6D bit.

func (*IE) HasIRE

func (i *IE) HasIRE() bool

HasIRE reports whether an IE has IRE bit.

func (*IE) HasISTM

func (i *IE) HasISTM() bool

HasISTM reports whether an IE has ISTM bit.

func (*IE) HasLIUSA

func (i *IE) HasLIUSA() bool

HasLIUSA reports whether an IE has LIUSA bit.

func (*IE) HasLLI

func (i *IE) HasLLI() bool

HasLLI reports whether an IE has LLI bit.

func (*IE) HasLOAD

func (i *IE) HasLOAD() bool

HasLOAD reports whether an IE has LOAD bit.

func (*IE) HasMAC

func (i *IE) HasMAC() bool

HasMAC reports whether an IE has MAC bit.

func (*IE) HasMACAR

func (i *IE) HasMACAR() bool

HasMACAR reports whether an IE has MACAR bit.

func (*IE) HasMAI added in v0.0.10

func (i *IE) HasMAI() bool

HasMAI reports whether an IE has MAI bit.

func (*IE) HasMBQE

func (i *IE) HasMBQE() bool

HasMBQE reports whether an IE has MBQE bit.

func (*IE) HasMBSU added in v0.0.16

func (i *IE) HasMBSU() bool

HasMBSU reports wether an IE has MBSU bit. This flag has been introduced in release 17.2

func (*IE) HasMNOP

func (i *IE) HasMNOP() bool

HasMNOP reports whether an IE has MNOP bit.

func (*IE) HasMODE

func (i *IE) HasMODE() bool

HasMODE reports whether an IE has MODE bit.

func (*IE) HasMONIT

func (i *IE) HasMONIT() bool

HasMONIT reports whether an IE has MONIT bit.

func (*IE) HasMPAS

func (i *IE) HasMPAS() bool

HasMPAS reports whether an IE has MPAS bit.

func (*IE) HasMTE

func (i *IE) HasMTE() bool

HasMTE reports whether an IE has MTE bit.

func (*IE) HasN3

func (i *IE) HasN3() bool

HasN3 reports whether an IE has N3 bit.

func (*IE) HasN9

func (i *IE) HasN9() bool

HasN9 reports whether an IE has N9 bit.

func (*IE) HasNI

func (i *IE) HasNI() bool

HasNI reports whether an IE has NI bit.

func (*IE) HasNOCP

func (i *IE) HasNOCP() bool

HasNOCP reports whether an IE has NOCP bit.

func (*IE) HasNORD

func (i *IE) HasNORD() bool

HasNORD reports whether an IE has NORD bit.

func (*IE) HasOVRL

func (i *IE) HasOVRL() bool

HasOVRL reports whether an IE has OVRL bit.

func (*IE) HasPARPS

func (i *IE) HasPARPS() bool

HasPARPS reports whether an IE has PARPS bit.

func (*IE) HasPDIU

func (i *IE) HasPDIU() bool

HasPDIU reports whether an IE has PDIU bit.

func (*IE) HasPER

func (i *IE) HasPER() bool

HasPER reports whether an IE has PER bit.

func (*IE) HasPERIO

func (i *IE) HasPERIO() bool

HasPERIO reports whether an IE has PERIO bit.

func (*IE) HasPFDE

func (i *IE) HasPFDE() bool

HasPFDE reports whether an IE has PFDE bit.

func (*IE) HasPFDM

func (i *IE) HasPFDM() bool

HasPFDM reports whether an IE has PFDM bit.

func (*IE) HasPMFI

func (i *IE) HasPMFI() bool

HasPMFI reports whether an IE has PMFI bit.

func (*IE) HasPPI

func (i *IE) HasPPI() bool

HasPPI reports whether an IE has PPI bit.

func (*IE) HasPRIN6I

func (i *IE) HasPRIN6I() bool

HasPRIN6I reports whether an IE has PRIN6I bit.

func (*IE) HasPRINT19I

func (i *IE) HasPRINT19I() bool

HasPRINT19I reports whether an IE has PRINT19I bit.

func (*IE) HasPRIUEAI

func (i *IE) HasPRIUEAI() bool

HasPRIUEAI reports whether an IE has PRIUEAI bit.

func (*IE) HasPSDBU

func (i *IE) HasPSDBU() bool

HasPSDBU reports whether an IE has PSDBU bit.

func (*IE) HasPSREI

func (i *IE) HasPSREI() bool

HasPSREI reports whether an IE has PSREI bit.

func (*IE) HasPSUCC added in v0.0.23

func (i *IE) HasPSUCC() bool

HasPSUCC reports whether an IE has PSUCC bit.

func (*IE) HasPortNumber added in v0.0.16

func (i *IE) HasPortNumber() bool

HasPortNumber reports wether an IE has Port Number bit.

func (*IE) HasQAURR

func (i *IE) HasQAURR() bool

HasQAURR reports whether an IE has QAURR bit.

func (*IE) HasQFI

func (i *IE) HasQFI() bool

HasQFI reports whether an IE has QFI bit.

func (*IE) HasQUHTI

func (i *IE) HasQUHTI() bool

HasQUHTI reports whether an IE has QUHTI bit.

func (*IE) HasQUOAC

func (i *IE) HasQUOAC() bool

HasQUOAC reports whether an IE has QUOAC bit.

func (*IE) HasQUVTI added in v0.0.17

func (i *IE) HasQUVTI() bool

HasQUVTI reports whether an IE has QUVTI bit.

func (*IE) HasRADI

func (i *IE) HasRADI() bool

HasRADI reports whether an IE has RADI bit.

func (*IE) HasRCSR

func (i *IE) HasRCSR() bool

HasRCSR reports whether an IE has RCSR bit.

func (*IE) HasRDS added in v0.0.10

func (i *IE) HasRDS() bool

HasRDS reports whether an IE has RDS bit.

func (*IE) HasRDSI

func (i *IE) HasRDSI() bool

HasRDSI reports whether an IE has RDSI bit.

func (*IE) HasREEMR added in v0.0.17

func (i *IE) HasREEMR() bool

HasREEMR reports whether an IE has REEMR bit.

func (*IE) HasRESTI

func (i *IE) HasRESTI() bool

HasRESTI reports whether an IE has RESTI bit.

func (*IE) HasRP

func (i *IE) HasRP() bool

HasRP reports whether an IE has RP bit.

func (*IE) HasRPGUR added in v0.0.23

func (i *IE) HasRPGUR() bool

HasRPGUR reports whether an IE has RPGUR bit.

func (*IE) HasRQI

func (i *IE) HasRQI() bool

HasRQI reports whether an IE has RQI bit.

func (*IE) HasRRCA

func (i *IE) HasRRCA() bool

HasRRCA reports whether an IE has RRCA bit.

func (*IE) HasRRCR

func (i *IE) HasRRCR() bool

HasRRCR reports whether an IE has RRCR bit.

func (*IE) HasRRTO

func (i *IE) HasRRTO() bool

HasRRTO reports whether an IE has RRTO bit.

func (*IE) HasRTTL

func (i *IE) HasRTTL() bool

HasRTTL reports whether an IE has RTTL bit.

func (*IE) HasSARR

func (i *IE) HasSARR() bool

HasSARR reports whether an IE has SARR bit.

func (*IE) HasSCI

func (i *IE) HasSCI() bool

HasSCI reports whether an IE has SCI bit.

func (*IE) HasSD

func (i *IE) HasSD() bool

HasSD reports whether an IE has SD bit.

func (*IE) HasSESRL

func (i *IE) HasSESRL() bool

HasSESRL reports whether an IE has SESRL bit.

func (*IE) HasSNDEM

func (i *IE) HasSNDEM() bool

HasSNDEM reports whether an IE has SNDEM bit.

func (*IE) HasSSET

func (i *IE) HasSSET() bool

HasSSET reports whether an IE has SSET bit.

func (*IE) HasSTART

func (i *IE) HasSTART() bool

HasSTART reports whether an IE has START bit.

func (*IE) HasSTOPT

func (i *IE) HasSTOPT() bool

HasSTOPT reports whether an IE has STOPT bit.

func (*IE) HasSTag

func (i *IE) HasSTag() bool

HasSTag reports whether an IE has STAG bit.

func (*IE) HasTCI

func (i *IE) HasTCI() bool

HasTCI reports whether an IE has TCI bit.

func (*IE) HasTEBUR added in v0.0.17

func (i *IE) HasTEBUR() bool

HasTEBUR reports whether an IE has TEBUR bit.

func (*IE) HasTEID

func (i *IE) HasTEID() bool

HasTEID reports whether an IE has TEID bit.

func (*IE) HasTERMR

func (i *IE) HasTERMR() bool

HasTERMR reports whether an IE has TERMR bit.

func (*IE) HasTHR

func (i *IE) HasTHR() bool

HasTHR reports whether an IE has THR bit.

func (*IE) HasTIMQU

func (i *IE) HasTIMQU() bool

HasTIMQU reports whether an IE has TIMQU bit.

func (*IE) HasTIMTH

func (i *IE) HasTIMTH() bool

HasTIMTH reports whether an IE has TIMTH bit.

func (*IE) HasTRACE

func (i *IE) HasTRACE() bool

HasTRACE reports whether an IE has TRACE bit.

func (*IE) HasTREU

func (i *IE) HasTREU() bool

HasTREU reports whether an IE has TREU bit.

func (*IE) HasTRST

func (i *IE) HasTRST() bool

HasTRST reports whether an IE has TRST bit.

func (*IE) HasTTC

func (i *IE) HasTTC() bool

HasTTC reports whether an IE has TTC bit.

func (*IE) HasUAE

func (i *IE) HasUAE() bool

HasUAE reports whether and IE has UAE bit.

func (*IE) HasUBE

func (i *IE) HasUBE() bool

HasUBE reports whether and IE has UBE bit.

func (*IE) HasUDBC

func (i *IE) HasUDBC() bool

HasUDBC reports whether an IE has UDBC bit.

func (*IE) HasUEIP

func (i *IE) HasUEIP() bool

HasUEIP reports whether an IE has UEIP bit.

func (*IE) HasUIAUR added in v0.0.23

func (i *IE) HasUIAUR() bool

HasUIAUR reports whether an IE has UIAUR bit.

func (*IE) HasUL

func (i *IE) HasUL() bool

HasUL reports whether an IE has UL bit.

func (*IE) HasULPR

func (i *IE) HasULPR() bool

HasULPR reports whether an IE has ULPR bit.

func (*IE) HasUPFR

func (i *IE) HasUPFR() bool

HasUPFR reports whether an IE has UPFR bit.

func (*IE) HasUPINT added in v0.0.17

func (i *IE) HasUPINT() bool

HasUPINT reports whether an IE has UPINT bit.

func (*IE) HasUPIR

func (i *IE) HasUPIR() bool

HasUPIR reports whether an IE has UPIR bit.

func (*IE) HasURSS

func (i *IE) HasURSS() bool

HasURSS reports whether an IE has URSS bit.

func (*IE) HasUSAR

func (i *IE) HasUSAR() bool

HasUSAR reports whether an IE has USAR bit.

func (*IE) HasUUPSI added in v0.0.10

func (i *IE) HasUUPSI() bool

HasUUPSI reports whether an IE has UUPSI bit.

func (*IE) HasVOLQU

func (i *IE) HasVOLQU() bool

HasVOLQU reports whether an IE has VOLQU bit.

func (*IE) HasVOLTH

func (i *IE) HasVOLTH() bool

HasVOLTH reports whether an IE has VOLTH bit.

func (*IE) HasVOLUM

func (i *IE) HasVOLUM() bool

HasVOLUM reports whether an IE has VOLUM bit.

func (*IE) HasVTIME

func (i *IE) HasVTIME() bool

HasVTIME reports whether an IE has VTIME bit.

func (*IE) HeaderEnrichment

func (i *IE) HeaderEnrichment() (*HeaderEnrichmentFields, error)

HeaderEnrichment returns HeaderEnrichment in *HeaderEnrichmentFields if the type of IE matches.

func (*IE) IPMulticastAddress

func (i *IE) IPMulticastAddress() (*IPMulticastAddressFields, error)

IPMulticastAddress returns IPMulticastAddress in structured format if the type of IE matches.

func (*IE) IPMulticastAddressingInfo

func (i *IE) IPMulticastAddressingInfo() ([]*IE, error)

IPMulticastAddressingInfo returns the IEs above IPMulticastAddressingInfo if the type of IE matches.

func (*IE) IPVersion added in v0.0.10

func (i *IE) IPVersion() (uint8, error)

IPVersion returns IPVersion in uint8 if the type of IE matches.

func (*IE) InactivityDetectionTime

func (i *IE) InactivityDetectionTime() (uint32, error)

InactivityDetectionTime returns InactivityDetectionTime in uint32 if the type of IE matches.

func (*IE) IsAllocatedByCPFunction

func (i *IE) IsAllocatedByCPFunction() bool

IsAllocatedByCPFunction reports whether URRID is allocated by CP Function.

func (*IE) IsAllocatedByUPFunction

func (i *IE) IsAllocatedByUPFunction() bool

IsAllocatedByUPFunction reports whether URRID is allocated by UP Function.

func (*IE) IsGrouped

func (i *IE) IsGrouped() bool

IsGrouped reports whether an IE is grouped type or not.

By default, this package determines if an IE is grouped type or not by checking if the IE type is in the defaultGroupedIEMap. You can change this entire behavior by calling SetIsGroupedFun(), or you can add new IE types to the defaultGroupedIEMap by calling AddGroupedIEType().

func (*IE) IsLLSSMCTEID added in v0.0.16

func (i *IE) IsLLSSMCTEID() bool

IsLLSSMCTEID reports wether an IE has Low Layer SSM and C-TEID bit.

func (*IE) IsN19

func (i *IE) IsN19() bool

IsN19 reports whether an IE has N19 bit.

func (*IE) IsN6

func (i *IE) IsN6() bool

IsN6 reports whether an IE has N6 bit.

func (*IE) IsVendorSpecific

func (i *IE) IsVendorSpecific() bool

IsVendorSpecific reports whether an IE is vendor-specific or defined by 3gpp.

func (*IE) JoinIPMulticastInformationWithinUsageReport

func (i *IE) JoinIPMulticastInformationWithinUsageReport() ([]*IE, error)

JoinIPMulticastInformationWithinUsageReport returns the IEs above JoinIPMulticastInformationWithinUsageReport if the type of IE matches.

func (*IE) LeaveIPMulticastInformationWithinUsageReport

func (i *IE) LeaveIPMulticastInformationWithinUsageReport() ([]*IE, error)

LeaveIPMulticastInformationWithinUsageReport returns the IEs above LeaveIPMulticastInformationWithinUsageReport if the type of IE matches.

func (*IE) LinkedURRID

func (i *IE) LinkedURRID() (uint32, error)

LinkedURRID returns LinkedURRID in uint32 if the type of IE matches.

func (*IE) LoadControlInformation

func (i *IE) LoadControlInformation() ([]*IE, error)

LoadControlInformation returns the IEs above LoadControlInformation if the type of IE matches.

func (*IE) LocalFTEID

func (i *IE) LocalFTEID() (*FTEIDFields, error)

LocalFTEID returns FTEID that is found first in a grouped IE in structured format if the type of IE matches.

This can only be used on the grouped IEs that may have multiple Local F-TEID IEs.

func (*IE) LocalFTEIDN

func (i *IE) LocalFTEIDN(n int) (*FTEIDFields, error)

LocalFTEIDN returns FTEID that is found Nth in a grouped IE in structured format if the type of IE matches.

This can only be used on the grouped IEs that may have multiple Local F-TEID IEs.

func (*IE) MACAddress

func (i *IE) MACAddress() (*MACAddressFields, error)

MACAddress returns MACAddress in structured format if the type of IE matches.

func (*IE) MACAddressesDetected

func (i *IE) MACAddressesDetected() (*MACAddressesDetectedFields, error)

MACAddressesDetected returns MACAddressesDetected in structured format if the type of IE matches.

func (*IE) MACAddressesRemoved

func (i *IE) MACAddressesRemoved() (*MACAddressesRemovedFields, error)

MACAddressesRemoved returns MACAddressesRemoved in structured format if the type of IE matches.

func (*IE) MARID

func (i *IE) MARID() (uint16, error)

MARID returns MARID in uint16 if the type of IE matches.

func (*IE) MBR

func (i *IE) MBR() ([]byte, error)

MBR returns MBR in []byte if the type of IE matches.

func (*IE) MBRDL

func (i *IE) MBRDL() (uint64, error)

MBRDL returns MBRDL in uint64 if the type of IE matches.

func (*IE) MBRUL

func (i *IE) MBRUL() (uint64, error)

MBRUL returns MBRUL in uint64 if the type of IE matches.

func (*IE) MPTCPAddressInformation

func (i *IE) MPTCPAddressInformation() (*MPTCPAddressInformationFields, error)

MPTCPAddressInformation returns MPTCPAddressInformation in structured format if the type of IE matches.

func (*IE) MPTCPApplicableIndication added in v0.0.10

func (i *IE) MPTCPApplicableIndication() (uint8, error)

MPTCPApplicableIndication returns MPTCPApplicableIndication in uint8 if the type of IE matches.

func (*IE) MPTCPControlInformation

func (i *IE) MPTCPControlInformation() (uint8, error)

MPTCPControlInformation returns MPTCPControlInformation in uint8 if the type of IE matches.

func (*IE) MPTCPParameters

func (i *IE) MPTCPParameters() ([]*IE, error)

MPTCPParameters returns the IEs above MPTCPParameters if the type of IE matches.

func (*IE) MTEDTControlInformation

func (i *IE) MTEDTControlInformation() (uint8, error)

MTEDTControlInformation returns MTEDTControlInformation in uint8 if the type of IE matches.

func (*IE) Marshal

func (i *IE) Marshal() ([]byte, error)

Marshal returns the byte sequence generated from an IE instance.

func (*IE) MarshalLen

func (i *IE) MarshalLen() int

MarshalLen returns field length in integer.

func (*IE) MarshalTo

func (i *IE) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*IE) MaximumPacketDelay

func (i *IE) MaximumPacketDelay() (time.Duration, error)

MaximumPacketDelay returns MaximumPacketDelay in time.Duration if the type of IE matches.

func (*IE) MeasurementInformation

func (i *IE) MeasurementInformation() (uint8, error)

MeasurementInformation returns MeasurementInformation in uint8 if the type of IE matches.

func (*IE) MeasurementMethod

func (i *IE) MeasurementMethod() (uint8, error)

MeasurementMethod returns MeasurementMethod in uint8 if the type of IE matches.

func (*IE) MeasurementPeriod

func (i *IE) MeasurementPeriod() (time.Duration, error)

MeasurementPeriod returns MeasurementPeriod in time.Duration if the type of IE matches.

func (*IE) Metric

func (i *IE) Metric() (uint8, error)

Metric returns Metric in uint8 if the type of IE matches.

func (*IE) MinimumPacketDelay

func (i *IE) MinimumPacketDelay() (time.Duration, error)

MinimumPacketDelay returns MinimumPacketDelay in time.Duration if the type of IE matches.

func (*IE) MinimumWaitTime

func (i *IE) MinimumWaitTime() (time.Duration, error)

MinimumWaitTime returns MinimumWaitTime in time.Duration if the type of IE matches.

func (*IE) MonitoringTime

func (i *IE) MonitoringTime() (time.Time, error)

MonitoringTime returns MonitoringTime in time.Time if the type of IE matches.

func (*IE) Multiplier

func (i *IE) Multiplier() ([]byte, error)

Multiplier returns Multiplier in []byte if the type of IE matches.

func (*IE) MustAPNDNN

func (i *IE) MustAPNDNN() string

MustAPNDNN returns APNDNN in string, ignoring errors. This should only be used if it is assured to have the value.

func (*IE) NFInstanceID

func (i *IE) NFInstanceID() ([]byte, error)

NFInstanceID returns NFInstanceID in []byte if the type of IE matches.

func (*IE) NWTTPortNumber

func (i *IE) NWTTPortNumber() (uint32, error)

NWTTPortNumber returns NWTTPortNumber in uint32 if the type of IE matches.

func (*IE) NetworkInstance

func (i *IE) NetworkInstance() (string, error)

NetworkInstance returns NetworkInstance in string if the type of IE matches.

func (*IE) NetworkInstanceFQDN added in v0.0.11

func (i *IE) NetworkInstanceFQDN() (string, error)

NetworkInstanceFQDN returns NetworkInstance in string if the type of IE matches. This is for the case that NetworkInstance is encoded as a FQDN.

func (*IE) NetworkInstanceHeuristic added in v0.0.11

func (i *IE) NetworkInstanceHeuristic() (string, error)

NetworkInstanceHeuristic assumes that the payload is encoded in Name Syntax and returns the decoded string if it looks meaningful. Otherwise returns a string just converted from []byte.

func (*IE) NodeAddress

func (i *IE) NodeAddress() ([]byte, error)

NodeAddress returns NodeAddress in []byte if the type of IE matches.

func (*IE) NodeID

func (i *IE) NodeID() (string, error)

NodeID returns NodeID in string if the type of IE matches.

func (*IE) NodeIDType

func (i *IE) NodeIDType() (uint8, error)

NodeIDType returns NodeIDType in uint8 if the type of IE matches.

func (*IE) NodeReportType

func (i *IE) NodeReportType() (uint8, error)

NodeReportType returns NodeReportType in uint8 if the type of IE matches.

func (*IE) NonTGPPAccessForwardingActionInformation

func (i *IE) NonTGPPAccessForwardingActionInformation() ([]*IE, error)

NonTGPPAccessForwardingActionInformation returns the IEs above NonTGPPAccessForwardingActionInformation if the type of IE matches.

func (*IE) NumberOfReports

func (i *IE) NumberOfReports() (uint16, error)

NumberOfReports returns NumberOfReports in uint16 if the type of IE matches.

func (*IE) NumberOfUEIPAddresses added in v0.0.10

func (i *IE) NumberOfUEIPAddresses() (*NumberOfUEIPAddressesFields, error)

NumberOfUEIPAddresses returns NumberOfUEIPAddresses in structured format if the type of IE matches.

func (*IE) OCIFlags

func (i *IE) OCIFlags() (uint8, error)

OCIFlags returns OCIFlags in uint8 if the type of IE matches.

func (*IE) OffendingIE

func (i *IE) OffendingIE() (uint16, error)

OffendingIE returns OffendingIE in uint16 if the type of IE matches.

func (*IE) OuterHeaderCreation

func (i *IE) OuterHeaderCreation() (*OuterHeaderCreationFields, error)

OuterHeaderCreation returns OuterHeaderCreation in *OuterHeaderCreationFields if the type of IE matches.

func (*IE) OuterHeaderRemoval

func (i *IE) OuterHeaderRemoval() ([]byte, error)

OuterHeaderRemoval returns OuterHeaderRemoval in []byte if the type of IE matches.

func (*IE) OuterHeaderRemovalDescription

func (i *IE) OuterHeaderRemovalDescription() (uint8, error)

OuterHeaderRemovalDescription returns OuterHeaderRemovalDescription in uint8 if the type of IE matches.

func (*IE) OverloadControlInformation

func (i *IE) OverloadControlInformation() ([]*IE, error)

OverloadControlInformation returns the IEs above OverloadControlInformation if the type of IE matches.

func (*IE) PDI

func (i *IE) PDI() ([]*IE, error)

PDI returns the IEs above PDI if the type of IE matches.

func (*IE) PDNType

func (i *IE) PDNType() (uint8, error)

PDNType returns PDNType in uint8 if the type of IE matches.

func (*IE) PDRID

func (i *IE) PDRID() (uint16, error)

PDRID returns PDRID in uint16 if the type of IE matches.

func (*IE) PFCPASReqFlags added in v0.0.10

func (i *IE) PFCPASReqFlags() (uint8, error)

PFCPASReqFlags returns PFCPASReqFlags in uint8 if the type of IE matches.

func (*IE) PFCPASRspFlags

func (i *IE) PFCPASRspFlags() (uint8, error)

PFCPASRspFlags returns PFCPASRspFlags in uint8 if the type of IE matches.

func (*IE) PFCPAUReqFlags

func (i *IE) PFCPAUReqFlags() (uint8, error)

PFCPAUReqFlags returns PFCPAUReqFlags in uint8 if the type of IE matches.

func (*IE) PFCPAssociationReleaseRequest

func (i *IE) PFCPAssociationReleaseRequest() (uint8, error)

PFCPAssociationReleaseRequest returns PFCPAssociationReleaseRequest in uint8 if the type of IE matches.

func (*IE) PFCPSEReqFlags

func (i *IE) PFCPSEReqFlags() (uint8, error)

PFCPSEReqFlags returns PFCPSEReqFlags in uint8 if the type of IE matches.

func (*IE) PFCPSMReqFlags

func (i *IE) PFCPSMReqFlags() (uint8, error)

PFCPSMReqFlags returns PFCPSMReqFlags in uint8 if the type of IE matches.

func (*IE) PFCPSRReqFlags

func (i *IE) PFCPSRReqFlags() (uint8, error)

PFCPSRReqFlags returns PFCPSRReqFlags in uint8 if the type of IE matches.

func (*IE) PFCPSRRspFlags

func (i *IE) PFCPSRRspFlags() (uint8, error)

PFCPSRRspFlags returns PFCPSRRspFlags in uint8 if the type of IE matches.

func (*IE) PFCPSessionRetentionInformation

func (i *IE) PFCPSessionRetentionInformation() ([]*IE, error)

PFCPSessionRetentionInformation returns the IEs above PFCPSessionRetentionInformation if the type of IE matches.

func (*IE) PFDContents

func (i *IE) PFDContents() (*PFDContentsFields, error)

PFDContents returns PFDContents in structured format if the type of IE matches.

This IE has a complex payload that costs much when parsing.

func (*IE) PFDContext

func (i *IE) PFDContext() ([]*IE, error)

PFDContext returns the IEs above PFDContext if the type of IE matches.

func (*IE) PMFAddressInformation

func (i *IE) PMFAddressInformation() (*PMFAddressInformationFields, error)

PMFAddressInformation returns PMFAddressInformation in structured format if the type of IE matches.

func (*IE) PMFControlInformation

func (i *IE) PMFControlInformation() (uint8, error)

PMFControlInformation returns PMFControlInformation in uint8 if the type of IE matches.

func (*IE) PMFParameters

func (i *IE) PMFParameters() ([]*IE, error)

PMFParameters returns the IEs above PMFParameters if the type of IE matches.

func (*IE) PPI

func (i *IE) PPI() (uint8, error)

PPI returns PPI in uint8 if the type of IE matches.

func (*IE) PacketDelayThresholds

func (i *IE) PacketDelayThresholds() (*PacketDelayThresholdsFields, error)

PacketDelayThresholds returns PacketDelayThresholds in structured format if the type of IE matches.

func (*IE) PacketRate

func (i *IE) PacketRate() (*PacketRateFields, error)

PacketRate returns PacketRate in *PacketRateFields if the type of IE matches.

func (*IE) PacketRateStatus

func (i *IE) PacketRateStatus() (*PacketRateStatusFields, error)

PacketRateStatus returns PacketRateStatus in structured format if the type of IE matches.

func (*IE) PacketRateStatusReport

func (i *IE) PacketRateStatusReport() ([]*IE, error)

PacketRateStatusReport returns the IEs above PacketRateStatusReport if the type of IE matches.

func (*IE) PacketReplicationAndDetectionCarryOnInformation

func (i *IE) PacketReplicationAndDetectionCarryOnInformation() (uint8, error)

PacketReplicationAndDetectionCarryOnInformation returns PacketReplicationAndDetectionCarryOnInformation in uint8 if the type of IE matches.

func (*IE) PagingPolicyIndicator

func (i *IE) PagingPolicyIndicator() (uint8, error)

PagingPolicyIndicator returns PagingPolicyIndicator in uint8 if the type of IE matches.

func (*IE) PortManagementInformationContainer

func (i *IE) PortManagementInformationContainer() (string, error)

PortManagementInformationContainer returns PortManagementInformationContainer in string if the type of IE matches.

func (*IE) PortManagementInformationForTSC

func (i *IE) PortManagementInformationForTSC() ([]*IE, error)

PortManagementInformationForTSC returns the IEs above PortManagementInformationForTSC if the type of IE matches.

func (*IE) Precedence

func (i *IE) Precedence() (uint32, error)

Precedence returns Precedence in uint32 if the type of IE matches.

func (*IE) Priority

func (i *IE) Priority() (uint8, error)

Priority returns Priority in uint8 if the type of IE matches.

func (*IE) ProvideATSSSControlInformation

func (i *IE) ProvideATSSSControlInformation() ([]*IE, error)

ProvideATSSSControlInformation returns the IEs above ProvideATSSSControlInformation if the type of IE matches.

func (*IE) ProvideRDSConfigurationInformation added in v0.0.10

func (i *IE) ProvideRDSConfigurationInformation() ([]*IE, error)

ProvideRDSConfigurationInformation returns the IEs above ProvideRDSConfigurationInformation if the type of IE matches.

func (*IE) Proxying

func (i *IE) Proxying() (uint8, error)

Proxying returns Proxying in uint8 if the type of IE matches.

func (*IE) QERControlIndications

func (i *IE) QERControlIndications() (uint8, error)

QERControlIndications returns QERControlIndications in uint8 if the type of IE matches.

func (*IE) QERCorrelationID

func (i *IE) QERCorrelationID() (uint32, error)

QERCorrelationID returns QERCorrelationID in uint32 if the type of IE matches.

func (*IE) QERID

func (i *IE) QERID() (uint32, error)

QERID returns QERID in uint32 if the type of IE matches.

func (*IE) QFI

func (i *IE) QFI() (uint8, error)

QFI returns QFI in uint8 if the type of IE matches.

func (*IE) QoSInformationInGTPUPathQoSReport

func (i *IE) QoSInformationInGTPUPathQoSReport() ([]*IE, error)

QoSInformationInGTPUPathQoSReport returns the IEs above QoSInformationInGTPUPathQoSReport if the type of IE matches.

func (*IE) QoSMonitoringMeasurement

func (i *IE) QoSMonitoringMeasurement() (*QoSMonitoringMeasurementFields, error)

QoSMonitoringMeasurement returns QoSMonitoringMeasurement in structured format if the type of IE matches.

func (*IE) QoSMonitoringPerQoSFlowControlInformation

func (i *IE) QoSMonitoringPerQoSFlowControlInformation() ([]*IE, error)

QoSMonitoringPerQoSFlowControlInformation returns the IEs above QoSMonitoringPerQoSFlowControlInformation if the type of IE matches.

func (*IE) QoSMonitoringReport

func (i *IE) QoSMonitoringReport() ([]*IE, error)

QoSMonitoringReport returns the IEs above QoSMonitoringReport if the type of IE matches.

func (*IE) QoSReportTrigger

func (i *IE) QoSReportTrigger() (uint8, error)

QoSReportTrigger returns QoSReportTrigger in uint8 if the type of IE matches.

func (*IE) QueryPacketRateStatus added in v0.0.10

func (i *IE) QueryPacketRateStatus() ([]*IE, error)

QueryPacketRateStatus returns the IEs above QueryPacketRateStatus if the type of IE matches.

func (*IE) QueryURR

func (i *IE) QueryURR() ([]*IE, error)

QueryURR returns the IEs above QueryURR if the type of IE matches.

func (*IE) QueryURRReference

func (i *IE) QueryURRReference() (uint32, error)

QueryURRReference returns QueryURRReference in uint32 if the type of IE matches.

func (*IE) QuotaHoldingTime

func (i *IE) QuotaHoldingTime() (time.Duration, error)

QuotaHoldingTime returns QuotaHoldingTime in time.Duration if the type of IE matches.

func (*IE) QuotaValidityTime

func (i *IE) QuotaValidityTime() (time.Duration, error)

QuotaValidityTime returns QuotaValidityTime in time.Time if the type of IE matches.

func (*IE) RDSConfigurationInformation added in v0.0.10

func (i *IE) RDSConfigurationInformation() (uint8, error)

RDSConfigurationInformation returns RDSConfigurationInformation in uint8 if the type of IE matches.

func (*IE) RQI

func (i *IE) RQI() (uint8, error)

RQI returns RQI in uint8 if the type of IE matches.

func (*IE) RecoveryTimeStamp

func (i *IE) RecoveryTimeStamp() (time.Time, error)

RecoveryTimeStamp returns RecoveryTimeStamp in time.Time if the type of IE matches.

func (*IE) RedirectInformation

func (i *IE) RedirectInformation() (*RedirectInformationFields, error)

RedirectInformation returns RedirectInformation in structured format if the type of IE matches.

func (*IE) RedundantTransmissionForwardingParameters added in v0.0.10

func (i *IE) RedundantTransmissionForwardingParameters() ([]*IE, error)

RedundantTransmissionForwardingParameters returns the IEs above RedundantTransmissionForwardingParameters if the type of IE matches.

func (*IE) RedundantTransmissionParameters

func (i *IE) RedundantTransmissionParameters() ([]*IE, error)

RedundantTransmissionParameters returns the IEs above RedundantTransmissionParameters if the type of IE matches.

func (*IE) RemoteGTPUPeer

func (i *IE) RemoteGTPUPeer() (*RemoteGTPUPeerFields, error)

RemoteGTPUPeer returns RemoteGTPUPeer in *RemoteGTPUPeerFields if the type of IE matches.

func (*IE) Remove

func (i *IE) Remove(typ uint16)

Remove removes an IE looked up by type.

func (*IE) RemoveBAR

func (i *IE) RemoveBAR() ([]*IE, error)

RemoveBAR returns the IEs above RemoveBAR if the type of IE matches.

func (*IE) RemoveFAR

func (i *IE) RemoveFAR() ([]*IE, error)

RemoveFAR returns the IEs above RemoveFAR if the type of IE matches.

func (*IE) RemoveMAR

func (i *IE) RemoveMAR() ([]*IE, error)

RemoveMAR returns the IEs above RemoveMAR if the type of IE matches.

func (*IE) RemovePDR

func (i *IE) RemovePDR() ([]*IE, error)

RemovePDR returns the IEs above RemovePDR if the type of IE matches.

func (*IE) RemoveQER

func (i *IE) RemoveQER() ([]*IE, error)

RemoveQER returns the IEs above RemoveQER if the type of IE matches.

func (*IE) RemoveSRR

func (i *IE) RemoveSRR() ([]*IE, error)

RemoveSRR returns the IEs above RemoveSRR if the type of IE matches.

func (*IE) RemoveTrafficEndpoint

func (i *IE) RemoveTrafficEndpoint() ([]*IE, error)

RemoveTrafficEndpoint returns the IEs above RemoveTrafficEndpoint if the type of IE matches.

func (*IE) RemoveURR

func (i *IE) RemoveURR() ([]*IE, error)

RemoveURR returns the IEs above RemoveURR if the type of IE matches.

func (*IE) ReportType

func (i *IE) ReportType() (uint8, error)

ReportType returns ReportType in uint8 if the type of IE matches.

func (*IE) ReportingFrequency

func (i *IE) ReportingFrequency() (uint8, error)

ReportingFrequency returns ReportingFrequency in uint8 if the type of IE matches.

func (*IE) ReportingTriggers

func (i *IE) ReportingTriggers() ([]byte, error)

ReportingTriggers returns ReportingTriggers in []byte if the type of IE matches.

func (*IE) RequestedAccessAvailabilityInformation

func (i *IE) RequestedAccessAvailabilityInformation() (uint8, error)

RequestedAccessAvailabilityInformation returns RequestedAccessAvailabilityInformation in uint8 if the type of IE matches.

func (*IE) RequestedClockDriftInformation

func (i *IE) RequestedClockDriftInformation() (uint8, error)

RequestedClockDriftInformation returns RequestedClockDriftInformation in uint8 if the type of IE matches.

func (*IE) RequestedQoSMonitoring

func (i *IE) RequestedQoSMonitoring() (uint8, error)

RequestedQoSMonitoring returns RequestedQoSMonitoring in uint8 if the type of IE matches.

func (*IE) RuleIDType

func (i *IE) RuleIDType() (uint8, error)

RuleIDType returns RuleIDType in uint8 if the type of IE matches.

func (*IE) SD added in v0.0.10

func (i *IE) SD() (uint32, error)

SD returns SD in uint32 if the type of IE matches.

func (*IE) SDFFilter

func (i *IE) SDFFilter() (*SDFFilterFields, error)

SDFFilter returns SDFFilter in structured format if the type of IE matches.

This IE has a complex payload that costs much when parsing.

func (*IE) SMFSetID

func (i *IE) SMFSetID() (string, error)

SMFSetID returns SMFSetID in string if the type of IE matches.

func (*IE) SNSSAI added in v0.0.10

func (i *IE) SNSSAI() ([]byte, error)

SNSSAI returns SNSSAI in []byte if the type of IE matches.

func (*IE) SRRID

func (i *IE) SRRID() (uint8, error)

SRRID returns SRRID in uint8 if the type of IE matches.

func (*IE) SST added in v0.0.10

func (i *IE) SST() (uint8, error)

SST returns SST in uint8 if the type of IE matches.

func (*IE) STAG

func (i *IE) STAG() (*STAGFields, error)

STAG returns STAG in structured format if the type of IE matches.

func (*IE) SequenceNumber

func (i *IE) SequenceNumber() (uint32, error)

SequenceNumber returns SequenceNumber in uint32 if the type of IE matches.

func (*IE) SessionReport

func (i *IE) SessionReport() ([]*IE, error)

SessionReport returns the IEs above SessionReport if the type of IE matches.

func (*IE) SetLength

func (i *IE) SetLength()

SetLength sets the length in Length field.

func (*IE) SourceIPAddress

func (i *IE) SourceIPAddress() (*SourceIPAddressFields, error)

SourceIPAddress returns SourceIPAddress in structured format if the type of IE matches.

func (*IE) SourceInterface

func (i *IE) SourceInterface() (uint8, error)

SourceInterface returns SourceInterface in uint8 if the type of IE matches.

func (*IE) StartTime

func (i *IE) StartTime() (time.Time, error)

StartTime returns StartTime in time.Time if the type of IE matches.

func (*IE) SteeringFunctionality

func (i *IE) SteeringFunctionality() (uint8, error)

SteeringFunctionality returns SteeringFunctionality in uint8 if the type of IE matches.

func (*IE) SteeringMode

func (i *IE) SteeringMode() (uint8, error)

SteeringMode returns SteeringMode in uint8 if the type of IE matches.

func (*IE) SubsequentEventQuota

func (i *IE) SubsequentEventQuota() (uint32, error)

SubsequentEventQuota returns SubsequentEventQuota in uint32 if the type of IE matches.

func (*IE) SubsequentEventThreshold

func (i *IE) SubsequentEventThreshold() (uint32, error)

SubsequentEventThreshold returns SubsequentEventThreshold in uint32 if the type of IE matches.

func (*IE) SubsequentTimeQuota

func (i *IE) SubsequentTimeQuota() (time.Duration, error)

SubsequentTimeQuota returns SubsequentTimeQuota in time.Duration if the type of IE matches.

func (*IE) SubsequentTimeThreshold

func (i *IE) SubsequentTimeThreshold() (time.Duration, error)

SubsequentTimeThreshold returns SubsequentTimeThreshold in time.Duration if the type of IE matches.

func (*IE) SubsequentVolumeQuota

func (i *IE) SubsequentVolumeQuota() (*SubsequentVolumeQuotaFields, error)

SubsequentVolumeQuota returns SubsequentVolumeQuota in structured format if the type of IE matches.

func (*IE) SubsequentVolumeThreshold

func (i *IE) SubsequentVolumeThreshold() (*SubsequentVolumeThresholdFields, error)

SubsequentVolumeThreshold returns SubsequentVolumeThreshold in structured format if the type of IE matches.

func (*IE) SuggestedBufferingPacketsCount

func (i *IE) SuggestedBufferingPacketsCount() (uint8, error)

SuggestedBufferingPacketsCount returns SuggestedBufferingPacketsCount in uint8 if the type of IE matches.

func (*IE) TEIDRI

func (i *IE) TEIDRI() int

TEIDRI returns the number of bits that are used to partition the TEID range.

func (*IE) TGPPAccessForwardingActionInformation

func (i *IE) TGPPAccessForwardingActionInformation() ([]*IE, error)

TGPPAccessForwardingActionInformation returns the IEs above TGPPAccessForwardingActionInformation if the type of IE matches.

func (*IE) TGPPInterfaceType

func (i *IE) TGPPInterfaceType() (uint8, error)

TGPPInterfaceType returns TGPPInterfaceType in uint8 if the type of IE matches.

func (*IE) TSCManagementInformation added in v0.0.10

func (i *IE) TSCManagementInformation() ([]*IE, error)

TSCManagementInformation returns the IEs above TSCManagementInformation if the type of IE matches.

func (*IE) TSNBridgeID

func (i *IE) TSNBridgeID() (net.HardwareAddr, error)

TSNBridgeID returns TSNBridgeID in net.HardwareAddr if the type of IE matches.

func (*IE) TSNTimeDomainNumber

func (i *IE) TSNTimeDomainNumber() (uint8, error)

TSNTimeDomainNumber returns TSNTimeDomainNumber in uint8 if the type of IE matches.

func (*IE) TimeOfFirstPacket

func (i *IE) TimeOfFirstPacket() (time.Time, error)

TimeOfFirstPacket returns TimeOfFirstPacket in time.Time if the type of IE matches.

func (*IE) TimeOfLastPacket

func (i *IE) TimeOfLastPacket() (time.Time, error)

TimeOfLastPacket returns TimeOfLastPacket in time.Time if the type of IE matches.

func (*IE) TimeOffsetMeasurement

func (i *IE) TimeOffsetMeasurement() (time.Duration, error)

TimeOffsetMeasurement returns TimeOffsetMeasurement in time.Duration if the type of IE matches.

func (*IE) TimeOffsetThreshold

func (i *IE) TimeOffsetThreshold() (time.Duration, error)

TimeOffsetThreshold returns TimeOffsetThreshold in time.Duration if the type of IE matches.

func (*IE) TimeQuota

func (i *IE) TimeQuota() (time.Duration, error)

TimeQuota returns TimeQuota in time.Duration if the type of IE matches.

func (*IE) TimeQuotaMechanism

func (i *IE) TimeQuotaMechanism() ([]byte, error)

TimeQuotaMechanism returns TimeQuotaMechanism in []byte if the type of IE matches.

func (*IE) TimeThreshold

func (i *IE) TimeThreshold() (time.Duration, error)

TimeThreshold returns TimeThreshold in time.Duration if the type of IE matches.

func (*IE) Timer

func (i *IE) Timer() (time.Duration, error)

Timer returns Timer in time.Duration if the type of IE matches.

func (*IE) TraceInformation

func (i *IE) TraceInformation() (*TraceInformationFields, error)

TraceInformation returns TraceInformation in structured format if the type of IE matches.

func (*IE) TrafficEndpointID

func (i *IE) TrafficEndpointID() (uint8, error)

TrafficEndpointID returns TrafficEndpointID in uint8 if the type of IE matches.

func (*IE) TransportDelayReporting added in v0.0.10

func (i *IE) TransportDelayReporting() ([]*IE, error)

TransportDelayReporting returns the IEs above TransportDelayReporting if the type of IE matches.

func (*IE) TransportLevelMarking

func (i *IE) TransportLevelMarking() (uint16, error)

TransportLevelMarking returns TransportLevelMarking in uint16 if the type of IE matches.

func (*IE) UEIPAddress

func (i *IE) UEIPAddress() (*UEIPAddressFields, error)

UEIPAddress returns UEIPAddress in *UEIPAddressFields if the type of IE matches.

func (*IE) UEIPAddressPoolIdentity

func (i *IE) UEIPAddressPoolIdentity() ([]byte, error)

UEIPAddressPoolIdentity returns UEIPAddressPoolIdentity in []byte if the type of IE matches.

func (*IE) UEIPAddressPoolIdentityString

func (i *IE) UEIPAddressPoolIdentityString() (string, error)

UEIPAddressPoolIdentityString returns UEIPAddressPoolIdentity in string if the type of IE matches.

func (*IE) UEIPAddressPoolInformation

func (i *IE) UEIPAddressPoolInformation() ([]*IE, error)

UEIPAddressPoolInformation returns the IEs above UEIPAddressPoolInformation if the type of IE matches.

func (*IE) UEIPAddressUsageInformation added in v0.0.10

func (i *IE) UEIPAddressUsageInformation() ([]*IE, error)

UEIPAddressUsageInformation returns the IEs above UEIPAddressUsageInformation if the type of IE matches.

func (*IE) UELinkSpecificIPAddress

func (i *IE) UELinkSpecificIPAddress() (*UELinkSpecificIPAddressFields, error)

UELinkSpecificIPAddress returns UELinkSpecificIPAddress in structured format if the type of IE matches.

func (*IE) UPFunctionFeatures

func (i *IE) UPFunctionFeatures() ([]byte, error)

UPFunctionFeatures returns UPFunctionFeatures in []byte if the type of IE matches.

func (*IE) URRID

func (i *IE) URRID() (uint32, error)

URRID returns URRID in uint32 if the type of IE matches.

func (*IE) URSEQN

func (i *IE) URSEQN() (uint32, error)

URSEQN returns URSEQN in uint32 if the type of IE matches.

func (*IE) UnmarshalBinary

func (i *IE) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

func (*IE) UpdateBAR

func (i *IE) UpdateBAR() ([]*IE, error)

UpdateBAR returns the IEs above UpdateBAR if the type of IE matches.

func (*IE) UpdateDuplicatingParameters

func (i *IE) UpdateDuplicatingParameters() ([]*IE, error)

UpdateDuplicatingParameters returns the IEs above UpdateDuplicatingParameters if the type of IE matches.

func (*IE) UpdateFAR

func (i *IE) UpdateFAR() ([]*IE, error)

UpdateFAR returns the IEs above UpdateFAR if the type of IE matches.

func (*IE) UpdateForwardingParameters

func (i *IE) UpdateForwardingParameters() ([]*IE, error)

UpdateForwardingParameters returns the IEs above UpdateForwardingParameters if the type of IE matches.

func (*IE) UpdateMAR

func (i *IE) UpdateMAR() ([]*IE, error)

UpdateMAR returns the IEs above UpdateMAR if the type of IE matches.

func (*IE) UpdateNonTGPPAccessForwardingActionInformation

func (i *IE) UpdateNonTGPPAccessForwardingActionInformation() ([]*IE, error)

UpdateNonTGPPAccessForwardingActionInformation returns the IEs above UpdateNonTGPPAccessForwardingActionInformation if the type of IE matches.

func (*IE) UpdatePDR

func (i *IE) UpdatePDR() ([]*IE, error)

UpdatePDR returns the IEs above UpdatePDR if the type of IE matches.

func (*IE) UpdateQER

func (i *IE) UpdateQER() ([]*IE, error)

UpdateQER returns the IEs above UpdateQER if the type of IE matches.

func (*IE) UpdateSRR

func (i *IE) UpdateSRR() ([]*IE, error)

UpdateSRR returns the IEs above UpdateSRR if the type of IE matches.

func (*IE) UpdateTGPPAccessForwardingActionInformation

func (i *IE) UpdateTGPPAccessForwardingActionInformation() ([]*IE, error)

UpdateTGPPAccessForwardingActionInformation returns the IEs above UpdateTGPPAccessForwardingActionInformation if the type of IE matches.

func (*IE) UpdateTrafficEndpoint

func (i *IE) UpdateTrafficEndpoint() ([]*IE, error)

UpdateTrafficEndpoint returns the IEs above UpdateTrafficEndpoint if the type of IE matches.

func (*IE) UpdateURR

func (i *IE) UpdateURR() ([]*IE, error)

UpdateURR returns the IEs above UpdateURR if the type of IE matches.

func (*IE) UpdatedPDR

func (i *IE) UpdatedPDR() ([]*IE, error)

UpdatedPDR returns the IEs above UpdatedPDR if the type of IE matches.

func (*IE) UsageInformation

func (i *IE) UsageInformation() (uint8, error)

UsageInformation returns UsageInformation in uint8 if the type of IE matches.

func (*IE) UsageReport

func (i *IE) UsageReport() ([]*IE, error)

UsageReport returns the IEs above UsageReport if the type of IE matches.

func (*IE) UsageReportTrigger

func (i *IE) UsageReportTrigger() ([]byte, error)

UsageReportTrigger returns UsageReportTrigger in []byte if the type of IE matches.

func (*IE) UserID

func (i *IE) UserID() (*UserIDFields, error)

UserID returns UserID in structured format if the type of IE matches.

func (*IE) UserPlaneIPResourceInformation

func (i *IE) UserPlaneIPResourceInformation() (*UserPlaneIPResourceInformationFields, error)

UserPlaneIPResourceInformation returns UserPlaneIPResourceInformation in *UserPlaneIPResourceInformationFields if the type of IE matches.

func (*IE) UserPlaneInactivityTimer

func (i *IE) UserPlaneInactivityTimer() (time.Duration, error)

UserPlaneInactivityTimer returns UserPlaneInactivityTimer in time.Duration if the type of IE matches.

func (*IE) UserPlanePathFailureReport

func (i *IE) UserPlanePathFailureReport() ([]*IE, error)

UserPlanePathFailureReport returns the IEs above UserPlanePathFailureReport if the type of IE matches.

func (*IE) UserPlanePathRecoveryReport

func (i *IE) UserPlanePathRecoveryReport() ([]*IE, error)

UserPlanePathRecoveryReport returns the IEs above UserPlanePathRecoveryReport if the type of IE matches.

func (*IE) ValidateApplyAction added in v0.0.19

func (i *IE) ValidateApplyAction() error

ValidateApplyAction can be used to facilitate the detection of some inconsistencies in Apply Action flags. Its use is optional because validation could also be done on upper layers, or completely skipped for testing purposes.

func (*IE) ValidityTimer added in v0.0.10

func (i *IE) ValidityTimer() (time.Duration, error)

ValidityTimer returns ValidityTimer in time.Duration if the type of IE matches.

func (*IE) ValueAsFQDN added in v0.0.22

func (i *IE) ValueAsFQDN() (string, error)

ValueAsFQDN returns the value of IE as string, decoded as FQDN.

func (*IE) ValueAsGrouped added in v0.0.22

func (i *IE) ValueAsGrouped() ([]*IE, error)

ValueAsGrouped returns the value of IE as grouped IE.

This method returns the ChildIEs field if it is already parsed. Otherwise, it parses the Payload field and returns the result.

It is recommended to access the ChildIEs field directly if you know the payload is already parsed and not modified. If you need to parse the payload anyway, use the `<IE-Name>()` method instead, which disregards the ChildIEs field.

For vendor-specific IE, this method tries to parse as grouped IE. If it fails, it returns error.

func (*IE) ValueAsString added in v0.0.22

func (i *IE) ValueAsString() (string, error)

ValueAsString returns the value of IE as string.

func (*IE) ValueAsUint16 added in v0.0.22

func (i *IE) ValueAsUint16() (uint16, error)

ValueAsUint16 returns the value of IE as uint16.

func (*IE) ValueAsUint32 added in v0.0.22

func (i *IE) ValueAsUint32() (uint32, error)

ValueAsUint32 returns the value of IE as uint32.

func (*IE) ValueAsUint64 added in v0.0.22

func (i *IE) ValueAsUint64() (uint64, error)

ValueAsUint64 returns the value of IE as uint64.

func (*IE) ValueAsUint8 added in v0.0.22

func (i *IE) ValueAsUint8() (uint8, error)

ValueAsUint8 returns the value of IE as uint8.

func (*IE) ValueDigits

func (i *IE) ValueDigits() (uint64, error)

ValueDigits returns ValueDigits in uint64 if the type of IE matches.

func (*IE) VolumeMeasurement

func (i *IE) VolumeMeasurement() (*VolumeMeasurementFields, error)

VolumeMeasurement returns VolumeMeasurement in structured format if the type of IE matches.

func (*IE) VolumeQuota

func (i *IE) VolumeQuota() (*VolumeQuotaFields, error)

VolumeQuota returns VolumeQuota in structured format if the type of IE matches.

func (*IE) VolumeThreshold

func (i *IE) VolumeThreshold() (*VolumeThresholdFields, error)

VolumeThreshold returns VolumeThreshold in structured format if the type of IE matches.

func (*IE) Weight

func (i *IE) Weight() (uint8, error)

Weight returns Weight in uint8 if the type of IE matches.

type IPMulticastAddressFields

type IPMulticastAddressFields struct {
	Flags            uint8
	StartIPv4Address net.IP
	StartIPv6Address net.IP
	EndIPv4Address   net.IP
	EndIPv6Address   net.IP
}

IPMulticastAddressFields represents a fields contained in IPMulticastAddress IE.

func NewIPMulticastAddressFields

func NewIPMulticastAddressFields(sv4, sv6, ev4, ev6 net.IP) *IPMulticastAddressFields

NewIPMulticastAddressFields creates a new NewIPMulticastAddressFields.

func ParseIPMulticastAddressFields

func ParseIPMulticastAddressFields(b []byte) (*IPMulticastAddressFields, error)

ParseIPMulticastAddressFields parses b into IPMulticastAddressFields.

func (*IPMulticastAddressFields) HasAny

func (f *IPMulticastAddressFields) HasAny() bool

HasAny reports whether Any flag is set.

func (*IPMulticastAddressFields) HasIPv4

func (f *IPMulticastAddressFields) HasIPv4() bool

HasIPv4 reports whether IPv4 flag is set.

func (*IPMulticastAddressFields) HasIPv6

func (f *IPMulticastAddressFields) HasIPv6() bool

HasIPv6 reports whether IPv6 flag is set.

func (*IPMulticastAddressFields) HasRange

func (f *IPMulticastAddressFields) HasRange() bool

HasRange reports whether Range flag is set.

func (*IPMulticastAddressFields) Marshal

func (f *IPMulticastAddressFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of IPMulticastAddressFields.

func (*IPMulticastAddressFields) MarshalLen

func (f *IPMulticastAddressFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*IPMulticastAddressFields) MarshalTo

func (f *IPMulticastAddressFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*IPMulticastAddressFields) SetAnyFlag

func (f *IPMulticastAddressFields) SetAnyFlag()

SetAnyFlag sets Any flag in IPMulticastAddress.

func (*IPMulticastAddressFields) SetIPv4Flag

func (f *IPMulticastAddressFields) SetIPv4Flag()

SetIPv4Flag sets IPv4 flag in IPMulticastAddress.

func (*IPMulticastAddressFields) SetIPv6Flag

func (f *IPMulticastAddressFields) SetIPv6Flag()

SetIPv6Flag sets IPv6 flag in IPMulticastAddress.

func (*IPMulticastAddressFields) SetRangeFlag

func (f *IPMulticastAddressFields) SetRangeFlag()

SetRangeFlag sets Range flag in IPMulticastAddress.

func (*IPMulticastAddressFields) UnmarshalBinary

func (f *IPMulticastAddressFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type InvalidNodeIDError

type InvalidNodeIDError struct {
	ID uint8
}

InvalidNodeIDError indicates the NodeID value is invalid.

func (*InvalidNodeIDError) Error

func (e *InvalidNodeIDError) Error() string

Error returns message with the invalid NodeID given.

type InvalidTypeError

type InvalidTypeError struct {
	Type uint16
}

InvalidTypeError indicates the type of IE is invalid.

func (*InvalidTypeError) Error

func (e *InvalidTypeError) Error() string

Error returns message with the invalid type given.

type MACAddressFields

type MACAddressFields struct {
	Flags                      uint8
	SourceMACAddress           net.HardwareAddr
	DestinationMACAddress      net.HardwareAddr
	UpperSourceMACAddress      net.HardwareAddr
	UpperDestinationMACAddress net.HardwareAddr
}

MACAddressFields represents a fields contained in MACAddress IE.

func NewMACAddressFields

func NewMACAddressFields(src, dst, upperSrc, upperDst net.HardwareAddr) *MACAddressFields

NewMACAddressFields creates a new NewMACAddressFields.

func ParseMACAddressFields

func ParseMACAddressFields(b []byte) (*MACAddressFields, error)

ParseMACAddressFields parses b into MACAddressFields.

func (*MACAddressFields) HasDEST

func (f *MACAddressFields) HasDEST() bool

HasDEST reports whether DEST flag is set.

func (*MACAddressFields) HasSOUR

func (f *MACAddressFields) HasSOUR() bool

HasSOUR reports whether SOUR flag is set.

func (*MACAddressFields) HasUDES

func (f *MACAddressFields) HasUDES() bool

HasUDES reports whether UDES flag is set.

func (*MACAddressFields) HasUSOU

func (f *MACAddressFields) HasUSOU() bool

HasUSOU reports whether USOU flag is set.

func (*MACAddressFields) Marshal

func (f *MACAddressFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of MACAddressFields.

func (*MACAddressFields) MarshalLen

func (f *MACAddressFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*MACAddressFields) MarshalTo

func (f *MACAddressFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*MACAddressFields) SetDESTFlag

func (f *MACAddressFields) SetDESTFlag()

SetDESTFlag sets DEST flag in MACAddress.

func (*MACAddressFields) SetSOURFlag

func (f *MACAddressFields) SetSOURFlag()

SetSOURFlag sets SOUR flag in MACAddress.

func (*MACAddressFields) SetUDESFlag

func (f *MACAddressFields) SetUDESFlag()

SetUDESFlag sets UDES flag in MACAddress.

func (*MACAddressFields) SetUSOUFlag

func (f *MACAddressFields) SetUSOUFlag()

SetUSOUFlag sets USOU flag in MACAddress.

func (*MACAddressFields) UnmarshalBinary

func (f *MACAddressFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type MACAddressesDetectedFields

type MACAddressesDetectedFields struct {
	NumberOfMACAddresses uint8
	MACAddresses         []net.HardwareAddr
	CTAGLength           uint8
	CTAG                 []byte
	STAGLength           uint8
	STAG                 []byte
}

MACAddressesDetectedFields represents a fields contained in MACAddressesDetected IE.

func NewMACAddressesDetectedFields

func NewMACAddressesDetectedFields(ctag, stag *IE, macs ...net.HardwareAddr) *MACAddressesDetectedFields

NewMACAddressesDetectedFields creates a new NewMACAddressesDetectedFields.

func ParseMACAddressesDetectedFields

func ParseMACAddressesDetectedFields(b []byte) (*MACAddressesDetectedFields, error)

ParseMACAddressesDetectedFields parses b into MACAddressesDetectedFields.

func (*MACAddressesDetectedFields) Marshal

func (f *MACAddressesDetectedFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of MACAddressesDetectedFields.

func (*MACAddressesDetectedFields) MarshalLen

func (f *MACAddressesDetectedFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*MACAddressesDetectedFields) MarshalTo

func (f *MACAddressesDetectedFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*MACAddressesDetectedFields) UnmarshalBinary

func (f *MACAddressesDetectedFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type MACAddressesRemovedFields

type MACAddressesRemovedFields struct {
	NumberOfMACAddresses uint8
	MACAddresses         []net.HardwareAddr
	CTAGLength           uint8
	CTAG                 []byte
	STAGLength           uint8
	STAG                 []byte
}

MACAddressesRemovedFields represents a fields contained in MACAddressesRemoved IE.

func NewMACAddressesRemovedFields

func NewMACAddressesRemovedFields(ctag, stag *IE, macs ...net.HardwareAddr) *MACAddressesRemovedFields

NewMACAddressesRemovedFields creates a new NewMACAddressesRemovedFields.

func ParseMACAddressesRemovedFields

func ParseMACAddressesRemovedFields(b []byte) (*MACAddressesRemovedFields, error)

ParseMACAddressesRemovedFields parses b into MACAddressesRemovedFields.

func (*MACAddressesRemovedFields) Marshal

func (f *MACAddressesRemovedFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of MACAddressesRemovedFields.

func (*MACAddressesRemovedFields) MarshalLen

func (f *MACAddressesRemovedFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*MACAddressesRemovedFields) MarshalTo

func (f *MACAddressesRemovedFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*MACAddressesRemovedFields) UnmarshalBinary

func (f *MACAddressesRemovedFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type MPTCPAddressInformationFields

type MPTCPAddressInformationFields struct {
	Flags            uint8
	MPTCPProxyType   uint8
	MPTCPProxyPort   uint16
	MPTCPIPv4Address net.IP
	MPTCPIPv6Address net.IP
}

MPTCPAddressInformationFields represents a fields contained in MPTCPAddressInformation IE.

func NewMPTCPAddressInformationFields

func NewMPTCPAddressInformationFields(ptype uint8, port uint16, v4, v6 net.IP) *MPTCPAddressInformationFields

NewMPTCPAddressInformationFields creates a new NewMPTCPAddressInformationFields.

func ParseMPTCPAddressInformationFields

func ParseMPTCPAddressInformationFields(b []byte) (*MPTCPAddressInformationFields, error)

ParseMPTCPAddressInformationFields parses b into MPTCPAddressInformationFields.

func (*MPTCPAddressInformationFields) HasIPv4

func (f *MPTCPAddressInformationFields) HasIPv4() bool

HasIPv4 reports whether IPv4 flag is set.

func (*MPTCPAddressInformationFields) HasIPv6

func (f *MPTCPAddressInformationFields) HasIPv6() bool

HasIPv6 reports whether IPv6 flag is set.

func (*MPTCPAddressInformationFields) Marshal

func (f *MPTCPAddressInformationFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of MPTCPAddressInformationFields.

func (*MPTCPAddressInformationFields) MarshalLen

func (f *MPTCPAddressInformationFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*MPTCPAddressInformationFields) MarshalTo

func (f *MPTCPAddressInformationFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*MPTCPAddressInformationFields) SetIPv4Flag

func (f *MPTCPAddressInformationFields) SetIPv4Flag()

SetIPv4Flag sets IPv4 flag in MPTCPAddressInformation.

func (*MPTCPAddressInformationFields) SetIPv6Flag

func (f *MPTCPAddressInformationFields) SetIPv6Flag()

SetIPv6Flag sets IPv6 flag in MPTCPAddressInformation.

func (*MPTCPAddressInformationFields) UnmarshalBinary

func (f *MPTCPAddressInformationFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type NumberOfUEIPAddressesFields added in v0.0.10

type NumberOfUEIPAddressesFields struct {
	Flags                   uint8
	NumberOfUEIPv4Addresses uint32
	NumberOfUEIPv6Addresses uint32
}

NumberOfUEIPAddressesFields represents a fields contained in NumberOfUEIPAddresses IE.

func NewNumberOfUEIPAddressesFields added in v0.0.10

func NewNumberOfUEIPAddressesFields(flags uint8, v4, v6 uint32) *NumberOfUEIPAddressesFields

NewNumberOfUEIPAddressesFields creates a new NewNumberOfUEIPAddressesFields.

func ParseNumberOfUEIPAddressesFields added in v0.0.10

func ParseNumberOfUEIPAddressesFields(b []byte) (*NumberOfUEIPAddressesFields, error)

ParseNumberOfUEIPAddressesFields parses b into NumberOfUEIPAddressesFields.

func (*NumberOfUEIPAddressesFields) HasNumIPv4 added in v0.0.10

func (f *NumberOfUEIPAddressesFields) HasNumIPv4() bool

HasNumIPv4 reports whether IPv4 flag is set.

func (*NumberOfUEIPAddressesFields) HasNumIPv6 added in v0.0.10

func (f *NumberOfUEIPAddressesFields) HasNumIPv6() bool

HasNumIPv6 reports whether IPv6 flag is set.

func (*NumberOfUEIPAddressesFields) Marshal added in v0.0.10

func (f *NumberOfUEIPAddressesFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of NumberOfUEIPAddressesFields.

func (*NumberOfUEIPAddressesFields) MarshalLen added in v0.0.10

func (f *NumberOfUEIPAddressesFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*NumberOfUEIPAddressesFields) MarshalTo added in v0.0.10

func (f *NumberOfUEIPAddressesFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*NumberOfUEIPAddressesFields) SetIPv4Flag added in v0.0.10

func (f *NumberOfUEIPAddressesFields) SetIPv4Flag()

SetIPv4Flag sets IPv4 flag in NumberOfUEIPAddresses.

func (*NumberOfUEIPAddressesFields) SetIPv6Flag added in v0.0.10

func (f *NumberOfUEIPAddressesFields) SetIPv6Flag()

SetIPv6Flag sets IPv6 flag in NumberOfUEIPAddresses.

func (*NumberOfUEIPAddressesFields) UnmarshalBinary added in v0.0.10

func (f *NumberOfUEIPAddressesFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type OuterHeaderCreationFields

type OuterHeaderCreationFields struct {
	OuterHeaderCreationDescription uint16
	TEID                           uint32
	IPv4Address                    net.IP
	IPv6Address                    net.IP
	PortNumber                     uint16
	CTag                           uint32
	STag                           uint32
}

OuterHeaderCreationFields represents a fields contained in OuterHeaderCreation IE.

func NewOuterHeaderCreationFields

func NewOuterHeaderCreationFields(desc uint16, teid uint32, v4, v6 string, port uint16, ctag, stag uint32) *OuterHeaderCreationFields

NewOuterHeaderCreationFields creates a new OuterHeaderCreationFields.

func ParseOuterHeaderCreationFields

func ParseOuterHeaderCreationFields(b []byte) (*OuterHeaderCreationFields, error)

ParseOuterHeaderCreationFields parses b into OuterHeaderCreationFields.

func (*OuterHeaderCreationFields) HasCTag added in v0.0.16

func (f *OuterHeaderCreationFields) HasCTag() bool

HasCTag reports wether C-TAG field is set.

func (*OuterHeaderCreationFields) HasIPv4 added in v0.0.16

func (f *OuterHeaderCreationFields) HasIPv4() bool

HasIPv4 reports wether IPv4 Address field is set.

func (*OuterHeaderCreationFields) HasIPv6 added in v0.0.16

func (f *OuterHeaderCreationFields) HasIPv6() bool

HasIPv6 reports wether IPv6 Address field is set.

func (*OuterHeaderCreationFields) HasPortNumber added in v0.0.16

func (f *OuterHeaderCreationFields) HasPortNumber() bool

HasPortNumber reports wether Port Number field is set.

func (*OuterHeaderCreationFields) HasSTag added in v0.0.16

func (f *OuterHeaderCreationFields) HasSTag() bool

HasSTag reports wether S-TAG field is set.

func (*OuterHeaderCreationFields) HasTEID added in v0.0.16

func (f *OuterHeaderCreationFields) HasTEID() bool

HasTEID reports wether TEID field is set.

func (*OuterHeaderCreationFields) IsLLSSMCTEID added in v0.0.16

func (f *OuterHeaderCreationFields) IsLLSSMCTEID() bool

IsLLSSMCTEID reports wether Outer Header Creation Description has Low Layer SSM and C-TEID This bit has been introduced in release 17.2

func (*OuterHeaderCreationFields) IsN19 added in v0.0.16

func (f *OuterHeaderCreationFields) IsN19() bool

IsN19 reports wether Outer Header Creation Description has N19 Indication.

func (*OuterHeaderCreationFields) IsN6 added in v0.0.16

func (f *OuterHeaderCreationFields) IsN6() bool

IsN6 reports wether Outer Header Creation Description has N9 Indication

func (*OuterHeaderCreationFields) Marshal

func (f *OuterHeaderCreationFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of OuterHeaderCreationFields.

func (*OuterHeaderCreationFields) MarshalLen

func (f *OuterHeaderCreationFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*OuterHeaderCreationFields) MarshalTo

func (f *OuterHeaderCreationFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*OuterHeaderCreationFields) UnmarshalBinary

func (f *OuterHeaderCreationFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type PFDContentsFields

type PFDContentsFields struct {
	Flags                           uint8
	FDLength                        uint16
	FlowDescription                 string
	URLLength                       uint16
	URL                             string
	DNLength                        uint16
	DomainName                      string
	CPLength                        uint16
	CustomPFDContent                string
	DNPLength                       uint16
	DomainNameProtocol              string
	AFDLength                       uint16
	AdditionalFlowDescription       []string
	AURLLength                      uint16
	AdditionalURL                   []string
	ADNPLength                      uint16
	AdditionalDomainNameAndProtocol []string
}

PFDContentsFields represents a fields contained in PFDContents IE.

func NewPFDContentsFields

func NewPFDContentsFields(fd, url, dn, cp, dnp string, afd, aurl, adnp []string) *PFDContentsFields

NewPFDContentsFields creates a new NewPFDContentsFields.

func ParsePFDContentsFields

func ParsePFDContentsFields(b []byte) (*PFDContentsFields, error)

ParsePFDContentsFields parses b into PFDContentsFields.

func (*PFDContentsFields) HasADNP

func (f *PFDContentsFields) HasADNP() bool

HasADNP reports whether ADNP flag is set.

func (*PFDContentsFields) HasAFD

func (f *PFDContentsFields) HasAFD() bool

HasAFD reports whether AFD flag is set.

func (*PFDContentsFields) HasAURL

func (f *PFDContentsFields) HasAURL() bool

HasAURL reports whether AURL flag is set.

func (*PFDContentsFields) HasCP

func (f *PFDContentsFields) HasCP() bool

HasCP reports whether CP flag is set.

func (*PFDContentsFields) HasDN

func (f *PFDContentsFields) HasDN() bool

HasDN reports whether DN flag is set.

func (*PFDContentsFields) HasDNP

func (f *PFDContentsFields) HasDNP() bool

HasDNP reports whether DNP flag is set.

func (*PFDContentsFields) HasFD

func (f *PFDContentsFields) HasFD() bool

HasFD reports whether FD flag is set.

func (*PFDContentsFields) HasURL

func (f *PFDContentsFields) HasURL() bool

HasURL reports whether URL flag is set.

func (*PFDContentsFields) Marshal

func (f *PFDContentsFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of PFDContentsFields.

func (*PFDContentsFields) MarshalLen

func (f *PFDContentsFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*PFDContentsFields) MarshalTo

func (f *PFDContentsFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*PFDContentsFields) SetADNPFlag

func (f *PFDContentsFields) SetADNPFlag()

SetADNPFlag sets ADNP flag in PFDContents.

func (*PFDContentsFields) SetAFDFlag

func (f *PFDContentsFields) SetAFDFlag()

SetAFDFlag sets AFD flag in PFDContents.

func (*PFDContentsFields) SetAURLFlag

func (f *PFDContentsFields) SetAURLFlag()

SetAURLFlag sets AURL flag in PFDContents.

func (*PFDContentsFields) SetCPFlag

func (f *PFDContentsFields) SetCPFlag()

SetCPFlag sets CP flag in PFDContents.

func (*PFDContentsFields) SetDNFlag

func (f *PFDContentsFields) SetDNFlag()

SetDNFlag sets DN flag in PFDContents.

func (*PFDContentsFields) SetDNPFlag

func (f *PFDContentsFields) SetDNPFlag()

SetDNPFlag sets DNP flag in PFDContents.

func (*PFDContentsFields) SetFDFlag

func (f *PFDContentsFields) SetFDFlag()

SetFDFlag sets FD flag in PFDContents.

func (*PFDContentsFields) SetURLFlag

func (f *PFDContentsFields) SetURLFlag()

SetURLFlag sets URL flag in PFDContents.

func (*PFDContentsFields) UnmarshalBinary

func (f *PFDContentsFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type PMFAddressInformationFields

type PMFAddressInformationFields struct {
	Flags                         uint8
	PMFIPv4Address                net.IP
	PMFIPv6Address                net.IP
	PMFPortFor3GPPAccess          uint16
	PMFPortForNon3GPPAccess       uint16
	PMFMACAddressFor3GPPAccess    net.HardwareAddr
	PMFMACAddressForNon3GPPAccess net.HardwareAddr
}

PMFAddressInformationFields represents a fields contained in PMFAddressInformation IE.

func NewPMFAddressInformationFields

func NewPMFAddressInformationFields(v4, v6 net.IP, port1, port2 uint16, mac1, mac2 net.HardwareAddr) *PMFAddressInformationFields

NewPMFAddressInformationFields creates a new NewPMFAddressInformationFields.

func ParsePMFAddressInformationFields

func ParsePMFAddressInformationFields(b []byte) (*PMFAddressInformationFields, error)

ParsePMFAddressInformationFields parses b into PMFAddressInformationFields.

func (*PMFAddressInformationFields) HasIPv4

func (f *PMFAddressInformationFields) HasIPv4() bool

HasIPv4 reports whether IPv4 flag is set.

func (*PMFAddressInformationFields) HasIPv6

func (f *PMFAddressInformationFields) HasIPv6() bool

HasIPv6 reports whether IPv6 flag is set.

func (*PMFAddressInformationFields) HasMAC

func (f *PMFAddressInformationFields) HasMAC() bool

HasMAC reports whether MAC flag is set.

func (*PMFAddressInformationFields) Marshal

func (f *PMFAddressInformationFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of PMFAddressInformationFields.

func (*PMFAddressInformationFields) MarshalLen

func (f *PMFAddressInformationFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*PMFAddressInformationFields) MarshalTo

func (f *PMFAddressInformationFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*PMFAddressInformationFields) SetIPv4Flag

func (f *PMFAddressInformationFields) SetIPv4Flag()

SetIPv4Flag sets IPv4 flag in PMFAddressInformation.

func (*PMFAddressInformationFields) SetIPv6Flag

func (f *PMFAddressInformationFields) SetIPv6Flag()

SetIPv6Flag sets IPv6 flag in PMFAddressInformation.

func (*PMFAddressInformationFields) SetMACFlag

func (f *PMFAddressInformationFields) SetMACFlag()

SetMACFlag sets MAC flag in PMFAddressInformation.

func (*PMFAddressInformationFields) UnmarshalBinary

func (f *PMFAddressInformationFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type PacketDelayThresholdsFields

type PacketDelayThresholdsFields struct {
	Flags                          uint8
	DownlinkPacketDelayThresholds  uint32
	UplinkPacketDelayThresholds    uint32
	RoundTripPacketDelayThresholds uint32
}

PacketDelayThresholdsFields represents a fields contained in PacketDelayThresholds IE.

func NewPacketDelayThresholdsFields

func NewPacketDelayThresholdsFields(flags uint8, dl, ul, rp uint32) *PacketDelayThresholdsFields

NewPacketDelayThresholdsFields creates a new NewPacketDelayThresholdsFields.

func ParsePacketDelayThresholdsFields

func ParsePacketDelayThresholdsFields(b []byte) (*PacketDelayThresholdsFields, error)

ParsePacketDelayThresholdsFields parses b into PacketDelayThresholdsFields.

func (*PacketDelayThresholdsFields) HasDL

func (f *PacketDelayThresholdsFields) HasDL() bool

HasDL reports whether DL flag is set.

func (*PacketDelayThresholdsFields) HasRP

func (f *PacketDelayThresholdsFields) HasRP() bool

HasRP reports whether RP flag is set.

func (*PacketDelayThresholdsFields) HasUL

func (f *PacketDelayThresholdsFields) HasUL() bool

HasUL reports whether UL flag is set.

func (*PacketDelayThresholdsFields) Marshal

func (f *PacketDelayThresholdsFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of PacketDelayThresholdsFields.

func (*PacketDelayThresholdsFields) MarshalLen

func (f *PacketDelayThresholdsFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*PacketDelayThresholdsFields) MarshalTo

func (f *PacketDelayThresholdsFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*PacketDelayThresholdsFields) SetDLFlag

func (f *PacketDelayThresholdsFields) SetDLFlag()

SetDLFlag sets DL flag in PacketDelayThresholds.

func (*PacketDelayThresholdsFields) SetRPFlag

func (f *PacketDelayThresholdsFields) SetRPFlag()

SetRPFlag sets RP flag in PacketDelayThresholds.

func (*PacketDelayThresholdsFields) SetULFlag

func (f *PacketDelayThresholdsFields) SetULFlag()

SetULFlag sets UL flag in PacketDelayThresholds.

func (*PacketDelayThresholdsFields) UnmarshalBinary

func (f *PacketDelayThresholdsFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type PacketRateFields

type PacketRateFields struct {
	Flags              uint8
	UplinkTimeUnit     uint8
	DownlinkTimeUnit   uint8
	UplinkPacketRate   uint16
	DownlinkPacketRate uint16
}

PacketRateFields represents a fields contained in PacketRate IE.

func NewPacketRateFields

func NewPacketRateFields(flags uint8, ulunit uint8, ulpackets uint16, dlunit uint8, dlpackets uint16) *PacketRateFields

NewPacketRateFields creates a new PacketRateFields.

func ParsePacketRateFields

func ParsePacketRateFields(b []byte) (*PacketRateFields, error)

ParsePacketRateFields parses b into PacketRateFields.

func (*PacketRateFields) Marshal

func (f *PacketRateFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of PacketRateFields.

func (*PacketRateFields) MarshalLen

func (f *PacketRateFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*PacketRateFields) MarshalTo

func (f *PacketRateFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*PacketRateFields) UnmarshalBinary

func (f *PacketRateFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type PacketRateStatusFields

type PacketRateStatusFields struct {
	Flags                                             uint8
	NumberOfRemainingUplinkPacketsAllowed             uint16
	NumberOfRemainingAdditionalUplinkPacketsAllowed   uint16
	NumberOfRemainingDownlinkPacketsAllowed           uint16
	NumberOfRemainingAdditionalDownlinkPacketsAllowed uint16
	RateControlStatusValidityTime                     time.Time
}

PacketRateStatusFields represents a f contained in PacketRateStatus IE.

func NewPacketRateStatusFields

func NewPacketRateStatusFields(flags uint8, ul, aul, dl, adl uint16, vtime time.Time) *PacketRateStatusFields

NewPacketRateStatusFields creates a new NewPacketRateStatusFields.

func ParsePacketRateStatusFields

func ParsePacketRateStatusFields(b []byte) (*PacketRateStatusFields, error)

ParsePacketRateStatusFields parses b into PacketRateStatusFields.

func (*PacketRateStatusFields) HasAPR

func (f *PacketRateStatusFields) HasAPR() bool

HasAPR reports whether APR flag is set.

func (*PacketRateStatusFields) HasDL

func (f *PacketRateStatusFields) HasDL() bool

HasDL reports whether DL flag is set.

func (*PacketRateStatusFields) HasUL

func (f *PacketRateStatusFields) HasUL() bool

HasUL reports whether UL flag is set.

func (*PacketRateStatusFields) Marshal

func (f *PacketRateStatusFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of PacketRateStatusFields.

func (*PacketRateStatusFields) MarshalLen

func (f *PacketRateStatusFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*PacketRateStatusFields) MarshalTo

func (f *PacketRateStatusFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*PacketRateStatusFields) SetAPRFlag

func (f *PacketRateStatusFields) SetAPRFlag()

SetAPRFlag sets APR flag in PacketRateStatus.

func (*PacketRateStatusFields) SetDLFlag

func (f *PacketRateStatusFields) SetDLFlag()

SetDLFlag sets DL flag in PacketRateStatus.

func (*PacketRateStatusFields) SetULFlag

func (f *PacketRateStatusFields) SetULFlag()

SetULFlag sets UL flag in PacketRateStatus.

func (*PacketRateStatusFields) UnmarshalBinary

func (f *PacketRateStatusFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type QoSMonitoringMeasurementFields

type QoSMonitoringMeasurementFields struct {
	Flags                uint8
	DownlinkPacketDelay  uint32
	UplinkPacketDelay    uint32
	RoundTripPacketDelay uint32
}

QoSMonitoringMeasurementFields represents a fields contained in QoSMonitoringMeasurement IE.

func NewQoSMonitoringMeasurementFields

func NewQoSMonitoringMeasurementFields(flags uint8, dl, ul, rp uint32) *QoSMonitoringMeasurementFields

NewQoSMonitoringMeasurementFields creates a new NewQoSMonitoringMeasurementFields.

func ParseQoSMonitoringMeasurementFields

func ParseQoSMonitoringMeasurementFields(b []byte) (*QoSMonitoringMeasurementFields, error)

ParseQoSMonitoringMeasurementFields parses b into QoSMonitoringMeasurementFields.

func (*QoSMonitoringMeasurementFields) HasDL

HasDL reports whether DL flag is set.

func (*QoSMonitoringMeasurementFields) HasPLMF

func (f *QoSMonitoringMeasurementFields) HasPLMF() bool

HasPLMF reports whether PLMF flag is set.

func (*QoSMonitoringMeasurementFields) HasRP

HasRP reports whether RP flag is set.

func (*QoSMonitoringMeasurementFields) HasUL

HasUL reports whether UL flag is set.

func (*QoSMonitoringMeasurementFields) Marshal

func (f *QoSMonitoringMeasurementFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of QoSMonitoringMeasurementFields.

func (*QoSMonitoringMeasurementFields) MarshalLen

func (f *QoSMonitoringMeasurementFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*QoSMonitoringMeasurementFields) MarshalTo

func (f *QoSMonitoringMeasurementFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*QoSMonitoringMeasurementFields) SetDLFlag

func (f *QoSMonitoringMeasurementFields) SetDLFlag()

SetDLFlag sets DL flag in QoSMonitoringMeasurement.

func (*QoSMonitoringMeasurementFields) SetPLMFFlag

func (f *QoSMonitoringMeasurementFields) SetPLMFFlag()

SetPLMFFlag sets PLMF flag in QoSMonitoringMeasurement.

func (*QoSMonitoringMeasurementFields) SetRPFlag

func (f *QoSMonitoringMeasurementFields) SetRPFlag()

SetRPFlag sets RP flag in QoSMonitoringMeasurement.

func (*QoSMonitoringMeasurementFields) SetULFlag

func (f *QoSMonitoringMeasurementFields) SetULFlag()

SetULFlag sets UL flag in QoSMonitoringMeasurement.

func (*QoSMonitoringMeasurementFields) UnmarshalBinary

func (f *QoSMonitoringMeasurementFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type RedirectInformationFields

type RedirectInformationFields struct {
	RedirectAddressType        uint8 // half octet
	ServerAddrLength           uint16
	RedirectServerAddress      string
	OtherServerAddrLength      uint16
	OtherRedirectServerAddress string
}

RedirectInformationFields represents a fields contained in RedirectInformation IE.

func NewRedirectInformationFields

func NewRedirectInformationFields(addrType uint8, addrs ...string) *RedirectInformationFields

NewRedirectInformationFields creates a new NewRedirectInformationFields.

You can put multiple addrs here, but the second one is used only when addrType is RedirectAddrIPv4AndIPv6. Third - nth addrs will never be used.

func ParseRedirectInformationFields

func ParseRedirectInformationFields(b []byte) (*RedirectInformationFields, error)

ParseRedirectInformationFields parses b into RedirectInformationFields.

func (*RedirectInformationFields) Marshal

func (f *RedirectInformationFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of RedirectInformationFields.

func (*RedirectInformationFields) MarshalLen

func (f *RedirectInformationFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*RedirectInformationFields) MarshalTo

func (f *RedirectInformationFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*RedirectInformationFields) UnmarshalBinary

func (f *RedirectInformationFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type RemoteGTPUPeerFields

type RemoteGTPUPeerFields struct {
	Flags                uint8
	IPv4Address          net.IP
	IPv6Address          net.IP
	DILength             uint16
	DestinationInterface uint8
	NILength             uint16
	NetworkInstance      string
}

RemoteGTPUPeerFields represents a fields contained in RemoteGTPUPeer IE.

func NewRemoteGTPUPeerFields

func NewRemoteGTPUPeerFields(flags uint8, v4, v6 string, di uint8, ni string) *RemoteGTPUPeerFields

NewRemoteGTPUPeerFields creates a new RemoteGTPUPeerFields.

func ParseRemoteGTPUPeerFields

func ParseRemoteGTPUPeerFields(b []byte) (*RemoteGTPUPeerFields, error)

ParseRemoteGTPUPeerFields parses b into RemoteGTPUPeerFields.

func (*RemoteGTPUPeerFields) Marshal

func (f *RemoteGTPUPeerFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of RemoteGTPUPeerFields.

func (*RemoteGTPUPeerFields) MarshalLen

func (f *RemoteGTPUPeerFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*RemoteGTPUPeerFields) MarshalTo

func (f *RemoteGTPUPeerFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*RemoteGTPUPeerFields) UnmarshalBinary

func (f *RemoteGTPUPeerFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type SDFFilterFields

type SDFFilterFields struct {
	Flags                  uint8
	FDLength               uint16
	FlowDescription        string
	ToSTrafficClass        string // 2 octets
	SecurityParameterIndex string // 4 octets
	FlowLabel              string // 3 octets
	SDFFilterID            uint32
}

SDFFilterFields represents a fields contained in SDFFilter IE.

func NewSDFFilterFields

func NewSDFFilterFields(fd, ttc, spi, fl string, fid uint32) *SDFFilterFields

NewSDFFilterFields creates a new NewSDFFilterFields.

func ParseSDFFilterFields

func ParseSDFFilterFields(b []byte) (*SDFFilterFields, error)

ParseSDFFilterFields parses b into SDFFilterFields.

func (*SDFFilterFields) HasBID

func (f *SDFFilterFields) HasBID() bool

HasBID reports whether BID flag is set.

func (*SDFFilterFields) HasFD

func (f *SDFFilterFields) HasFD() bool

HasFD reports whether FD flag is set.

func (*SDFFilterFields) HasFL

func (f *SDFFilterFields) HasFL() bool

HasFL reports whether FL flag is set.

func (*SDFFilterFields) HasSPI

func (f *SDFFilterFields) HasSPI() bool

HasSPI reports whether SPI flag is set.

func (*SDFFilterFields) HasTTC

func (f *SDFFilterFields) HasTTC() bool

HasTTC reports whether TTC flag is set.

func (*SDFFilterFields) Marshal

func (f *SDFFilterFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of SDFFilterFields.

func (*SDFFilterFields) MarshalLen

func (f *SDFFilterFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*SDFFilterFields) MarshalTo

func (f *SDFFilterFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*SDFFilterFields) SetBIDFlag

func (f *SDFFilterFields) SetBIDFlag()

SetBIDFlag sets BID flag in SDFFilter.

func (*SDFFilterFields) SetFDFlag

func (f *SDFFilterFields) SetFDFlag()

SetFDFlag sets FD flag in SDFFilter.

func (*SDFFilterFields) SetFLFlag

func (f *SDFFilterFields) SetFLFlag()

SetFLFlag sets FL flag in SDFFilter.

func (*SDFFilterFields) SetSPIFlag

func (f *SDFFilterFields) SetSPIFlag()

SetSPIFlag sets SPI flag in SDFFilter.

func (*SDFFilterFields) SetTTCFlag

func (f *SDFFilterFields) SetTTCFlag()

SetTTCFlag sets TTC flag in SDFFilter.

func (*SDFFilterFields) UnmarshalBinary

func (f *SDFFilterFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type STAGFields

type STAGFields struct {
	Flags   uint8
	PCP     uint8  // 3 bit
	DEIFlag uint8  // 1 bit
	CVID    uint16 // 12 bit
}

STAGFields represents a fields contained in STAG IE.

func NewSTAGFields

func NewSTAGFields(flags, pcp, deiFlag uint8, cvid uint16) *STAGFields

NewSTAGFields creates a new NewSTAGFields.

func ParseSTAGFields

func ParseSTAGFields(b []byte) (*STAGFields, error)

ParseSTAGFields parses b into STAGFields.

func (*STAGFields) HasDEI

func (f *STAGFields) HasDEI() bool

HasDEI reports whether DEI flag is set.

func (*STAGFields) HasPCP

func (f *STAGFields) HasPCP() bool

HasPCP reports whether PCP flag is set.

func (*STAGFields) HasVID

func (f *STAGFields) HasVID() bool

HasVID reports whether VID flag is set.

func (*STAGFields) Marshal

func (f *STAGFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of STAGFields.

func (*STAGFields) MarshalLen

func (f *STAGFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*STAGFields) MarshalTo

func (f *STAGFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*STAGFields) SetDEIFlag

func (f *STAGFields) SetDEIFlag()

SetDEIFlag sets DEI flag in STAG.

func (*STAGFields) SetPCPFlag

func (f *STAGFields) SetPCPFlag()

SetPCPFlag sets PCP flag in STAG.

func (*STAGFields) SetVIDFlag

func (f *STAGFields) SetVIDFlag()

SetVIDFlag sets VID flag in STAG.

func (*STAGFields) UnmarshalBinary

func (f *STAGFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type SourceIPAddressFields

type SourceIPAddressFields struct {
	Flags            uint8
	IPv4Address      net.IP
	IPv6Address      net.IP
	MaskPrefixLength uint8
}

SourceIPAddressFields represents a fields contained in SourceIPAddress IE.

func NewSourceIPAddressFields

func NewSourceIPAddressFields(v4, v6 net.IP, mpl uint8) *SourceIPAddressFields

NewSourceIPAddressFields creates a new NewSourceIPAddressFields.

func ParseSourceIPAddressFields

func ParseSourceIPAddressFields(b []byte) (*SourceIPAddressFields, error)

ParseSourceIPAddressFields parses b into SourceIPAddressFields.

func (*SourceIPAddressFields) HasIPv4

func (f *SourceIPAddressFields) HasIPv4() bool

HasIPv4 reports whether IPv4 flag is set.

func (*SourceIPAddressFields) HasIPv6

func (f *SourceIPAddressFields) HasIPv6() bool

HasIPv6 reports whether IPv6 flag is set.

func (*SourceIPAddressFields) HasMPL

func (f *SourceIPAddressFields) HasMPL() bool

HasMPL reports whether MPL flag is set.

func (*SourceIPAddressFields) Marshal

func (f *SourceIPAddressFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of SourceIPAddressFields.

func (*SourceIPAddressFields) MarshalLen

func (f *SourceIPAddressFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*SourceIPAddressFields) MarshalTo

func (f *SourceIPAddressFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*SourceIPAddressFields) SetIPv4Flag

func (f *SourceIPAddressFields) SetIPv4Flag()

SetIPv4Flag sets IPv4 flag in SourceIPAddress.

func (*SourceIPAddressFields) SetIPv6Flag

func (f *SourceIPAddressFields) SetIPv6Flag()

SetIPv6Flag sets IPv6 flag in SourceIPAddress.

func (*SourceIPAddressFields) SetMPLFlag

func (f *SourceIPAddressFields) SetMPLFlag()

SetMPLFlag sets MPL flag in SourceIPAddress.

func (*SourceIPAddressFields) UnmarshalBinary

func (f *SourceIPAddressFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type SubsequentVolumeQuotaFields

type SubsequentVolumeQuotaFields struct {
	Flags          uint8
	TotalVolume    uint64
	UplinkVolume   uint64
	DownlinkVolume uint64
}

SubsequentVolumeQuotaFields represents a fields contained in SubsequentVolumeQuota IE.

func NewSubsequentVolumeQuotaFields

func NewSubsequentVolumeQuotaFields(flags uint8, tvol, uvol, dvol uint64) *SubsequentVolumeQuotaFields

NewSubsequentVolumeQuotaFields creates a new NewSubsequentVolumeQuotaFields.

func ParseSubsequentVolumeQuotaFields

func ParseSubsequentVolumeQuotaFields(b []byte) (*SubsequentVolumeQuotaFields, error)

ParseSubsequentVolumeQuotaFields parses b into SubsequentVolumeQuotaFields.

func (*SubsequentVolumeQuotaFields) HasDLVOL

func (f *SubsequentVolumeQuotaFields) HasDLVOL() bool

HasDLVOL reports whether DLVOL flag is set.

func (*SubsequentVolumeQuotaFields) HasTOVOL

func (f *SubsequentVolumeQuotaFields) HasTOVOL() bool

HasTOVOL reports whether TOVOL flag is set.

func (*SubsequentVolumeQuotaFields) HasULVOL

func (f *SubsequentVolumeQuotaFields) HasULVOL() bool

HasULVOL reports whether ULVOL flag is set.

func (*SubsequentVolumeQuotaFields) Marshal

func (f *SubsequentVolumeQuotaFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of SubsequentVolumeQuotaFields.

func (*SubsequentVolumeQuotaFields) MarshalLen

func (f *SubsequentVolumeQuotaFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*SubsequentVolumeQuotaFields) MarshalTo

func (f *SubsequentVolumeQuotaFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*SubsequentVolumeQuotaFields) SetDLVOLFlag

func (f *SubsequentVolumeQuotaFields) SetDLVOLFlag()

SetDLVOLFlag sets DLVOL flag in SubsequentVolumeQuota.

func (*SubsequentVolumeQuotaFields) SetTOVOLFlag

func (f *SubsequentVolumeQuotaFields) SetTOVOLFlag()

SetTOVOLFlag sets TOVOL flag in SubsequentVolumeQuota.

func (*SubsequentVolumeQuotaFields) SetULVOLFlag

func (f *SubsequentVolumeQuotaFields) SetULVOLFlag()

SetULVOLFlag sets ULVOL flag in SubsequentVolumeQuota.

func (*SubsequentVolumeQuotaFields) UnmarshalBinary

func (f *SubsequentVolumeQuotaFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type SubsequentVolumeThresholdFields

type SubsequentVolumeThresholdFields struct {
	Flags          uint8
	TotalVolume    uint64
	UplinkVolume   uint64
	DownlinkVolume uint64
}

SubsequentVolumeThresholdFields represents a fields contained in SubsequentVolumeThreshold IE.

func NewSubsequentVolumeThresholdFields

func NewSubsequentVolumeThresholdFields(flags uint8, tvol, uvol, dvol uint64) *SubsequentVolumeThresholdFields

NewSubsequentVolumeThresholdFields creates a new NewSubsequentVolumeThresholdFields.

func ParseSubsequentVolumeThresholdFields

func ParseSubsequentVolumeThresholdFields(b []byte) (*SubsequentVolumeThresholdFields, error)

ParseSubsequentVolumeThresholdFields parses b into SubsequentVolumeThresholdFields.

func (*SubsequentVolumeThresholdFields) HasDLVOL

func (f *SubsequentVolumeThresholdFields) HasDLVOL() bool

HasDLVOL reports whether DLVOL flag is set.

func (*SubsequentVolumeThresholdFields) HasTOVOL

func (f *SubsequentVolumeThresholdFields) HasTOVOL() bool

HasTOVOL reports whether TOVOL flag is set.

func (*SubsequentVolumeThresholdFields) HasULVOL

func (f *SubsequentVolumeThresholdFields) HasULVOL() bool

HasULVOL reports whether ULVOL flag is set.

func (*SubsequentVolumeThresholdFields) Marshal

func (f *SubsequentVolumeThresholdFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of SubsequentVolumeThresholdFields.

func (*SubsequentVolumeThresholdFields) MarshalLen

func (f *SubsequentVolumeThresholdFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*SubsequentVolumeThresholdFields) MarshalTo

func (f *SubsequentVolumeThresholdFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*SubsequentVolumeThresholdFields) SetDLVOLFlag

func (f *SubsequentVolumeThresholdFields) SetDLVOLFlag()

SetDLVOLFlag sets DLVOL flag in SubsequentVolumeThreshold.

func (*SubsequentVolumeThresholdFields) SetTOVOLFlag

func (f *SubsequentVolumeThresholdFields) SetTOVOLFlag()

SetTOVOLFlag sets TOVOL flag in SubsequentVolumeThreshold.

func (*SubsequentVolumeThresholdFields) SetULVOLFlag

func (f *SubsequentVolumeThresholdFields) SetULVOLFlag()

SetULVOLFlag sets ULVOL flag in SubsequentVolumeThreshold.

func (*SubsequentVolumeThresholdFields) UnmarshalBinary

func (f *SubsequentVolumeThresholdFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type TraceInformationFields

type TraceInformationFields struct {
	MCC, MNC, TraceID                      string
	TriggeringEventsLength                 uint8
	TriggeringEvents                       []byte
	SessionTraceDepth                      uint8
	ListOfInterfacesLength                 uint8
	ListOfInterfaces                       []byte
	IPAddressOfTraceCollectionEntityLength uint8
	IPAddressOfTraceCollectionEntity       net.IP
}

TraceInformationFields represents a fields contained in TraceInformation IE.

func NewTraceInformationFields

func NewTraceInformationFields(mcc, mnc, id string, events []byte, depth uint8, interfaces []byte, ip net.IP) *TraceInformationFields

NewTraceInformationFields creates a new NewTraceInformationFields.

func ParseTraceInformationFields

func ParseTraceInformationFields(b []byte) (*TraceInformationFields, error)

ParseTraceInformationFields parses b into TraceInformationFields.

func (*TraceInformationFields) Marshal

func (f *TraceInformationFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of TraceInformationFields.

func (*TraceInformationFields) MarshalLen

func (f *TraceInformationFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*TraceInformationFields) MarshalTo

func (f *TraceInformationFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*TraceInformationFields) UnmarshalBinary

func (f *TraceInformationFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type UEIPAddressFields

type UEIPAddressFields struct {
	Flags                    uint8
	IPv4Address              net.IP
	IPv6Address              net.IP
	IPv6PrefixDelegationBits uint8
	IPv6PrefixLength         uint8
}

UEIPAddressFields represents a fields contained in UEIPAddress IE.

func NewUEIPAddressFields

func NewUEIPAddressFields(flags uint8, v4, v6 string, v6d, v6pl uint8) *UEIPAddressFields

NewUEIPAddressFields creates a new UEIPAddressFields.

func ParseUEIPAddressFields

func ParseUEIPAddressFields(b []byte) (*UEIPAddressFields, error)

ParseUEIPAddressFields parses b into UEIPAddressFields.

func (*UEIPAddressFields) Marshal

func (f *UEIPAddressFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of UEIPAddressFields.

func (*UEIPAddressFields) MarshalLen

func (f *UEIPAddressFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*UEIPAddressFields) MarshalTo

func (f *UEIPAddressFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*UEIPAddressFields) UnmarshalBinary

func (f *UEIPAddressFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type UELinkSpecificIPAddressFields

type UELinkSpecificIPAddressFields struct {
	Flags                                     uint8
	UELinkSpecificIPv4AddressFor3GPPAccess    net.IP
	UELinkSpecificIPv6AddressFor3GPPAccess    net.IP
	UELinkSpecificIPv4AddressForNon3GPPAccess net.IP
	UELinkSpecificIPv6AddressForNon3GPPAccess net.IP
}

UELinkSpecificIPAddressFields represents a fields contained in UELinkSpecificIPAddress IE.

func NewUELinkSpecificIPAddressFields

func NewUELinkSpecificIPAddressFields(v4, v6, nv4, nv6 net.IP) *UELinkSpecificIPAddressFields

NewUELinkSpecificIPAddressFields creates a new NewUELinkSpecificIPAddressFields.

func ParseUELinkSpecificIPAddressFields

func ParseUELinkSpecificIPAddressFields(b []byte) (*UELinkSpecificIPAddressFields, error)

ParseUELinkSpecificIPAddressFields parses b into UELinkSpecificIPAddressFields.

func (*UELinkSpecificIPAddressFields) HasIPv4

func (f *UELinkSpecificIPAddressFields) HasIPv4() bool

HasIPv4 reports whether IPv4 flag is set.

func (*UELinkSpecificIPAddressFields) HasIPv6

func (f *UELinkSpecificIPAddressFields) HasIPv6() bool

HasIPv6 reports whether IPv6 flag is set.

func (*UELinkSpecificIPAddressFields) HasNV4

func (f *UELinkSpecificIPAddressFields) HasNV4() bool

HasNV4 reports whether NV4 flag is set.

func (*UELinkSpecificIPAddressFields) HasNV6

func (f *UELinkSpecificIPAddressFields) HasNV6() bool

HasNV6 reports whether NV6 flag is set.

func (*UELinkSpecificIPAddressFields) Marshal

func (f *UELinkSpecificIPAddressFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of UELinkSpecificIPAddressFields.

func (*UELinkSpecificIPAddressFields) MarshalLen

func (f *UELinkSpecificIPAddressFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*UELinkSpecificIPAddressFields) MarshalTo

func (f *UELinkSpecificIPAddressFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*UELinkSpecificIPAddressFields) SetIPv4Flag

func (f *UELinkSpecificIPAddressFields) SetIPv4Flag()

SetIPv4Flag sets IPv4 flag in UELinkSpecificIPAddress.

func (*UELinkSpecificIPAddressFields) SetIPv6Flag

func (f *UELinkSpecificIPAddressFields) SetIPv6Flag()

SetIPv6Flag sets IPv6 flag in UELinkSpecificIPAddress.

func (*UELinkSpecificIPAddressFields) SetNV4Flag

func (f *UELinkSpecificIPAddressFields) SetNV4Flag()

SetNV4Flag sets NV4 flag in UELinkSpecificIPAddress.

func (*UELinkSpecificIPAddressFields) SetNV6Flag

func (f *UELinkSpecificIPAddressFields) SetNV6Flag()

SetNV6Flag sets NV6 flag in UELinkSpecificIPAddress.

func (*UELinkSpecificIPAddressFields) UnmarshalBinary

func (f *UELinkSpecificIPAddressFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type UserIDFields

type UserIDFields struct {
	Flags        uint8
	IMSILength   uint8
	IMSI         string
	IMEILength   uint8
	IMEI         string
	MSISDNLength uint8
	MSISDN       string
	NAILength    uint8
	NAI          string
}

UserIDFields represents a fields contained in UserID IE.

func NewUserIDFields

func NewUserIDFields(flags uint8, imsi, imei, msisdn, nai string) *UserIDFields

NewUserIDFields creates a new NewUserIDFields.

func ParseUserIDFields

func ParseUserIDFields(b []byte) (*UserIDFields, error)

ParseUserIDFields parses b into UserIDFields.

func (*UserIDFields) Marshal

func (f *UserIDFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of UserIDFields.

func (*UserIDFields) MarshalLen

func (f *UserIDFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*UserIDFields) MarshalTo

func (f *UserIDFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*UserIDFields) UnmarshalBinary

func (f *UserIDFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type UserPlaneIPResourceInformationFields

type UserPlaneIPResourceInformationFields struct {
	Flags           uint8
	TEIDRange       uint8
	IPv4Address     net.IP
	IPv6Address     net.IP
	NetworkInstance string
	SourceInterface uint8
}

UserPlaneIPResourceInformationFields represents a fields contained in UserPlaneIPResourceInformation IE.

func NewUserPlaneIPResourceInformationFields

func NewUserPlaneIPResourceInformationFields(flags uint8, tRange uint8, v4, v6, ni string, si uint8) *UserPlaneIPResourceInformationFields

NewUserPlaneIPResourceInformationFields creates a new UserPlaneIPResourceInformationFields.

func ParseUserPlaneIPResourceInformationFields

func ParseUserPlaneIPResourceInformationFields(b []byte) (*UserPlaneIPResourceInformationFields, error)

ParseUserPlaneIPResourceInformationFields parses b into UserPlaneIPResourceInformationFields.

func (*UserPlaneIPResourceInformationFields) Marshal

Marshal returns the serialized bytes of UserPlaneIPResourceInformationFields.

func (*UserPlaneIPResourceInformationFields) MarshalLen

func (f *UserPlaneIPResourceInformationFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*UserPlaneIPResourceInformationFields) MarshalTo

MarshalTo puts the byte sequence in the byte array given as b.

func (*UserPlaneIPResourceInformationFields) UnmarshalBinary

func (f *UserPlaneIPResourceInformationFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into UserPlaneIPResourceInformationFields.

type VolumeMeasurementFields

type VolumeMeasurementFields struct {
	Flags                   uint8
	TotalVolume             uint64
	UplinkVolume            uint64
	DownlinkVolume          uint64
	TotalNumberOfPackets    uint64
	UplinkNumberOfPackets   uint64
	DownlinkNumberOfPackets uint64
}

VolumeMeasurementFields represents a fields contained in VolumeMeasurement IE.

func NewVolumeMeasurementFields

func NewVolumeMeasurementFields(flags uint8, tvol, uvol, dvol, tpkt, upkt, dpkt uint64) *VolumeMeasurementFields

NewVolumeMeasurementFields creates a new NewVolumeMeasurementFields.

func ParseVolumeMeasurementFields

func ParseVolumeMeasurementFields(b []byte) (*VolumeMeasurementFields, error)

ParseVolumeMeasurementFields parses b into VolumeMeasurementFields.

func (*VolumeMeasurementFields) HasDLNOP

func (f *VolumeMeasurementFields) HasDLNOP() bool

HasDLNOP reports whether DLNOP flag is set.

func (*VolumeMeasurementFields) HasDLVOL

func (f *VolumeMeasurementFields) HasDLVOL() bool

HasDLVOL reports whether DLVOL flag is set.

func (*VolumeMeasurementFields) HasTONOP

func (f *VolumeMeasurementFields) HasTONOP() bool

HasTONOP reports whether TONOP flag is set.

func (*VolumeMeasurementFields) HasTOVOL

func (f *VolumeMeasurementFields) HasTOVOL() bool

HasTOVOL reports whether TOVOL flag is set.

func (*VolumeMeasurementFields) HasULNOP

func (f *VolumeMeasurementFields) HasULNOP() bool

HasULNOP reports whether ULNOP flag is set.

func (*VolumeMeasurementFields) HasULVOL

func (f *VolumeMeasurementFields) HasULVOL() bool

HasULVOL reports whether ULVOL flag is set.

func (*VolumeMeasurementFields) Marshal

func (f *VolumeMeasurementFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of VolumeMeasurementFields.

func (*VolumeMeasurementFields) MarshalLen

func (f *VolumeMeasurementFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*VolumeMeasurementFields) MarshalTo

func (f *VolumeMeasurementFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*VolumeMeasurementFields) SetDLNOPFlag

func (f *VolumeMeasurementFields) SetDLNOPFlag()

SetDLNOPFlag sets DLNOP flag in VolumeMeasurement.

func (*VolumeMeasurementFields) SetDLVOLFlag

func (f *VolumeMeasurementFields) SetDLVOLFlag()

SetDLVOLFlag sets DLVOL flag in VolumeMeasurement.

func (*VolumeMeasurementFields) SetTONOPFlag

func (f *VolumeMeasurementFields) SetTONOPFlag()

SetTONOPFlag sets TONOP flag in VolumeMeasurement.

func (*VolumeMeasurementFields) SetTOVOLFlag

func (f *VolumeMeasurementFields) SetTOVOLFlag()

SetTOVOLFlag sets TOVOL flag in VolumeMeasurement.

func (*VolumeMeasurementFields) SetULNOPFlag

func (f *VolumeMeasurementFields) SetULNOPFlag()

SetULNOPFlag sets ULNOP flag in VolumeMeasurement.

func (*VolumeMeasurementFields) SetULVOLFlag

func (f *VolumeMeasurementFields) SetULVOLFlag()

SetULVOLFlag sets ULVOL flag in VolumeMeasurement.

func (*VolumeMeasurementFields) UnmarshalBinary

func (f *VolumeMeasurementFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type VolumeQuotaFields

type VolumeQuotaFields struct {
	Flags          uint8
	TotalVolume    uint64
	UplinkVolume   uint64
	DownlinkVolume uint64
}

VolumeQuotaFields represents a fields contained in VolumeQuota IE.

func NewVolumeQuotaFields

func NewVolumeQuotaFields(flags uint8, tvol, uvol, dvol uint64) *VolumeQuotaFields

NewVolumeQuotaFields creates a new NewVolumeQuotaFields.

func ParseVolumeQuotaFields

func ParseVolumeQuotaFields(b []byte) (*VolumeQuotaFields, error)

ParseVolumeQuotaFields parses b into VolumeQuotaFields.

func (*VolumeQuotaFields) HasDLVOL

func (f *VolumeQuotaFields) HasDLVOL() bool

HasDLVOL reports whether DLVOL flag is set.

func (*VolumeQuotaFields) HasTOVOL

func (f *VolumeQuotaFields) HasTOVOL() bool

HasTOVOL reports whether TOVOL flag is set.

func (*VolumeQuotaFields) HasULVOL

func (f *VolumeQuotaFields) HasULVOL() bool

HasULVOL reports whether ULVOL flag is set.

func (*VolumeQuotaFields) Marshal

func (f *VolumeQuotaFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of VolumeQuotaFields.

func (*VolumeQuotaFields) MarshalLen

func (f *VolumeQuotaFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*VolumeQuotaFields) MarshalTo

func (f *VolumeQuotaFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*VolumeQuotaFields) SetDLVOLFlag

func (f *VolumeQuotaFields) SetDLVOLFlag()

SetDLVOLFlag sets DLVOL flag in VolumeQuota.

func (*VolumeQuotaFields) SetTOVOLFlag

func (f *VolumeQuotaFields) SetTOVOLFlag()

SetTOVOLFlag sets TOVOL flag in VolumeQuota.

func (*VolumeQuotaFields) SetULVOLFlag

func (f *VolumeQuotaFields) SetULVOLFlag()

SetULVOLFlag sets ULVOL flag in VolumeQuota.

func (*VolumeQuotaFields) UnmarshalBinary

func (f *VolumeQuotaFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

type VolumeThresholdFields

type VolumeThresholdFields struct {
	Flags          uint8
	TotalVolume    uint64
	UplinkVolume   uint64
	DownlinkVolume uint64
}

VolumeThresholdFields represents a fields contained in VolumeThreshold IE.

func NewVolumeThresholdFields

func NewVolumeThresholdFields(flags uint8, tvol, uvol, dvol uint64) *VolumeThresholdFields

NewVolumeThresholdFields creates a new NewVolumeThresholdFields.

func ParseVolumeThresholdFields

func ParseVolumeThresholdFields(b []byte) (*VolumeThresholdFields, error)

ParseVolumeThresholdFields parses b into VolumeThresholdFields.

func (*VolumeThresholdFields) HasDLVOL

func (f *VolumeThresholdFields) HasDLVOL() bool

HasDLVOL reports whether DLVOL flag is set.

func (*VolumeThresholdFields) HasTOVOL

func (f *VolumeThresholdFields) HasTOVOL() bool

HasTOVOL reports whether TOVOL flag is set.

func (*VolumeThresholdFields) HasULVOL

func (f *VolumeThresholdFields) HasULVOL() bool

HasULVOL reports whether ULVOL flag is set.

func (*VolumeThresholdFields) Marshal

func (f *VolumeThresholdFields) Marshal() ([]byte, error)

Marshal returns the serialized bytes of VolumeThresholdFields.

func (*VolumeThresholdFields) MarshalLen

func (f *VolumeThresholdFields) MarshalLen() int

MarshalLen returns field length in integer.

func (*VolumeThresholdFields) MarshalTo

func (f *VolumeThresholdFields) MarshalTo(b []byte) error

MarshalTo puts the byte sequence in the byte array given as b.

func (*VolumeThresholdFields) SetDLVOLFlag

func (f *VolumeThresholdFields) SetDLVOLFlag()

SetDLVOLFlag sets DLVOL flag in VolumeThreshold.

func (*VolumeThresholdFields) SetTOVOLFlag

func (f *VolumeThresholdFields) SetTOVOLFlag()

SetTOVOLFlag sets TOVOL flag in VolumeThreshold.

func (*VolumeThresholdFields) SetULVOLFlag

func (f *VolumeThresholdFields) SetULVOLFlag()

SetULVOLFlag sets ULVOL flag in VolumeThreshold.

func (*VolumeThresholdFields) UnmarshalBinary

func (f *VolumeThresholdFields) UnmarshalBinary(b []byte) error

UnmarshalBinary parses b into IE.

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL