npr::rf::MacInitParams struct final

Common initialization parameters for NPR MAC engines.

This keeps NprRuntime role-neutral. Runtime prepares identity, profile, diagnostics, and timing policy once and passes them to whichever MAC role is selected by configuration.

Public variables

std::array<uint8_t, 2> callsign_prefix
const char* callsign_suffix
NprFrameCodec* codec
NprDiagnostics* diagnostics
uint32_t master_dns
Optional DNS server advertised to connecting slave clients.
bool master_dns_active
true when master_dns should be advertised.
uint32_t master_gateway
Optional default route advertised to connecting slave clients.
bool master_gateway_active
true when master_gateway should be advertised.
uint32_t master_ip
Master NPR interface address used in CONNECT_ACK and WHO broadcast.
uint32_t master_pool_end
Last address in master-managed client pool.
const char* master_pool_name
Optional pool section name for NPR master allocations, e.g. pool3.
uint32_t master_pool_start
First address in master-managed client pool.
uint32_t master_subnet_mask
Master NPR subnet mask derived from configured prefix length.
uint32_t min_requested_ip_size
Lower bound for requested_ip_size accepted by current slave policy.
prf::net::pool::Ipv4PoolManager* pool_manager
Optional shared IPv4 pool manager used by NPR master for client allocations.
const RadioProfile* profile
uint64_t reassembly_timeout_us
uint32_t requested_ip_size
Role-specific parameter currently used by slave CONNECT requests.
uint8_t unslotted_wake_burst_count
uint64_t unslotted_wake_interval_us
uint64_t who_cadence_us

Variable documentation

uint32_t npr::rf::MacInitParams::requested_ip_size

Role-specific parameter currently used by slave CONNECT requests.

Engines that do not use client-side address requests may ignore it.