package arp

import "gvisor.dev/gvisor/pkg/tcpip/network/arp"

Package arp implements the ARP network protocol. It is used to resolve IPv4 addresses into link-local MAC addresses, and advertises IPv4 addresses of its stack with the local network.

Index

Constants

const (
	// ProtocolNumber is the ARP protocol number.
	ProtocolNumber = header.ARPProtocolNumber
)

Functions

func NewProtocol

func NewProtocol(s *stack.Stack) stack.NetworkProtocol

NewProtocol returns an ARP network protocol.

func NewProtocolWithOptions

func NewProtocolWithOptions(opts Options) stack.NetworkProtocolFactory

NewProtocolWithOptions returns an ARP network protocol factory that will return an ARP network protocol with the provided options.

Types

type Options

type Options struct {
	// DADConfigs is the default DAD configurations used by ARP endpoints.
	DADConfigs stack.DADConfigurations
}

Options holds options to configure a protocol.

+stateify savable

type Stats

type Stats struct {
	// ARP holds ARP statistics.
	ARP tcpip.ARPStats
}

Stats holds statistics related to ARP.

+stateify savable

func (*Stats) IsNetworkEndpointStats

func (*Stats) IsNetworkEndpointStats()

IsNetworkEndpointStats implements stack.NetworkEndpointStats.

Source Files

arp.go stats.go

Version
v0.0.0-20250605235530-a6711d1e1dc6 (latest)
Published
Jun 5, 2025
Platform
linux/amd64
Imports
9 packages
Last checked
4 hours ago

Tools for package owners.