ubgp

package
v0.0.0-...-2cbbd22 Latest Latest
Warning

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

Go to latest
Published: Oct 1, 2025 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Receive = 1
	Send    = 1
)

Variables

This section is empty.

Functions

func AddProcessor

func AddProcessor(processor *Processor)

func DecodeNexthop

func DecodeNexthop(in []byte, family Family) (out string, code int)

func DecodePrefixes

func DecodePrefixes(in []byte, family Family, multipath bool) (out []string, code int)

func Enable

func Enable(enabled bool)

func EncodeNexthop

func EncodeNexthop(in string, family Family) (out []byte)

func EncodePrefix

func EncodePrefix(in string, family Family, multipath bool) (out []byte)

func RemoveProcessor

func RemoveProcessor(processor *Processor)

func Update

func Update(update map[string]any)

Types

type Capability

type Capability struct {
	Code  int
	Value []byte
}

func NewCapability

func NewCapability(in string) (capability Capability)

func (Capability) String

func (c Capability) String() (out string)

func (Capability) Valid

func (c Capability) Valid() bool

type Family

type Family [2]int

func NewFamily

func NewFamily(in string) (family Family)

func (Family) String

func (f Family) String() string

func (Family) Valid

func (f Family) Valid() bool

type Group

type Group struct {
	// contains filtered or unexported fields
}

func Groups

func Groups() (list []*Group)

func (*Group) AddProcessor

func (g *Group) AddProcessor(processor *Processor)

func (*Group) Enable

func (g *Group) Enable(enabled bool)

func (*Group) Name

func (g *Group) Name() string

func (*Group) Peers

func (g *Group) Peers() (peers []*Peer)

func (*Group) RemoveProcessor

func (g *Group) RemoveProcessor(processor *Processor)

func (*Group) Update

func (g *Group) Update(update map[string]any)

type Peer

type Peer struct {
	// contains filtered or unexported fields
}

func Peers

func Peers() (peers []*Peer)

func (*Peer) AddProcessor

func (p *Peer) AddProcessor(processor *Processor)

func (*Peer) Cease

func (p *Peer) Cease(subcode int, message string)

func (*Peer) Duration

func (p *Peer) Duration() (duration time.Duration)

func (*Peer) EOR

func (p *Peer) EOR(list ...[]Family)

func (*Peer) Enable

func (p *Peer) Enable(enabled bool)

func (*Peer) Group

func (p *Peer) Group() *Group

func (*Peer) LocalASN

func (p *Peer) LocalASN() (asn int)

func (*Peer) LocalAddr

func (p *Peer) LocalAddr() (address string)

func (*Peer) LocalCapabilities

func (p *Peer) LocalCapabilities() (list []Capability)

func (*Peer) LocalCapability

func (p *Peer) LocalCapability(in string) (capability Capability, exists bool)

func (*Peer) LocalFamilies

func (p *Peer) LocalFamilies() (list []Family)

func (*Peer) LocalFamily

func (p *Peer) LocalFamily(family Family) (exists bool)

func (*Peer) LocalMultipath

func (p *Peer) LocalMultipath(family Family, direction int) (ok bool)

func (*Peer) Name

func (p *Peer) Name() string

func (*Peer) PeerASN

func (p *Peer) PeerASN() (asn int)

func (*Peer) PeerCapabilities

func (p *Peer) PeerCapabilities() (list []Capability)

func (*Peer) PeerCapability

func (p *Peer) PeerCapability(in string) (capability Capability, exists bool)

func (*Peer) PeerFamilies

func (p *Peer) PeerFamilies() (list []Family)

func (*Peer) PeerFamily

func (p *Peer) PeerFamily(family Family) (exists bool)

func (*Peer) PeerMultipath

func (p *Peer) PeerMultipath(family Family, direction int) (ok bool)

func (*Peer) Refresh

func (p *Peer) Refresh(family Family, enhanced ...int)

func (*Peer) RemoteAddr

func (p *Peer) RemoteAddr() (address string)

func (*Peer) Remove

func (p *Peer) Remove()

func (*Peer) RemoveProcessor

func (p *Peer) RemoveProcessor(processor *Processor)

func (*Peer) Speaker

func (p *Peer) Speaker() *Speaker

func (*Peer) State

func (p *Peer) State() (state string)

func (*Peer) Template

func (p *Peer) Template() *Template

func (*Peer) Update

func (p *Peer) Update(update map[string]any)

type Processor

type Processor struct {
	OnPeer    func(group *Group, speaker *Speaker, peer *Peer, reason map[string]any)
	OnState   func(group *Group, speaker *Speaker, peer *Peer, from, to string, reason map[string]any)
	OnUp      func(group *Group, speaker *Speaker, peer *Peer)
	OnDown    func(group *Group, speaker *Speaker, peer *Peer, reason map[string]any)
	OnMessage func(group *Group, speaker *Speaker, peer *Peer, direction, message string, payload []byte)
	OnUpdate  func(group *Group, speaker *Speaker, peer *Peer, update map[string]any)
	OnRefresh func(group *Group, speaker *Speaker, peer *Peer, family Family, enhanced int)
}

type Speaker

type Speaker struct {
	// contains filtered or unexported fields
}

func NewSpeaker

func NewSpeaker(local string, options ...map[string]any) (speaker *Speaker, err error)

func Speakers

func Speakers() (list []*Speaker)

func (*Speaker) AddPeer

func (s *Speaker) AddPeer(remote, localASN, peerASN string, options ...map[string]any) (peer *Peer, err error)

func (*Speaker) AddTemplate

func (s *Speaker) AddTemplate(remotes []string, localASN, peerASN string, options ...map[string]any) (template *Template, err error)

func (*Speaker) Close

func (s *Speaker) Close()

func (*Speaker) Name

func (s *Speaker) Name() string

func (*Speaker) Peers

func (s *Speaker) Peers() (peers []*Peer)

func (*Speaker) Templates

func (s *Speaker) Templates() (templates []*Template)

type Template

type Template struct {
	// contains filtered or unexported fields
}

func (*Template) AddPrefix

func (t *Template) AddPrefix(prefix string)

func (*Template) Name

func (t *Template) Name() string

func (*Template) Remove

func (t *Template) Remove()

func (*Template) RemovePrefix

func (t *Template) RemovePrefix(prefix string)

Jump to

Keyboard shortcuts

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