prf::net namespace

Namespaces

namespace cfg
namespace detail
namespace dhcps
DHCP server implementation used by the PacketRF networking stack.
namespace eth
Generic Ethernet-like control adapters and runtime helpers.
namespace lwip
namespace parp
namespace pool
Control endpoints for IPv4 pool inspection and configuration.

Classes

class CoapService
lwIP raw-UDP backed CoAP service.
class CoapServiceTaskRunner
Generic task runner that keeps CoAP UDP service active.
class CombinedNetworkConfigProvider
Combines the primary routed interface snapshot with optional host-side service interfaces.
struct EthernetLikeConfigSnapshot
One effective IPv4 configuration snapshot for a named Ethernet-like interface.
struct EthernetLikeRuntimeBinding
One runtime binding between interface name and EthNetifRuntime instance.
struct EthernetLikeRuntimeRecord
Owned runtime-registry entry with bounded interface-name storage.
class ICoapService
CoAP UDP service abstraction.
class INetworkConfigProvider
Provides current IPv4 netif configuration for lwIP and PPPoS bootstrap values.
class IPpposStatsSource
Interface for components that can publish PPPoS runtime status.
class IPrimaryNetifConfigProvider
Provides the primary routed IPv4 interface snapshot consumed by the network stack.
class Ipv4LinkAdapter
struct Ipv4NetifConfig
class IUdpEchoService
Minimal interface for optional UDP echo service used in diagnostics/tests.
class IUsbNetifStatsSource
struct LwipHeapStats
Snapshot of lwIP internal heap counters (lwip_stats.mem).
class LwipRuntime
class NetworkTaskRunner
Generic networking task runner.
struct PppIpv4Config
Effective PPP IPv4 settings consumed by PPPoS runtime startup.
class PpposInterfaceStatsProvider
PPPoS implementation of generic interface stats provider.
class PpposService
PPPoS runtime facade used by PacketRF networking and control code.
class PpposServiceTaskRunner
Generic task runner that services USB CDC backend used by PPPoS.
struct PpposStatusSnapshot
Runtime PPPoS status snapshot exposed to diagnostics and control paths.
class UdpEchoService
lwIP-backed UDP echo service implementation.
class UsbControlCommands
Control adapter that exposes the USB management interface under /interface/<iface>/....
class UsbInterfaceStatsProvider
struct UsbNetifStatusSnapshot

Functions

void apply_default_route_policy(const cfg::RoutingConfigSection* routing_config, Ipv4NetifConfig* netif_cfg, std::span<EthernetLikeConfigSnapshot> eth_like_cfgs, PppIpv4Config* ppp_cfg)
Applies default-route selection policy to current interface snapshots.
auto build_eth_ipv4_config(const cfg::EthConfigSection*const eth_config, pool::Ipv4PoolManager*const pool_manager, Ipv4NetifConfig*const eth_cfg) -> bool
auto build_ethernet_like_runtime_registry(std::span<const EthernetLikeRuntimeBinding> bindings, std::span<EthernetLikeRuntimeRecord> out_records, size_t* out_count) -> bool
Builds validated runtime registry records from external bindings.
auto build_ppp_ipv4_config(const cfg::PppConfigSection*const ppp_config, pool::Ipv4PoolManager*const pool_manager, PppIpv4Config*const ppp_cfg) -> bool
auto build_usb_ipv4_config(const cfg::UsbConfigSection*const usb_config, pool::Ipv4PoolManager*const pool_manager, Ipv4NetifConfig*const usb_cfg) -> bool
auto default_udp_echo_service() -> IUdpEchoService&
Returns the default process-wide UDP echo service instance.

Function documentation

void prf::net::apply_default_route_policy(const cfg::RoutingConfigSection* routing_config, Ipv4NetifConfig* netif_cfg, std::span<EthernetLikeConfigSnapshot> eth_like_cfgs, PppIpv4Config* ppp_cfg)

Applies default-route selection policy to current interface snapshots.

In auto mode, route candidates are evaluated in this order:

  1. first valid route-eligible Ethernet-like snapshot in registration order,
  2. primary routed netif (npX),
  3. PPP interface.

bool prf::net::build_eth_ipv4_config(const cfg::EthConfigSection*const eth_config, pool::Ipv4PoolManager*const pool_manager, Ipv4NetifConfig*const eth_cfg)

bool prf::net::build_ethernet_like_runtime_registry(std::span<const EthernetLikeRuntimeBinding> bindings, std::span<EthernetLikeRuntimeRecord> out_records, size_t* out_count)

Builds validated runtime registry records from external bindings.

Parameters
bindings Input runtime bindings.
out_records Output bounded records.
out_count Number of written records.
Returns true when the entire input set is valid and fits into outputs.

The function copies interface names into fixed-size owned storage so the registry remains valid even when caller-side strings are temporary. Validation rejects:

  • empty names,
  • names that exceed fixed storage,
  • duplicated interface names,
  • null runtime pointers.

bool prf::net::build_ppp_ipv4_config(const cfg::PppConfigSection*const ppp_config, pool::Ipv4PoolManager*const pool_manager, PppIpv4Config*const ppp_cfg)

bool prf::net::build_usb_ipv4_config(const cfg::UsbConfigSection*const usb_config, pool::Ipv4PoolManager*const pool_manager, Ipv4NetifConfig*const usb_cfg)

IUdpEchoService& prf::net::default_udp_echo_service()

Returns the default process-wide UDP echo service instance.