Documentation
¶
Index ¶
- Constants
- Variables
- func NewUpfInterfaceMap(ifaces []config.Interface) map[netip.Addr]*UpfInterface
- type AreasMap
- type PduSessionN3
- type Pfcprules
- type Sessions
- type SessionsMap
- type Slice
- type SlicesMap
- type Smf
- func (smf *Smf) Context() context.Context
- func (smf *Smf) CreateSessionDownlink(ueCtrl jsonapi.ControlURI, ueIp netip.Addr, dnn string, ...) (*PduSessionN3, error)
- func (smf *Smf) CreateSessionDownlinkContext(ctx context.Context, ueCtrl jsonapi.ControlURI, ueIp netip.Addr, dnn string, ...) (*PduSessionN3, error)
- func (smf *Smf) CreateSessionUplink(ueCtrl jsonapi.ControlURI, gnbCtrl jsonapi.ControlURI, dnn string) (*PduSessionN3, error)
- func (smf *Smf) CreateSessionUplinkContext(ctx context.Context, ueCtrl jsonapi.ControlURI, gnbCtrl jsonapi.ControlURI, ...) (*PduSessionN3, error)
- func (smf *Smf) GetSessionDownlinkFteid(ueCtrl jsonapi.ControlURI, ueAddr netip.Addr, dnn string) (*jsonapi.Fteid, error)
- func (smf *Smf) GetSessionUplinkFteid(ueCtrl jsonapi.ControlURI, ueAddr netip.Addr, dnn string) (*jsonapi.Fteid, error)
- func (smf *Smf) Start(ctx context.Context) error
- func (smf *Smf) StoreNextDownlinkFteid(ueCtrl jsonapi.ControlURI, ueAddr netip.Addr, dnn string, fteid *jsonapi.Fteid) error
- func (smf *Smf) UpdateSessionDownlink(ueCtrl jsonapi.ControlURI, ueAddr netip.Addr, dnn string, ...) error
- func (smf *Smf) UpdateSessionDownlinkContext(ctx context.Context, ueCtrl jsonapi.ControlURI, ueAddr netip.Addr, dnn string, ...) error
- func (smf *Smf) WaitShutdown(ctx context.Context) error
- type TEIDsPool
- type UeIpPool
- type Upf
- func (upf *Upf) Associate(ctx context.Context, a pfcpapi.PFCPAssociationInterface) error
- func (upf *Upf) CreateSession(ue netip.Addr) error
- func (upf *Upf) CreateUplinkAnchor(ueIp netip.Addr, dnn string, listenInterface netip.Addr) (*jsonapi.Fteid, error)
- func (upf *Upf) CreateUplinkAnchorContext(ctx context.Context, ueIp netip.Addr, dnn string, listenInterface netip.Addr) (*jsonapi.Fteid, error)
- func (upf *Upf) CreateUplinkAnchorWithFteid(ueIp netip.Addr, dnn string, listenFteid *jsonapi.Fteid)
- func (upf *Upf) CreateUplinkIntermediate(ueIp netip.Addr, dnn string, listenInterface netip.Addr, ...) (*jsonapi.Fteid, error)
- func (upf *Upf) CreateUplinkIntermediateContext(ctx context.Context, ueIp netip.Addr, dnn string, listenInterface netip.Addr, ...) (*jsonapi.Fteid, error)
- func (upf *Upf) CreateUplinkIntermediateWithFteid(ueIp netip.Addr, dnn string, listenFteid *jsonapi.Fteid, ...)
- func (upf *Upf) GetN3() (netip.Addr, error)
- func (upf *Upf) GetN9() (netip.Addr, error)
- func (upf *Upf) NextListenFteid(listenInterface netip.Addr) (*jsonapi.Fteid, error)
- func (upf *Upf) NextListenFteidContext(ctx context.Context, listenInterface netip.Addr) (*jsonapi.Fteid, error)
- func (upf *Upf) Rules(ueIp netip.Addr) *Pfcprules
- func (upf *Upf) UpdateDownlinkAnchor(ueIp netip.Addr, dnn string, forwardFteid *jsonapi.Fteid) uint32
- func (upf *Upf) UpdateDownlinkIntermediate(ueIp netip.Addr, dnn string, listenInterface netip.Addr, ...) (*jsonapi.Fteid, uint32, error)
- func (upf *Upf) UpdateDownlinkIntermediateContext(ctx context.Context, ueIp netip.Addr, dnn string, listenInterface netip.Addr, ...) (*jsonapi.Fteid, uint32, error)
- func (upf *Upf) UpdateDownlinkIntermediateDirectForward(ueIp netip.Addr, dnn string, farid uint32, fteid *jsonapi.Fteid)
- func (upf *Upf) UpdateDownlinkIntermediateWithFteid(ueIp netip.Addr, dnn string, listenFteid *jsonapi.Fteid, ...) uint32
- 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") ErrPDUSessionNotFound = errors.New("PDU Session not found") ErrAreaNotFound = errors.New("RAN Area not found for this gNB") ErrPathNotFound = errors.New("Path not found for this RAN Area") 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") ErrNilCtx = errors.New("nil context") ErrSmfNotStarted = errors.New("SMF not started") ErrSmfAlreadyStarted = errors.New("SMF already started") )
Functions ¶
func NewUpfInterfaceMap ¶
func NewUpfInterfaceMap(ifaces []config.Interface) map[netip.Addr]*UpfInterface
Types ¶
type AreasMap ¶ added in v0.0.5
type AreasMap struct {
// contains filtered or unexported fields
}
type PduSessionN3 ¶
type Pfcprules ¶
func NewPfcpRules ¶
func NewPfcpRules() *Pfcprules
type SessionsMap ¶
func NewSessionsMap ¶ added in v0.0.3
func NewSessionsMap() *SessionsMap
func (*SessionsMap) Add ¶ added in v0.0.3
func (s *SessionsMap) Add(ueCtrl jsonapi.ControlURI, session *PduSessionN3)
func (*SessionsMap) Get ¶ added in v0.0.3
func (s *SessionsMap) Get(ueCtrl jsonapi.ControlURI, ueAddr netip.Addr) (*PduSessionN3, error)
func (*SessionsMap) SetNextDownlinkFteid ¶ added in v0.0.3
func (s *SessionsMap) SetNextDownlinkFteid(ueCtrl jsonapi.ControlURI, ueAddr netip.Addr, fteid *jsonapi.Fteid) error
type Slice ¶
type Smf ¶
type Smf struct {
// contains filtered or unexported fields
}
func (*Smf) CreateSessionDownlink ¶
func (smf *Smf) CreateSessionDownlink(ueCtrl jsonapi.ControlURI, ueIp netip.Addr, dnn string, gnbCtrl jsonapi.ControlURI, gnbFteid jsonapi.Fteid) (*PduSessionN3, error)
func (*Smf) CreateSessionDownlinkContext ¶ added in v0.0.3
func (smf *Smf) CreateSessionDownlinkContext(ctx context.Context, ueCtrl jsonapi.ControlURI, ueIp netip.Addr, dnn string, gnbCtrl jsonapi.ControlURI, gnbFteid jsonapi.Fteid) (*PduSessionN3, error)
func (*Smf) CreateSessionUplink ¶
func (smf *Smf) CreateSessionUplink(ueCtrl jsonapi.ControlURI, gnbCtrl jsonapi.ControlURI, dnn string) (*PduSessionN3, error)
func (*Smf) CreateSessionUplinkContext ¶ added in v0.0.3
func (smf *Smf) CreateSessionUplinkContext(ctx context.Context, ueCtrl jsonapi.ControlURI, gnbCtrl jsonapi.ControlURI, dnn string) (*PduSessionN3, error)
func (*Smf) GetSessionDownlinkFteid ¶ added in v0.0.3
func (*Smf) GetSessionUplinkFteid ¶ added in v0.0.3
func (*Smf) StoreNextDownlinkFteid ¶ added in v0.0.3
func (*Smf) UpdateSessionDownlink ¶ added in v0.0.3
func (smf *Smf) UpdateSessionDownlink(ueCtrl jsonapi.ControlURI, ueAddr netip.Addr, dnn string, oldGnbCtrl jsonapi.ControlURI) error
func (*Smf) UpdateSessionDownlinkContext ¶ added in v0.0.3
func (smf *Smf) UpdateSessionDownlinkContext(ctx context.Context, ueCtrl jsonapi.ControlURI, ueAddr netip.Addr, dnn string, oldGnbCtrl jsonapi.ControlURI) error
Updates Session to NextDownlinkFteid
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) CreateUplinkAnchor ¶
func (*Upf) CreateUplinkAnchorContext ¶ added in v0.0.3
func (*Upf) CreateUplinkAnchorWithFteid ¶
func (*Upf) CreateUplinkIntermediate ¶
func (*Upf) CreateUplinkIntermediateContext ¶ added in v0.0.3
func (*Upf) CreateUplinkIntermediateWithFteid ¶
func (*Upf) NextListenFteid ¶
func (*Upf) NextListenFteidContext ¶ added in v0.0.3
func (*Upf) UpdateDownlinkAnchor ¶
func (*Upf) UpdateDownlinkIntermediate ¶
func (*Upf) UpdateDownlinkIntermediateContext ¶ added in v0.0.3
func (*Upf) UpdateDownlinkIntermediateDirectForward ¶ added in v0.0.3
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.