Documentation
¶
Index ¶
- Variables
- func BridgePVIDVlanAdd(nlink Netlink, link netlink.Link, vlanID int) error
- func BridgePVIDVlanDel(nlink Netlink, link netlink.Link, vlanID int) error
- func BridgeTrunkVlanAdd(nlink Netlink, link netlink.Link, vlans []int) error
- func BridgeTrunkVlanDel(nlink Netlink, link netlink.Link, vlans []int) error
- func BridgeVlanList(nlink Netlink) (map[int32][]*nl.BridgeVlanInfo, error)
- func CreateTmpSysFs() error
- func GetBridgeLinks(nLink Netlink, bridge netlink.Link) ([]netlink.Link, error)
- func GetParentBondForLink(nLink Netlink, link netlink.Link) (netlink.Link, error)
- func GetParentBridgeForLink(nLink Netlink, link netlink.Link) (netlink.Link, error)
- func GetSriovNumVfs(ifName string) (int, error)
- func GetVFLinkName(pciAddr string) (string, error)
- func GetVfid(addr, pfName string) (int, error)
- func HasUserspaceDriver(pciAddr string) (bool, error)
- func RemoveTmpSysFs() error
- type Netlink
- type NetlinkWrapper
- func (n *NetlinkWrapper) BridgeVlanAdd(link netlink.Link, vid uint16, pvid, untagged, self, master bool) error
- func (n *NetlinkWrapper) BridgeVlanDel(link netlink.Link, vid uint16, pvid, untagged, self, master bool) error
- func (n *NetlinkWrapper) BridgeVlanList() (map[int32][]*nl.BridgeVlanInfo, error)
- func (n *NetlinkWrapper) LinkByIndex(index int) (netlink.Link, error)
- func (n *NetlinkWrapper) LinkByName(name string) (netlink.Link, error)
- func (n *NetlinkWrapper) LinkList() ([]netlink.Link, error)
- func (n *NetlinkWrapper) LinkSetDown(link netlink.Link) error
- func (n *NetlinkWrapper) LinkSetHardwareAddr(link netlink.Link, hwaddr net.HardwareAddr) error
- func (n *NetlinkWrapper) LinkSetMTU(link netlink.Link, mtu int) error
- func (n *NetlinkWrapper) LinkSetMaster(link, master netlink.Link) error
- func (n *NetlinkWrapper) LinkSetName(link netlink.Link, name string) error
- func (n *NetlinkWrapper) LinkSetNoMaster(link netlink.Link) error
- func (n *NetlinkWrapper) LinkSetNsFd(link netlink.Link, fd int) error
- func (n *NetlinkWrapper) LinkSetUp(link netlink.Link) error
- func (n *NetlinkWrapper) LinkSetVfHardwareAddr(link netlink.Link, vf int, hwaddr net.HardwareAddr) error
- type SriovnetProvider
- type SriovnetWrapper
Constants ¶
This section is empty.
Variables ¶
var ( // NetDirectory sysfs net directory NetDirectory = "/sys/class/net" // SysBusPci is sysfs pci device directory SysBusPci = "/sys/bus/pci/devices" // UserspaceDrivers is a list of driver names that don't have netlink representation for their devices UserspaceDrivers = []string{"vfio-pci"} )
Functions ¶
func BridgePVIDVlanAdd ¶ added in v0.4.0
BridgePVIDVlanAdd configure port VLAN id for link
func BridgePVIDVlanDel ¶ added in v0.4.0
BridgePVIDVlanDel remove port VLAN id for link
func BridgeTrunkVlanAdd ¶ added in v0.4.0
BridgeTrunkVlanAdd configure vlan trunk on link
func BridgeTrunkVlanDel ¶ added in v0.5.0
BridgeTrunkVlanDel remove vlans from trunk on link
func BridgeVlanList ¶ added in v0.5.0
func BridgeVlanList(nlink Netlink) (map[int32][]*nl.BridgeVlanInfo, error)
func CreateTmpSysFs ¶
func CreateTmpSysFs() error
CreateTmpSysFs create mock sysfs for testing nolint:gosec
func GetBridgeLinks ¶ added in v0.5.0
GetBridgeLinks returns list of netlink.Links that are part of the provided bridge
func GetParentBondForLink ¶ added in v0.5.0
GetParentBondForLink returns the parent bonded interface if provided link is member of a bond.
func GetParentBridgeForLink ¶ added in v0.4.0
GetParentBridgeForLink returns linux bridge if provided link belongs to any. if provided link has a parent interface (e.g. interface is a part of a bond) will return a bridge to which parent interface belongs to
func GetSriovNumVfs ¶
GetSriovNumVfs takes in a PF name(ifName) as string and returns number of VF configured as int
func GetVFLinkName ¶
GetVFLinkName returns VF's network interface name given it's PCI addr
func GetVfid ¶
GetVfid takes in VF's PCI address(addr) and pfName as string and returns VF's ID as int
func HasUserspaceDriver ¶ added in v0.2.0
HasUserspaceDriver checks if a device is attached to userspace driver
Types ¶
type Netlink ¶ added in v0.4.0
type Netlink interface { LinkByName(string) (netlink.Link, error) LinkByIndex(index int) (netlink.Link, error) LinkSetVfHardwareAddr(netlink.Link, int, net.HardwareAddr) error LinkSetHardwareAddr(netlink.Link, net.HardwareAddr) error LinkSetUp(netlink.Link) error LinkSetDown(netlink.Link) error LinkSetNsFd(netlink.Link, int) error LinkSetName(netlink.Link, string) error LinkSetMaster(netlink.Link, netlink.Link) error LinkSetNoMaster(netlink.Link) error BridgeVlanAdd(netlink.Link, uint16, bool, bool, bool, bool) error BridgeVlanDel(netlink.Link, uint16, bool, bool, bool, bool) error LinkSetMTU(netlink.Link, int) error BridgeVlanList() (map[int32][]*nl.BridgeVlanInfo, error) LinkList() ([]netlink.Link, error) }
Netlink represents limited subset of functions from netlink package
type NetlinkWrapper ¶ added in v0.4.0
type NetlinkWrapper struct { }
NetlinkWrapper wrapper for netlink package
func (*NetlinkWrapper) BridgeVlanAdd ¶ added in v0.4.0
func (n *NetlinkWrapper) BridgeVlanAdd(link netlink.Link, vid uint16, pvid, untagged, self, master bool) error
BridgeVlanAdd is a wrapper for netlink.BridgeVlanAdd
func (*NetlinkWrapper) BridgeVlanDel ¶ added in v0.4.0
func (n *NetlinkWrapper) BridgeVlanDel(link netlink.Link, vid uint16, pvid, untagged, self, master bool) error
BridgeVlanDel is a wrapper for netlink.BridgeVlanDel
func (*NetlinkWrapper) BridgeVlanList ¶ added in v0.5.0
func (n *NetlinkWrapper) BridgeVlanList() (map[int32][]*nl.BridgeVlanInfo, error)
BridgeVlanList is a wrapper for netlink.BridgeVlanList
func (*NetlinkWrapper) LinkByIndex ¶ added in v0.4.0
func (n *NetlinkWrapper) LinkByIndex(index int) (netlink.Link, error)
LinkByIndex is a wrapper for netlink.LinkByIndex
func (*NetlinkWrapper) LinkByName ¶ added in v0.4.0
func (n *NetlinkWrapper) LinkByName(name string) (netlink.Link, error)
LinkByName is a wrapper for netlink.LinkByName
func (*NetlinkWrapper) LinkList ¶ added in v0.5.0
func (n *NetlinkWrapper) LinkList() ([]netlink.Link, error)
LinkList is a wrapper for netlink.LinkList
func (*NetlinkWrapper) LinkSetDown ¶ added in v0.4.0
func (n *NetlinkWrapper) LinkSetDown(link netlink.Link) error
LinkSetDown is a wrapper for netlink.LinkSetDown
func (*NetlinkWrapper) LinkSetHardwareAddr ¶ added in v0.4.0
func (n *NetlinkWrapper) LinkSetHardwareAddr(link netlink.Link, hwaddr net.HardwareAddr) error
LinkSetHardwareAddr is a wrapper for netlink.LinkSetHardwareAddr
func (*NetlinkWrapper) LinkSetMTU ¶ added in v0.4.0
func (n *NetlinkWrapper) LinkSetMTU(link netlink.Link, mtu int) error
LinkSetMTU is a wrapper for netlink.LinkSetMTU
func (*NetlinkWrapper) LinkSetMaster ¶ added in v0.4.0
func (n *NetlinkWrapper) LinkSetMaster(link, master netlink.Link) error
LinkSetMaster is a wrapper for netlink.LinkSetMaster
func (*NetlinkWrapper) LinkSetName ¶ added in v0.4.0
func (n *NetlinkWrapper) LinkSetName(link netlink.Link, name string) error
LinkSetName is a wrapper for netlink.LinkSetName
func (*NetlinkWrapper) LinkSetNoMaster ¶ added in v0.4.0
func (n *NetlinkWrapper) LinkSetNoMaster(link netlink.Link) error
LinkSetNoMaster is a wrapper for netlink.LinkSetNoMaster
func (*NetlinkWrapper) LinkSetNsFd ¶ added in v0.4.0
func (n *NetlinkWrapper) LinkSetNsFd(link netlink.Link, fd int) error
LinkSetNsFd is a wrapper for netlink.LinkSetNsFd
func (*NetlinkWrapper) LinkSetUp ¶ added in v0.4.0
func (n *NetlinkWrapper) LinkSetUp(link netlink.Link) error
LinkSetUp is a wrapper for netlink.LinkSetUp
func (*NetlinkWrapper) LinkSetVfHardwareAddr ¶ added in v0.4.0
func (n *NetlinkWrapper) LinkSetVfHardwareAddr(link netlink.Link, vf int, hwaddr net.HardwareAddr) error
LinkSetVfHardwareAddr is a wrapper for netlink.LinkSetVfHardwareAddr
type SriovnetProvider ¶ added in v0.3.0
type SriovnetProvider interface { GetVfRepresentor(string, int) (string, error) GetUplinkRepresentor(string) (string, error) }
SriovnetProvider represents limited subset of functions from sriovnet package
type SriovnetWrapper ¶ added in v0.3.0
type SriovnetWrapper struct{}
func (*SriovnetWrapper) GetUplinkRepresentor ¶ added in v0.3.0
func (s *SriovnetWrapper) GetUplinkRepresentor(vfPciAddress string) (string, error)
func (*SriovnetWrapper) GetVfRepresentor ¶ added in v0.3.0
func (s *SriovnetWrapper) GetVfRepresentor(master string, vfid int) (string, error)