Documentation
¶
Index ¶
- Constants
- Variables
- func NewUpfInterfaceMap(ifaces []config.Interface) map[netip.Addr]*UpfInterface
- type Fteid
- type PduSessionN3
- type Pfcprules
- type SessionsMap
- type Slice
- type SlicesMap
- type Smf
- func (smf *Smf) CreateSessionDownlink(ctx context.Context, ueCtrl jsonapi.ControlURI, dnn string, gnb netip.Addr, ...) (*PduSessionN3, error)
- func (smf *Smf) CreateSessionUplink(ctx context.Context, ueCtrl jsonapi.ControlURI, gnbCtrl jsonapi.ControlURI, ...) (*PduSessionN3, error)
- func (smf *Smf) Start(ctx context.Context) error
- func (smf *Smf) WaitShutdown(ctx context.Context) error
- type TEIDsPool
- type UeIpPool
- type Upf
- func (upf *Upf) Associate(a pfcpapi.PFCPAssociationInterface)
- func (upf *Upf) CreateSession(ue netip.Addr) error
- func (upf *Upf) CreateUplinkAnchor(ctx context.Context, ueIp netip.Addr, dnn string, listenInterface netip.Addr) (*Fteid, error)
- func (upf *Upf) CreateUplinkAnchorWithFteid(ueIp netip.Addr, dnn string, listenFteid *Fteid)
- func (upf *Upf) CreateUplinkIntermediate(ctx context.Context, ueIp netip.Addr, dnn string, listenInterface netip.Addr, ...) (*Fteid, error)
- func (upf *Upf) CreateUplinkIntermediateWithFteid(ueIp netip.Addr, dnn string, listenFteid *Fteid, forwardFteid *Fteid)
- func (upf *Upf) GetN3() (netip.Addr, error)
- func (upf *Upf) GetN9() (netip.Addr, error)
- func (upf *Upf) NextListenFteid(ctx context.Context, listenInterface netip.Addr) (*Fteid, error)
- func (upf *Upf) Rules(ueIp netip.Addr) *Pfcprules
- func (upf *Upf) UpdateDownlinkAnchor(ueIp netip.Addr, dnn string, forwardFteid *Fteid)
- func (upf *Upf) UpdateDownlinkIntermediate(ctx context.Context, ueIp netip.Addr, dnn string, listenInterface netip.Addr, ...) (*Fteid, error)
- func (upf *Upf) UpdateDownlinkIntermediateWithFteid(ueIp netip.Addr, dnn string, listenFteid *Fteid, forwardFteid *Fteid)
- func (upf *Upf) UpdateSession(ue netip.Addr) error
- type UpfInterface
- type UpfPath
- type UpfsMap
Constants ¶
View Source
const ( FteidTypeIPv4 = 0x01 UEIpAddrTypeIPv4 = 0x02 OuterHeaderRemoveGtpuUdpIpv4 = 0x00 ApplyActionForw = 0x02 OuterHeaderCreationGtpuUdpIpv4 = 0x0100 )
PFCP Constants
Variables ¶
View Source
var ( ErrDnnNotFound = errors.New("DNN not found") ErrPDUSessionAlreadyExists = errors.New("PDU Session already exists") ErrPDUSessionNotFound = errors.New("PDU Session not found") ErrUpfNotAssociated = errors.New("UPF not associated") ErrUpfNotFound = errors.New("UPF not found") ErrInterfaceNotFound = errors.New("interface not found") ErrNoPFCPRule = errors.New("no PFCP rule to push") ErrNoIpAvailableInPool = errors.New("no IP address available in pool") )
Functions ¶
func NewUpfInterfaceMap ¶
func NewUpfInterfaceMap(ifaces []config.Interface) map[netip.Addr]*UpfInterface
Types ¶
type PduSessionN3 ¶
type Pfcprules ¶
func NewPfcpRules ¶
func NewPfcpRules() *Pfcprules
type SessionsMap ¶
type Smf ¶
type Smf struct {
// contains filtered or unexported fields
}
func (*Smf) CreateSessionDownlink ¶
func (*Smf) CreateSessionUplink ¶
func (smf *Smf) CreateSessionUplink(ctx context.Context, ueCtrl jsonapi.ControlURI, gnbCtrl jsonapi.ControlURI, dnn string) (*PduSessionN3, error)
type TEIDsPool ¶
func NewTEIDsPool ¶
func NewTEIDsPool() *TEIDsPool
type UeIpPool ¶
type UeIpPool struct {
// contains filtered or unexported fields
}
func NewUeIpPool ¶
type Upf ¶
type Upf struct {
// contains filtered or unexported fields
}
func (*Upf) Associate ¶
func (upf *Upf) Associate(a pfcpapi.PFCPAssociationInterface)
func (*Upf) CreateUplinkAnchor ¶
func (*Upf) CreateUplinkAnchorWithFteid ¶
func (*Upf) CreateUplinkIntermediate ¶
func (*Upf) CreateUplinkIntermediateWithFteid ¶
func (*Upf) NextListenFteid ¶
func (*Upf) UpdateDownlinkAnchor ¶
func (*Upf) UpdateDownlinkIntermediate ¶
func (*Upf) UpdateDownlinkIntermediateWithFteid ¶
type UpfInterface ¶
func NewUpfInterface ¶
func NewUpfInterface(t string) *UpfInterface
func (*UpfInterface) IsN3 ¶
func (iface *UpfInterface) IsN3() bool
func (*UpfInterface) IsN9 ¶
func (iface *UpfInterface) IsN9() bool
Click to show internal directories.
Click to hide internal directories.