services

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Dec 2, 2025 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsMulticastUser

func IsMulticastUser(u api.UserType) bool

func IsUnicastUser

func IsUnicastUser(u api.UserType) bool

Types

type BGPReaderWriter

type BGPReaderWriter interface {
	AddPeer(*bgp.PeerConfig, []bgp.NLRI) error
	DeletePeer(net.IP) error
	GetPeerStatus(net.IP) bgp.Session
}

type DBReaderWriter

type DBReaderWriter interface {
	GetState(userTypes ...api.UserType) []*api.ProvisionRequest
	DeleteState(u api.UserType) error
	SaveState(p *api.ProvisionRequest) error
}

type EdgeFilteringService

type EdgeFilteringService struct {
	Tunnel         *routing.Tunnel
	DoubleZeroAddr net.IP
	Routes         []*routing.Route
	Rules          []*routing.IPRule
	// contains filtered or unexported fields
}

func (*EdgeFilteringService) ServiceType

func (s *EdgeFilteringService) ServiceType() ServiceType

func (*EdgeFilteringService) Setup

func (*EdgeFilteringService) Status

func (s *EdgeFilteringService) Status() (*api.StatusResponse, error)

func (*EdgeFilteringService) Teardown

func (s *EdgeFilteringService) Teardown() error

func (*EdgeFilteringService) UserType

func (s *EdgeFilteringService) UserType() api.UserType

type IBRLService

type IBRLService struct {
	Tunnel         *routing.Tunnel
	DoubleZeroAddr net.IP
	// contains filtered or unexported fields
}

func (*IBRLService) ServiceType

func (s *IBRLService) ServiceType() ServiceType

func (*IBRLService) Setup

func (s *IBRLService) Setup(p *api.ProvisionRequest) error

Setup creates an IBRL tunnel with or without an allocated IP address.

func (*IBRLService) Status

func (s *IBRLService) Status() (*api.StatusResponse, error)

func (*IBRLService) Teardown

func (s *IBRLService) Teardown() error

func (*IBRLService) UserType

func (s *IBRLService) UserType() api.UserType

type IBRLServiceWithAllocatedAddress

type IBRLServiceWithAllocatedAddress struct {
	IBRLService
}

func (*IBRLServiceWithAllocatedAddress) ServiceType

func (*IBRLServiceWithAllocatedAddress) Status

func (*IBRLServiceWithAllocatedAddress) UserType

type MulticastService

type MulticastService struct {
	Tunnel             *routing.Tunnel
	DoubleZeroAddr     net.IP
	MulticastPubGroups []net.IP
	MulticastSubGroups []net.IP
	// contains filtered or unexported fields
}

func (*MulticastService) ServiceType

func (s *MulticastService) ServiceType() ServiceType

func (*MulticastService) Setup

func (*MulticastService) Status

func (s *MulticastService) Status() (*api.StatusResponse, error)

func (*MulticastService) Teardown

func (s *MulticastService) Teardown() error

func (*MulticastService) UserType

func (s *MulticastService) UserType() api.UserType

type PIMWriter

type PIMWriter interface {
	Start(conn pim.RawConner, iface string, tunnelAddr net.IP, group []net.IP) error
	Close() error
}

type ServiceType

type ServiceType uint8
const (
	// ServiceTypeNone is used when no service type is set
	ServiceTypeUnknown ServiceType = iota
	// ServiceTypeUnicast denotes unicast tunnel services
	ServiceTypeUnicast
	// ServiceTypeUnicast denotes multicast tunnel services
	ServiceTypeMulticast
)

Jump to

Keyboard shortcuts

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