vswitch

package
v1.8.0 Latest Latest
Warning

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

Go to latest
Published: Mar 22, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNoAvailableVSwitch = errors.New("no available vSwitch")

Functions

This section is empty.

Types

type ByAvailableIP added in v1.5.7

type ByAvailableIP []Switch

func (ByAvailableIP) Len added in v1.5.7

func (a ByAvailableIP) Len() int

func (ByAvailableIP) Less added in v1.5.7

func (a ByAvailableIP) Less(i, j int) bool

func (ByAvailableIP) Swap added in v1.5.7

func (a ByAvailableIP) Swap(i, j int)

type SelectOption added in v1.3.0

type SelectOption interface {
	// Apply applies this configuration to the given select options.
	Apply(*SelectOptions)
}

type SelectOptions added in v1.3.0

type SelectOptions struct {
	IgnoreZone bool

	VSwitchSelectPolicy SelectionPolicy
}

SelectOptions contains options for requests.

func (*SelectOptions) Apply added in v1.3.0

func (o *SelectOptions) Apply(so *SelectOptions)

Apply implements SelectOption.

func (*SelectOptions) ApplyOptions added in v1.3.0

func (o *SelectOptions) ApplyOptions(opts []SelectOption) *SelectOptions

ApplyOptions applies the given select options on these options

type SelectionPolicy added in v1.3.0

type SelectionPolicy string
const (
	VSwitchSelectionPolicyOrdered SelectionPolicy = "ordered"
	VSwitchSelectionPolicyRandom  SelectionPolicy = "random"
	VSwitchSelectionPolicyMost    SelectionPolicy = "most"
)

VSwitch Selection Policy

type Switch

type Switch struct {
	ID   string
	Zone string

	AvailableIPCount int64 // for ipv4
	IPv4CIDR         string
	IPv6CIDR         string
}

Switch hole all switch info from both terway config and podNetworking

type SwitchPool

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

SwitchPool contain all vSwitches

func NewSwitchPool

func NewSwitchPool(size int, ttl string) (*SwitchPool, error)

NewSwitchPool create pool and set vSwitches to pool

func (*SwitchPool) Add added in v1.2.1

func (s *SwitchPool) Add(sw *Switch)

Add Switch to cache. Test purpose.

func (*SwitchPool) Block added in v1.5.7

func (s *SwitchPool) Block(id string)

func (*SwitchPool) Del added in v1.2.1

func (s *SwitchPool) Del(key string)

Del Switch from cache. Test purpose.

func (*SwitchPool) GetByID

func (s *SwitchPool) GetByID(ctx context.Context, client client.VPC, id string) (*Switch, error)

GetByID will get vSwitch info from local store or openAPI

func (*SwitchPool) GetOne

func (s *SwitchPool) GetOne(ctx context.Context, client client.VPC, zone string, ids []string, opts ...SelectOption) (*Switch, error)

GetOne get one vSwitch by zone and limit in ids

Jump to

Keyboard shortcuts

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