prf::net::CombinedNetworkConfigProvider class final

Combines the primary routed interface snapshot with optional host-side service interfaces.

Base classes

class INetworkConfigProvider
Provides current IPv4 netif configuration for lwIP and PPPoS bootstrap values.

Public static variables

static size_t kMaxEthernetLikeConfigs constexpr

Constructors, destructors, conversion operators

CombinedNetworkConfigProvider(IPrimaryNetifConfigProvider& primary_provider) explicit

Public functions

auto register_eth_config(std::string iface_name, const cfg::EthConfigSection* eth_config) -> bool
Registers Ethernet config section under caller-specified interface name.
auto register_usb_config(std::string iface_name, const cfg::UsbConfigSection* usb_config) -> bool
Registers USB config section under caller-specified interface name.
void set_eth_config(const cfg::EthConfigSection* eth_config)
void set_pool_manager(pool::Ipv4PoolManager* pool_manager)
void set_ppp_config(const cfg::PppConfigSection* ppp_config)
void set_routing_config(const cfg::RoutingConfigSection* routing_config)
void set_usb_config(const cfg::UsbConfigSection* usb_config)
auto snapshot_ipv4_config(Ipv4NetifConfig* netif_cfg, std::span<EthernetLikeConfigSnapshot> eth_like_cfgs, size_t* out_eth_like_count, PppIpv4Config* ppp_cfg) -> bool override
Captures current networking config snapshot.

Function documentation

bool prf::net::CombinedNetworkConfigProvider::snapshot_ipv4_config(Ipv4NetifConfig* netif_cfg, std::span<EthernetLikeConfigSnapshot> eth_like_cfgs, size_t* out_eth_like_count, PppIpv4Config* ppp_cfg) override

Captures current networking config snapshot.

Parameters
netif_cfg Output npX/lwIP netif config.
eth_like_cfgs Output list for Ethernet-like interfaces (us0, et1, ...).
out_eth_like_count Number of valid entries written to eth_like_cfgs.
ppp_cfg Output PPP local and peer addressing config.
Returns true when snapshot was produced successfully. Individual interface validity is carried inside output structs.