wiring

package
v0.17.1 Latest Latest
Warning

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

Go to latest
Published: Jun 10, 2024 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Rack     = "rack-1"
	Control  = "control-1"
	External = "virtual-edge-1"

	VirtualEdgeDest = "external.hhfab.fabric.githedgehog.com/dest" // HHFAB annotation to specify destination for external connection
)
View Source
const (
	SpineOffset = 200
	LeafOffset  = 100

	// 1 is reserved for the control VIP
	MCLAGSessionIPNet = 5
	SwitchIPNet       = 10
	ProtocolIPNet     = 11
	VTEPIPNet         = 12
	ControlIPNet      = 20 // single /24 is more than enough
	FabricIPNet       = 30 // can take more than one /24, let's book 10
	VirtualEdgeIPNet  = 40 // single /24 is more than enough
	VirtualEdgeCfg    = "virtual-edge.hhfab.fabric.githedgehog.com/external-cfg"
	VirtualEdgeASN    = 64100
)

Variables

This section is empty.

Functions

func Hydrate

func Hydrate(data *wiring.Data, cfg *HydrateConfig) error

func HydratePath

func HydratePath(wiringPath string) error

func IsHydrated

func IsHydrated(data *wiring.Data) error

func Visualize

func Visualize(wiringPath string) (string, error)

Types

type Builder added in v0.6.12

type Builder struct {
	Defaulted         bool            // true if default should be called on created objects
	Hydrated          bool            // true if wiring diagram should be hydrated
	FabricMode        meta.FabricMode // fabric mode
	ChainControlLink  bool            // true if not all switches attached directly to control node
	External          bool            // true if virtual external should be applied
	ControlLinksCount uint8           // number of control links to generate
	SpinesCount       uint8           // number of spines to generate
	FabricLinksCount  uint8           // number of links for each spine <> leaf pair
	MCLAGLeafsCount   uint8           // number of MCLAG server-leafs to generate
	ESLAGLeafGroups   string          // eslag leaf groups - comma separated list of number of ESLAG switches in each group, should be 2-4 per group, e.g. 2,4,2 for 3 groups with 2, 4 and 2 switches
	OrphanLeafsCount  uint8           // number of non-MCLAG server-leafs to generate
	MCLAGSessionLinks uint8           // number of MCLAG session links to generate
	MCLAGPeerLinks    uint8           // number of MCLAG peer links to generate
	VPCLoopbacks      uint8           // number of VPC loopbacks to generate per leaf switch
	MCLAGServers      uint8           // number of MCLAG servers to generate for MCLAG switches
	ESLAGServers      uint8           // number of ESLAG servers to generate for ESLAG switches
	UnbundledServers  uint8           // number of unbundled servers to generate for switches (only for one of the first switch in the redundancy group or orphan switch)
	BundledServers    uint8           // number of bundled servers to generate for switches (only for one of the second switch in the redundancy group or orphan switch)
	// contains filtered or unexported fields
}

func (*Builder) Build added in v0.6.12

func (b *Builder) Build() (*wiring.Data, error)

type HydrateConfig

type HydrateConfig struct {
	Subnet       string
	SpineASN     uint32
	LeafASNStart uint32
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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