Versions in this module Expand all Collapse all v0 v0.1.0 Aug 14, 2024 Changes in this version + const BridgeIfName + const DatapathIfName + const DatapathName + const ETHTOOL_GTXCSUM + const ETHTOOL_STXCSUM + const IFNAMSIZ + const NoMasqLocalIpset + const PcapIfName + const SIOCETHTOOL + const VethName + const WeaveBridgeName + var ErrBridgeNoIP = fmt.Errorf("Bridge has no IP address") + var ErrLinkNotFound = errors.New("Link not found") + func AddAddresses(link netlink.Link, cidrs []*net.IPNet) (newAddrs []*net.IPNet, err error) + func AddChainWithRules(ipt *iptables.IPTables, table, chain string, rulespecs [][]string) error + func AddRoute(link netlink.Link, scope netlink.Scope, dst *net.IPNet, gw net.IP) error + func AttachContainer(netNSPath, id, ifName, bridgeName string, mtu int, withMulticastRoute bool, ...) error + func CheckAddressOverlap(addr net.IP, ignoreIfaceNames map[string]struct{}) error + func CheckNetworkFree(subnet *net.IPNet, ignoreIfaceNames map[string]struct{}) error + func ConfigureARP(prefix, procPath string) error + func ConfigureIPTables(config *BridgeConfig, ips ipset.Interface) error + func ConnectedToBridgeVethPeerIds(bridgeName string) ([]int, error) + func CreateAndAttachVeth(procPath, name, peerName, bridgeName string, mtu int, keepTXOn bool, ...) (*netlink.Veth, error) + func DetachContainer(netNSPath, id, ifName string, cidrs []*net.IPNet) error + func DetectHairpin(portIfName string, log *logrus.Logger) error + func EnforceAddrAssignType(bridgeName string) (setAddr bool, err error) + func EnsureInterface(ifaceName string) (*net.Interface, error) + func EnsureInterfaceAndMcastRoute(ifaceName string) (*net.Interface, error) + func EthtoolTXOff(name string) error + func Expose(bridgeName string, ipAddr *net.IPNet, removeDefaultRoute, npc bool, ...) error + func FindBridgeIP(bridgeName string, subnet *net.IPNet) (net.IP, error) + func GetSystemPeerName(dbPrefix, hostRoot string) (string, error) + func LinkAddIfNotExist(link netlink.Link) error + func ListenUnixSocket(pathname string) (net.Listener, error) + func LocalAddresses() ([]*net.IPNet, error) + func MACfromUUID(uuid []byte) net.HardwareAddr + func MonitorForIptablesFlush(log *logrus.Logger, canary string, tables []string, reloadFunc func(), ...) + func NSPathByPid(pid int) string + func NSPathByPidWithProc(procPath string, pid int) string + func PollImmediateUntil(interval time.Duration, condition utilwait.ConditionFunc, ...) error + func RandomMAC() (net.HardwareAddr, error) + func Reexpose(config *BridgeConfig, log *logrus.Logger) error + func ResetIPTables(config *BridgeConfig, ips ipset.Interface) error + func WithNetNS(ns netns.NsHandle, work func() error) error + func WithNetNSByPath(path string, work func() error) error + func WithNetNSLink(ns netns.NsHandle, ifName string, work func(link netlink.Link) error) error + type Bridge interface + IsFastdp func() bool + String func() string + func EnsureBridge(procPath string, config *BridgeConfig, log *logrus.Logger, ips ipset.Interface) (Bridge, error) + func ExistingBridgeType(weaveBridgeName, datapathName string) (Bridge, error) + type BridgeConfig struct + AWSVPC bool + ControlPort string + DatapathName string + DockerBridgeName string + MTU int + Mac string + NPC bool + NoBridgedFastdp bool + NoFastdp bool + NoMasqLocal bool + Port int + WeaveBridgeName string + type Dev struct + CIDRs []*net.IPNet + MAC net.HardwareAddr + Name string + func GetBridgeNetDev(bridgeName string) (Dev, error) + func GetNetDevsByVethPeerIds(processID int, peerIDs []int) ([]Dev, error) + func GetWeaveNetDevs(processID int) ([]Dev, error) + type EthtoolValue struct + Cmd uint32 + Data uint32 + type IFReqData struct + Data uintptr + Name [IFNAMSIZ]byte + type NoMasqLocalTracker struct + func NewNoMasqLocalTracker(ips ipset.Interface) *NoMasqLocalTracker + func (t *NoMasqLocalTracker) HandleUpdate(prevRanges, currRanges []address.Range, local bool) error + func (t *NoMasqLocalTracker) String() string