prf::net::parp::InterfaceParpRuntime class final

Per-interface PARP runtime bound to one Ethernet-like ingress interface.

The runtime is transport-agnostic and consumes only generic net/pool APIs.

Base classes

class prf::net::eth::IArpIngressHandler
Ingress ARP hook used for proxy/policy decisions.
class IParpStatusSource
Read-only status source used by Ethernet control commands.

Constructors, destructors, conversion operators

InterfaceParpRuntime() defaulted

Public functions

auto bind_eth_config(std::string iface_name, const cfg::EthConfigSection* config, pool::Ipv4PoolManager* pool_manager, const eth::IEthNetifStatsSource* stats_source, std::span<const char*const> known_interfaces) -> bool
auto bind_usb_config(std::string iface_name, const cfg::UsbConfigSection* config, pool::Ipv4PoolManager* pool_manager, const eth::IEthNetifStatsSource* stats_source, std::span<const char*const> known_interfaces) -> bool
auto on_arp_request(const eth::ArpIngressContext& context) -> eth::ArpIngressHandlerResult override
auto status_snapshot(ParpStatusSnapshot* out) const -> bool override