jsonapi

package
v0.0.11 Latest Latest
Warning

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

Go to latest
Published: Oct 23, 2024 License: MIT Imports: 6 Imported by: 1

Documentation

Overview

Copyright 2024 Louis Royer and the NextMN-json-api contributors. All rights reserved. Use of this source code is governed by a MIT-style license that can be found in the LICENSE file. SPDX-License-Identifier: MIT

Copyright 2024 Louis Royer and the NextMN-json-api contributors. All rights reserved. Use of this source code is governed by a MIT-style license that can be found in the LICENSE file. SPDX-License-Identifier: MIT

Copyright 2024 Louis Royer and the NextMN-json-api contributors. All rights reserved. Use of this source code is governed by a MIT-style license that can be found in the LICENSE file. SPDX-License-Identifier: MIT

Copyright 2024 Louis Royer and the NextMN-json-api contributors. All rights reserved. Use of this source code is governed by a MIT-style license that can be found in the LICENSE file. SPDX-License-Identifier: MIT

Copyright 2024 Louis Royer and the NextMN-json-api contributors. All rights reserved. Use of this source code is governed by a MIT-style license that can be found in the LICENSE file. SPDX-License-Identifier: MIT

Copyright 2024 Louis Royer and the NextMN-json-api contributors. All rights reserved. Use of this source code is governed by a MIT-style license that can be found in the LICENSE file. SPDX-License-Identifier: MIT

Copyright 2024 Louis Royer and the NextMN-json-api contributors. All rights reserved. Use of this source code is governed by a MIT-style license that can be found in the LICENSE file. SPDX-License-Identifier: MIT

Copyright 2024 Louis Royer and the NextMN-json-api contributors. All rights reserved. Use of this source code is governed by a MIT-style license that can be found in the LICENSE file. SPDX-License-Identifier: MIT

Copyright 2024 Louis Royer and the NextMN-json-api contributors. All rights reserved. Use of this source code is governed by a MIT-style license that can be found in the LICENSE file. SPDX-License-Identifier: MIT

Copyright 2024 Louis Royer and the NextMN-json-api contributors. All rights reserved. Use of this source code is governed by a MIT-style license that can be found in the LICENSE file. SPDX-License-Identifier: MIT

Copyright 2024 Louis Royer and the NextMN-json-api contributors. All rights reserved. Use of this source code is governed by a MIT-style license that can be found in the LICENSE file. SPDX-License-Identifier: MIT

Copyright 2024 Louis Royer and the NextMN-json-api contributors. All rights reserved. Use of this source code is governed by a MIT-style license that can be found in the LICENSE file. SPDX-License-Identifier: MIT

Copyright 2024 Louis Royer and the NextMN-json-api contributors. All rights reserved. Use of this source code is governed by a MIT-style license that can be found in the LICENSE file. SPDX-License-Identifier: MIT

Copyright 2024 Louis Royer and the NextMN-json-api contributors. All rights reserved. Use of this source code is governed by a MIT-style license that can be found in the LICENSE file. SPDX-License-Identifier: MIT

Copyright 2024 Louis Royer and the NextMN-json-api contributors. All rights reserved. Use of this source code is governed by a MIT-style license that can be found in the LICENSE file. SPDX-License-Identifier: MIT

Copyright 2024 Louis Royer and the NextMN-json-api contributors. All rights reserved. Use of this source code is governed by a MIT-style license that can be found in the LICENSE file. SPDX-License-Identifier: MIT

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Action added in v0.0.3

type Action struct {
	SRH SRH `json:"srh"`
}

type BackboneIP

type BackboneIP struct {
	netip.Addr
}

func (*BackboneIP) UnmarshalText

func (b *BackboneIP) UnmarshalText(text []byte) error

type ControlURI

type ControlURI struct {
	url.URL
}

func (ControlURI) MarshalJSON

func (u ControlURI) MarshalJSON() ([]byte, error)

func (*ControlURI) UnmarshalText

func (u *ControlURI) UnmarshalText(text []byte) error

type GtpHeader added in v0.0.9

type GtpHeader struct {
	OuterIpSrc netip.Addr  `json:"outer-ip-src"` // i.e. gNB ip
	Teid       uint32      `json:"teid"`
	InnerIpSrc *netip.Addr `json:"inner-ip-src,omitempty"` // i.e. UE ip; only useful for uplink when multiple PDU Sessions are aggregated on a single TEID
}

type Locator

type Locator struct {
	netip.Prefix
}

func (Locator) Overlaps

func (l Locator) Overlaps(o Locator) bool

func (*Locator) UnmarshalText

func (l *Locator) UnmarshalText(text []byte) error

type Match added in v0.0.3

type Match struct {
	Header  *GtpHeader `json:"gtp,omitempty"`
	Payload *Payload   `json:"payload,omitempty"` // if empty, the rule is considered "default"
}

type Message added in v0.0.3

type Message struct {
	Message string
}

type MessageWithError added in v0.0.3

type MessageWithError struct {
	Message string
	Error   error
}

type NextHop added in v0.0.4

type NextHop struct {
	netip.Addr
}

func NewNextHop added in v0.0.4

func NewNextHop(nh string) (*NextHop, error)

func (*NextHop) UnmarshalText added in v0.0.4

func (nh *NextHop) UnmarshalText(text []byte) error

type Payload added in v0.0.9

type Payload struct {
	Dst netip.Addr `json:"destination-ip"`
}

type Router

type Router struct {
	Locator  Locator    `json:"locator"`  // locator (ipv6 prefix)
	Backbone BackboneIP `json:"backbone"` // data plane backbone ipv6 address
	Control  ControlURI `json:"control"`  // url used for control
}

type RouterMap

type RouterMap map[uuid.UUID]Router

type Rule added in v0.0.3

type Rule struct {
	Enabled bool
	Type    string // uplink or downlink
	Match   Match
	Action  Action
}

type RuleMap added in v0.0.3

type RuleMap map[uuid.UUID]Rule

type SRH added in v0.0.4

type SRH []*Segment

func NewSRH added in v0.0.4

func NewSRH(segments []string) (*SRH, error)

func (SRH) AsSlice added in v0.0.11

func (srh SRH) AsSlice() []net.IP

type Segment added in v0.0.4

type Segment struct {
	netip.Addr
}

func NewSegment added in v0.0.4

func NewSegment(s string) (*Segment, error)

func (*Segment) UnmarshalText added in v0.0.4

func (s *Segment) UnmarshalText(text []byte) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL