OSF stack.
OSF employs a middleware approach inspired by recent community efforts, where simple broadcast protocols such as Glossy [1]} (which operates in a reception-triggered manner, i.e., Rx-Tx-Rx-Tx)
and RoF [2]} (which operates in a time-triggered manner, i.e., Rx-Tx-Tx-Tx)
are considered primitives upon which more complex protocols can be built. Fig. REF  provides an overview of the OSF stack. Like other SF middlewares such as Baloo [3]} and Atomic [4]}, OSF introduces rounds as building blocks of network protocol logic. However, OSF takes this approach significantly further – not only allowing runtime configuration of flooding round parameters (e.g., number of transmissions, transmission power, and maximum number of hops), but also the underlying PHY configuration as handled by the radio HAL. Finally, as a platform for SF experimentation, OSF introduces a driver extension API allowing easy implementation of low-level SF enhancements (such as the RNTX mechanism introduced in Sect. ) without prior knowledge of the underlying radio access.
