Documentation ¶
Index ¶
- Constants
- Variables
- func Apply(ctx context.Context, r runc.Runc, sidecar SidecarOpts, opts Opts) error
- func FilterBatchErrors(err error, mode Mode, cmds []string) error
- func GetOwnIPs() []net.IP
- func GetOwnNetworkInterfaces() []string
- func HasCiliumIpRoutes(ctx context.Context, r runc.Runc, sidecar SidecarOpts) (bool, error)
- func IpToNet(ip net.IP) *net.IPNet
- func IpsToNets(ips []net.IP) []net.IPNet
- func ListNonLoopbackInterfaceNames(ctx context.Context, r runc.Runc, sidecar SidecarOpts) ([]string, error)
- func ParseBatchError(cmd []string, r io.Reader) error
- func ParseCIDR(s string) (*net.IPNet, error)
- func ParseCIDRs(raw []string) ([]net.IPNet, []string)
- func Resolve(ctx context.Context, hostnames ...string) ([]net.IP, error)
- func Revert(ctx context.Context, r runc.Runc, sidecar SidecarOpts, opts Opts) error
- func ToReader(strs []string) io.Reader
- type AddrInfo
- type BatchError
- type BatchErrors
- type BlackholeOpts
- type CommandDigRunner
- type CorruptPackagesOpts
- type DelayOpts
- type DigRunner
- type ErrTooManyTcCommands
- type ExtraMount
- type Family
- type Filter
- type HostnameResolver
- type Interface
- type IpProto
- type LimitBandwidthOpts
- type Mode
- type NetWithPortRange
- type Opts
- type PackageLossOpts
- type PortRange
- type Route
- type RuncDigRunner
- type SidecarOpts
Constants ¶
View Source
const ( ModeAdd Mode = "add" ModeDelete Mode = "del" FamilyV4 Family = "inet" FamilyV6 Family = "inet6" )
Variables ¶
View Source
var ( NetAnyIpv4 = net.IPNet{IP: net.IPv4zero, Mask: net.CIDRMask(0, 32)} NetAnyIpv6 = net.IPNet{IP: net.IPv6zero, Mask: net.CIDRMask(0, 128)} NetAny = []net.IPNet{NetAnyIpv4, NetAnyIpv6} )
View Source
var (
PortRangeAny = PortRange{From: 1, To: 65534}
)
Functions ¶
func GetOwnNetworkInterfaces ¶
func GetOwnNetworkInterfaces() []string
func HasCiliumIpRoutes ¶ added in v1.2.10
func ListNonLoopbackInterfaceNames ¶ added in v1.2.8
Types ¶
type BatchError ¶
func (*BatchError) Error ¶
func (t *BatchError) Error() string
type BatchErrors ¶
type BatchErrors struct { Cmd []string Errors []BatchError }
func (*BatchErrors) Error ¶
func (t *BatchErrors) Error() string
type BlackholeOpts ¶
func (*BlackholeOpts) IpCommands ¶
func (o *BlackholeOpts) IpCommands(family Family, mode Mode) ([]string, error)
func (*BlackholeOpts) String ¶
func (o *BlackholeOpts) String() string
func (*BlackholeOpts) TcCommands ¶
func (o *BlackholeOpts) TcCommands(_ Mode) ([]string, error)
type CommandDigRunner ¶
type CommandDigRunner struct { }
type CorruptPackagesOpts ¶
func (*CorruptPackagesOpts) IpCommands ¶
func (o *CorruptPackagesOpts) IpCommands(_ Family, _ Mode) ([]string, error)
func (*CorruptPackagesOpts) String ¶
func (o *CorruptPackagesOpts) String() string
func (*CorruptPackagesOpts) TcCommands ¶
func (o *CorruptPackagesOpts) TcCommands(mode Mode) ([]string, error)
type ErrTooManyTcCommands ¶ added in v1.2.8
type ErrTooManyTcCommands struct {
Count int
}
func (*ErrTooManyTcCommands) Error ¶ added in v1.2.8
func (e *ErrTooManyTcCommands) Error() string
type ExtraMount ¶
type Filter ¶
type Filter struct { Include []NetWithPortRange Exclude []NetWithPortRange }
type HostnameResolver ¶
type HostnameResolver struct {
Dig DigRunner
}
type Interface ¶
type Interface struct { Index uint `json:"ifindex"` Name string `json:"ifname"` LinkType string `json:"link_type"` Flags []string `json:"flags"` AddrInfo []AddrInfo `json:"addr_info"` }
func ListInterfaces ¶
type IpProto ¶
type IpProto string
const IpProtoTcp IpProto = "tcp"
const IpProtoUdp IpProto = "udp"
type LimitBandwidthOpts ¶
func (*LimitBandwidthOpts) IpCommands ¶
func (o *LimitBandwidthOpts) IpCommands(_ Family, _ Mode) ([]string, error)
func (*LimitBandwidthOpts) String ¶
func (o *LimitBandwidthOpts) String() string
func (*LimitBandwidthOpts) TcCommands ¶
func (o *LimitBandwidthOpts) TcCommands(mode Mode) ([]string, error)
type NetWithPortRange ¶
func ComputeExcludesForOwnIpAndPorts ¶ added in v1.2.8
func ComputeExcludesForOwnIpAndPorts(port, healthPort uint16) []NetWithPortRange
func CondenseNetWithPortRange ¶ added in v1.2.9
func CondenseNetWithPortRange(nwps []NetWithPortRange, limit int) []NetWithPortRange
CondenseNetWithPortRange condenses a list of NetWithPortRange The way this algorithm works: 1. Sort the nwp list ascending by BaseIP and port 2. For each nwp in the list create a new nwp with the next neighbor if port-ranges are compatible 3. From the new list choose the nwp with the longest prefix length, remove all nwp witch are included in the chosen and add the chosen nwp to the result list 4. Repeat 3. until either the list is shorter than limit or no more compatible nwp are found
func NewNetWithPortRanges ¶
func NewNetWithPortRanges(nets []net.IPNet, portRanges ...PortRange) []NetWithPortRange
func (NetWithPortRange) Compare ¶ added in v1.2.9
func (nwp NetWithPortRange) Compare(b NetWithPortRange) int
func (NetWithPortRange) Contains ¶ added in v1.2.8
func (nwp NetWithPortRange) Contains(other NetWithPortRange) bool
Contains checks if the given NetWithPortRange is contained in the current NetWithPortRange
func (NetWithPortRange) Overlap ¶ added in v1.2.8
func (nwp NetWithPortRange) Overlap(other NetWithPortRange) bool
func (NetWithPortRange) String ¶
func (nwp NetWithPortRange) String() string
type PackageLossOpts ¶
func (*PackageLossOpts) IpCommands ¶
func (o *PackageLossOpts) IpCommands(_ Family, _ Mode) ([]string, error)
func (*PackageLossOpts) String ¶
func (o *PackageLossOpts) String() string
func (*PackageLossOpts) TcCommands ¶
func (o *PackageLossOpts) TcCommands(mode Mode) ([]string, error)
type RuncDigRunner ¶
type RuncDigRunner struct { Runc runc.Runc Sidecar SidecarOpts }
type SidecarOpts ¶
type SidecarOpts struct { TargetProcess runc.LinuxProcessInfo IdSuffix string }
Click to show internal directories.
Click to hide internal directories.