Documentation ¶
Index ¶
Constants ¶
View Source
const ( // MinMetric max metric input MinMetric = 1 // MaxMetric max metric input MaxMetric = 9999 // MaxNetIDChar Max Network Identifier MaxNetIDChar = 40 )
Windows has some limitation regarding metric size that differ from Unix-like systems. Because of that we are limiting the min and max metric size based on Windows limits: see based on info from https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/route_ws2008
View Source
const ( // InvalidNetworkString invalid network type string InvalidNetworkString = "Invalid" // IPv4NetworkString IPv4 network type string IPv4NetworkString = "IPv4" // IPv6NetworkString IPv6 network type string IPv6NetworkString = "IPv6" )
Variables ¶
This section is empty.
Functions ¶
func GetHAUniqueID ¶ added in v0.11.5
GetHAUniqueID returns a highly available route ID by combining Network ID and Network range address
Types ¶
type NetworkType ¶
type NetworkType int
NetworkType route network type
const ( // InvalidNetwork invalid network type InvalidNetwork NetworkType = iota // IPv4Network IPv4 network type IPv4Network // IPv6Network IPv6 network type IPv6Network )
func ParseNetwork ¶
func ParseNetwork(networkString string) (NetworkType, netip.Prefix, error)
ParseNetwork Parses a network prefix string and returns a netip.Prefix object and if is invalid, IPv4 or IPv6
type Route ¶
type Route struct { ID string `gorm:"primaryKey"` // AccountID is a reference to Account that this object belongs AccountID string `gorm:"index"` Network netip.Prefix `gorm:"serializer:gob"` NetID string Description string Peer string PeerGroups []string `gorm:"serializer:gob"` NetworkType NetworkType Masquerade bool Metric int Enabled bool Groups []string `gorm:"serializer:json"` }
Route represents a route
Click to show internal directories.
Click to hide internal directories.