llarp::vpn::NetworkInterface

a vpn network interface

#include <platform.hpp>

Inherits from llarp::vpn::I_Packet_IO

Inherited by llarp::vpn::AndroidInterface, llarp::vpn::AppleInterface, llarp::vpn::LinuxInterface

Public Functions

Name
NetworkInterface(InterfaceInfo info)
NetworkInterface(const NetworkInterface & ) =delete
NetworkInterface(NetworkInterface && ) =delete
~NetworkInterface() override =default
const InterfaceInfo & Info() const
virtual void MaybeWakeUpperLayers() const
idempotently wake up the upper layers as needed (platform dependant)

Protected Attributes

Name
InterfaceInfo m_Info

Additional inherited members

Public Functions inherited from llarp::vpn::I_Packet_IO

Name
virtual ~I_Packet_IO() =default
virtual void Start()
start any platform specific operations before running
virtual void Stop()
stop operation and tear down anything that Start() set up.
virtual net::IPPacket ReadNextPacket() =0
read next ip packet, return an empty packet if there are none ready.
virtual bool WritePacket(net::IPPacket pkt) =0
write a packet to the interface returns false if we dropped it
virtual int PollFD() const =0
get pollable fd for reading

Public Attributes inherited from llarp::vpn::I_Packet_IO

Name
std::function< void()> on_stop

Public Functions Documentation

function NetworkInterface

inline NetworkInterface(
    InterfaceInfo info
)

function NetworkInterface

NetworkInterface(
    const NetworkInterface & 
) =delete

function NetworkInterface

NetworkInterface(
    NetworkInterface && 
) =delete

function ~NetworkInterface

~NetworkInterface() override =default

function Info

inline const InterfaceInfo & Info() const

function MaybeWakeUpperLayers

inline virtual void MaybeWakeUpperLayers() const

idempotently wake up the upper layers as needed (platform dependant)

Protected Attributes Documentation

variable m_Info

InterfaceInfo m_Info;

Updated on 2026-01-10 at 22:49:45 +0000