garp

package
v1.18.7 Latest Latest
Warning

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

Go to latest
Published: Feb 12, 2026 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// L2PodAnnouncementsInterface is the interface used to send Gratuitous ARP messages.
	L2PodAnnouncementsInterface        = "l2-pod-announcements-interface"
	L2PodAnnouncementsInterfacePattern = "l2-pod-announcements-interface-pattern"

	EnableL2PodAnnouncements = "enable-l2-pod-announcements"
)

Variables

View Source
var Cell = cell.Module(
	"l2-pod-announcements-garp",
	"GARP processor sends gratuitous ARP packets for local pods",

	cell.Provide(
		newSender,
		func(c Config) L2PodAnnouncementConfig {
			return c
		}),

	cell.Config(defaultConfig),

	cell.Invoke(newGARPProcessor),
)

Cell processes k8s pod events for the local node and determines if a Gratuitous ARP packet needs to be sent.

Functions

This section is empty.

Types

type Config

type Config struct {
	L2PodAnnouncementsInterface        string
	L2PodAnnouncementsInterfacePattern string
	EnableL2PodAnnouncements           bool
}

Config contains the configuration for the GARP cell.

func (Config) Enabled added in v1.14.19

func (def Config) Enabled() bool

func (Config) Flags

func (def Config) Flags(flags *pflag.FlagSet)

type Interface added in v1.18.0

type Interface struct {
	// contains filtered or unexported fields
}

type L2PodAnnouncementConfig added in v1.14.19

type L2PodAnnouncementConfig interface {
	Enabled() bool
}

type Sender

type Sender interface {
	// Send a Gratuitous ARP packet, for a given IP over the given interface.
	Send(iface Interface, ip netip.Addr) error

	// InterfaceByIndex get Interface by ifindex
	InterfaceByIndex(idx int) (Interface, error)
}

Jump to

Keyboard shortcuts

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