ncnplib

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Mar 15, 2019 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const YAML_VERSION = 2

Variables

This section is empty.

Functions

func ListConfigFiles

func ListConfigFiles(path string) []string

func WriteConfig

func WriteConfig(w io.Writer, c *Config) error

func WriteConfigFile

func WriteConfigFile(path string, c *Config) error

Types

type Bond

type Bond struct {
	Device     `yaml:",inline"`
	Interfaces []string   `yaml:"interfaces"`
	Params     BondParams `yaml:"parameters"`
}

func NewBond

func NewBond(device *Device, ifaces []string, params *BondParams) *Bond

type BondARPAllTargets

type BondARPAllTargets string
const (
	BOND_ARP_ALLTARGETS_ANY BondARPAllTargets = "any"
	BOND_ARP_ALLTARGETS_ALL BondARPAllTargets = "all"
)

func ParseBondARPAllTargets

func ParseBondARPAllTargets(s string) (BondARPAllTargets, error)

type BondARPValidate

type BondARPValidate string
const (
	BOND_ARP_VALIDATE_NONE   BondARPValidate = "none"
	BOND_ARP_VALIDATE_ACTIVE BondARPValidate = "active"
	BOND_ARP_VALIDATE_BACKUP BondARPValidate = "backup"
	BOND_ARP_VALIDATE_ALL    BondARPValidate = "all"
)

func ParseBondARPValidate

func ParseBondARPValidate(s string) (BondARPValidate, error)

type BondAdSelect

type BondAdSelect string
const (
	BOND_AD_SELECT_STABLE   BondAdSelect = "stable"
	BOND_AD_SELECT_BANDWITH BondAdSelect = "bandwith"
	BOND_AD_SELECT_COUNT    BondAdSelect = "count"
)

func ParseBondAdSelect

func ParseBondAdSelect(s string) (BondAdSelect, error)

type BondFailOverMACPolicy

type BondFailOverMACPolicy string
const (
	BOND_FO_MAC_POLICY_NONE   BondFailOverMACPolicy = "none"
	BOND_FO_MAC_POLICY_ACTIVE BondFailOverMACPolicy = "active"
	BOND_FO_MAC_POLICY_FOLLOW BondFailOverMACPolicy = "follow"
)

func ParseBondFailOverMACPolicy

func ParseBondFailOverMACPolicy(s string) (BondFailOverMACPolicy, error)

type BondMode

type BondMode string
const (
	BOND_MODE_BALANCE_RR    BondMode = "balance-rr"
	BOND_MODE_ACTIVE_BACKUP BondMode = "active-backup"
	BOND_MODE_BALANCE_XOR   BondMode = "balance-xor"
	BOND_MODE_BROADCAST     BondMode = "broadcast"
	BOND_MODE_802_3_AD      BondMode = "802.3ad"
	BOND_MODE_BALANCE_TLB   BondMode = "balance-tlb"
	BOND_MODE_BALANCE_ALB   BondMode = "balance-alb"
)

func ParseBondMode

func ParseBondMode(s string) (BondMode, error)

type BondParams

type BondParams struct {
	Mode                  BondMode                  `yaml:"mode"`
	LacpRate              uint32                    `yaml:"lacp-rate"`
	MiiMonitorInterval    uint32                    `yaml:"mii-monitor-interval"`
	MinLinks              uint32                    `yaml:"min-links"`
	TransmitHashPolicy    BondTransmitHashPolicy    `yaml:"transmit-hash-policy"`
	AdSelect              BondAdSelect              `yaml:"ad-select"`
	AllSlavesActive       bool                      `yaml:"all-slaves-active"`
	ARPInterval           uint32                    `yaml:"arp-interval"`
	ARPIpTargets          []string                  `yaml:"arp-ip-targets"`
	ARPValidate           BondARPValidate           `yaml:"arp-validate"`
	ARPAllTargets         BondARPAllTargets         `yaml:"arp-all-targets"`
	UpDelay               uint32                    `yaml:"up-delay"`
	DownDelay             uint32                    `yaml:"down-delay"`
	FailOverMACPolicy     BondFailOverMACPolicy     `yaml:"fail-over-mac-policy"`
	GratuitiousARP        uint32                    `yaml:"gratuitious-arp"`
	PacketsPerSlave       uint16                    `yaml:"packets-per-slave"`
	PrimaryReselectPolicy BondPrimaryReselectPolicy `yaml:"primary-reselect-policy"`
	LearnPacketInterval   uint32                    `yaml:"learn-packet-interval"`
	Primary               string                    `yaml:"primary"`
}

type BondPrimaryReselectPolicy

type BondPrimaryReselectPolicy string
const (
	BOND_PRI_RESELECT_POLICY_ALYAWS  BondPrimaryReselectPolicy = "always"
	BOND_PRI_RESELECT_POLICY_BETTER  BondPrimaryReselectPolicy = "better"
	BOND_PRI_RESELECT_POLICY_FAILURE BondPrimaryReselectPolicy = "failure"
)

func ParseBondPrimaryReselectPolicy

func ParseBondPrimaryReselectPolicy(s string) (BondPrimaryReselectPolicy, error)

type BondTransmitHashPolicy

type BondTransmitHashPolicy string
const (
	BOND_TRANS_HASH_POLICY_L2    BondTransmitHashPolicy = "layer2"
	BOND_TRAMS_HASH_POLICY_L23   BondTransmitHashPolicy = "layer2+3"
	BOND_TRAMS_HASH_POLICY_L34   BondTransmitHashPolicy = "layer3+4"
	BOND_TRAMS_HASH_POLICY_ENC23 BondTransmitHashPolicy = "encap2+3"
	BOND_TRANS_HASH_POLICY_ENC34 BondTransmitHashPolicy = "encap3+4"
)

func ParseBondTransmitHashPolicy

func ParseBondTransmitHashPolicy(s string) (BondTransmitHashPolicy, error)

type Config

type Config struct {
	Network Network `yaml:"network"`
}

func NewConfig

func NewConfig() *Config

func ReadConfig

func ReadConfig(r io.Reader) (*Config, error)

func ReadConfigDir

func ReadConfigDir(dir string) (*Config, error)

func ReadConfigFile

func ReadConfigFile(path string) (*Config, error)

func ReadConfigFiles

func ReadConfigFiles(paths []string) (*Config, error)

func (*Config) Merge

func (c *Config) Merge(cfg *Config)

type Device

type Device struct {
	Dhcp4     bool     `yaml:"dhcp4"`
	Dhcp6     bool     `yaml:"dhcp6"`
	Addresses []string `yaml:"addresses"`
	Gateway4  string   `yaml:"gateway4,omitempty"`
	Gateway6  string   `yaml:"gateway6,omitempty"`
	Mtu       uint16   `yaml:"mtu,omitempty"`
}

type Ethernet

type Ethernet struct {
	Device `yaml:",inline"`
}

func NewEthernet

func NewEthernet(device *Device) *Ethernet

type Network

type Network struct {
	Version   uint32               `yaml:"version"`
	Renderer  string               `yaml:"renderer,omitempty"`
	Ethernets map[string]*Ethernet `yaml:"ethernets"`
	Vlans     map[string]*Vlan     `yaml:"vlans"`
	Bonds     map[string]*Bond     `yaml:"bonds"`
}

func NewNetwork

func NewNetwork() *Network

func (*Network) Merge

func (n *Network) Merge(nw *Network)

type Vlan

type Vlan struct {
	Device `yaml:",inline"`
	Link   string `yaml:"link"`
	Id     uint32 `yaml:"id"`
}

func NewVlan

func NewVlan(device *Device, link string, id uint32) *Vlan

Jump to

Keyboard shortcuts

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