Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BGPAdvertisement ¶ added in v0.3.0
type BGPAdvertisement struct { // Roll up the IP address into a CIDR prefix of this // length. Optional, defaults to 32 (i.e. no aggregation) if not // specified. AggregationLength int // Value of the LOCAL_PREF BGP path attribute. Used only when // advertising to IBGP peers (i.e. Peer.MyASN == Peer.ASN). LocalPref uint32 // Value of the COMMUNITIES path attribute. Communities map[uint32]bool }
BGPAdvertisement describes one translation from an IP address to a BGP advertisement.
type Config ¶
type Config struct { // Routers that MetalLB should peer with. Peers []*Peer // Address pools from which to allocate load balancer IPs. Pools map[string]*Pool }
Config is a parsed MetalLB configuration.
type Peer ¶
type Peer struct { // AS number to use for the local end of the session. MyASN uint32 // AS number to expect from the remote end of the session. ASN uint32 // Address to dial when establishing the session. Addr net.IP // Port to dial when establishing the session. Port uint16 // Requested BGP hold time, per RFC4271. HoldTime time.Duration // BGP router ID to advertise to the peer RouterID net.IP // Only connect to this peer on nodes that match one of these // selectors. NodeSelectors []labels.Selector }
Peer is the configuration of a BGP peering session.
type Pool ¶
type Pool struct { // Protocol for this pool. Protocol Proto // The addresses that are part of this pool, expressed as CIDR // prefixes. config.Parse guarantees that these are // non-overlapping, both within and between pools. CIDR []*net.IPNet // Some buggy consumer devices mistakenly drop IPv4 traffic for IP // addresses ending in .0 or .255, due to poor implementations of // smurf protection. This setting marks such addresses as // unusable, for maximum compatibility with ancient parts of the // internet. AvoidBuggyIPs bool // If false, prevents IP addresses to be automatically assigned // from this pool. AutoAssign bool // When an IP is allocated from this pool, how should it be // translated into BGP announcements? BGPAdvertisements []*BGPAdvertisement // The L2 network that contains this ARP-advertised pool. Used to // make sure we don't allocate the network's base or broadcast // addresses. ARPNetwork *net.IPNet }
Pool is the configuration of an IP address pool.
Click to show internal directories.
Click to hide internal directories.