OpenVPN 3 Core Library
Loading...
Searching...
No Matches
openvpn::TunMac::ClientConfig Class Reference

#include <tuncli.hpp>

Inheritance diagram for openvpn::TunMac::ClientConfig:
[legend]
Collaboration diagram for openvpn::TunMac::ClientConfig:
[legend]

Public Types

typedef RCPtr< ClientConfigPtr
 
- Public Types inherited from openvpn::TunClientFactory
typedef RCPtr< TunClientFactoryPtr
 
- Public Types inherited from openvpn::RC< thread_unsafe_refcount >
typedef RCPtr< RCPtr
 

Public Member Functions

TunBuilderSetup::Base::Ptr new_setup_obj ()
 
bool supports_epoch_data () override
 
TunClient::Ptr new_tun_client_obj (openvpn_io::io_context &io_context, TunClientParent &parent, TransportClient *transcli) override
 
bool layer_2_supported () const override
 
void finalize (const bool disconnected) override
 
- Public Member Functions inherited from openvpn::RC< thread_unsafe_refcount >
 RC () noexcept=default
 
 RC (const RC &)=delete
 
virtual ~RC ()=default
 
RCoperator= (const RC &)=delete
 
olong use_count () const noexcept
 Delegates call to RCImpl and returns the result.
 

Static Public Member Functions

static Ptr new_obj ()
 
- Static Public Member Functions inherited from openvpn::RC< thread_unsafe_refcount >
static constexpr bool is_thread_safe ()
 Delegates call to RCImpl and returns the result.
 

Public Attributes

TunProp::Config tun_prop
 
int n_parallel = 8
 
Frame::Ptr frame
 
SessionStats::Ptr stats
 
TunPersist::Ptr tun_persist
 
Stopstop = nullptr
 
TunBuilderSetup::Factory::Ptr tun_setup_factory
 

Detailed Description

Definition at line 79 of file tuncli.hpp.

Member Typedef Documentation

◆ Ptr

Definition at line 82 of file tuncli.hpp.

Member Function Documentation

◆ finalize()

void openvpn::TunMac::ClientConfig::finalize ( const bool  disconnected)
inlineoverridevirtual

Reimplemented from openvpn::TunClientFactory.

Definition at line 129 of file tuncli.hpp.

◆ layer_2_supported()

bool openvpn::TunMac::ClientConfig::layer_2_supported ( ) const
inlineoverridevirtual

Reimplemented from openvpn::TunClientFactory.

Definition at line 119 of file tuncli.hpp.

◆ new_obj()

static Ptr openvpn::TunMac::ClientConfig::new_obj ( )
inlinestatic

Definition at line 104 of file tuncli.hpp.

Here is the caller graph for this function:

◆ new_setup_obj()

TunBuilderSetup::Base::Ptr openvpn::TunMac::ClientConfig::new_setup_obj ( )
inline

Definition at line 96 of file tuncli.hpp.

◆ new_tun_client_obj()

TunClient::Ptr openvpn::TunMac::ClientConfig::new_tun_client_obj ( openvpn_io::io_context &  io_context,
TunClientParent parent,
TransportClient transcli 
)
inlineoverridevirtual

Implements openvpn::TunClientFactory.

Definition at line 397 of file tuncli.hpp.

◆ supports_epoch_data()

bool openvpn::TunMac::ClientConfig::supports_epoch_data ( )
inlineoverridevirtual

Return whether this tun implementation will support data v3 features (AEAD tag at the end and combined 16 bit epoch id + 48 bit packet counters).

This is more a property of the data encryption layer than of the tun device but since all of our DCO encryptions are setup with the tun setup, we also make it the responsibility of the tun client to signal v3 data layer support.

Implements openvpn::TunClientFactory.

Definition at line 109 of file tuncli.hpp.

Member Data Documentation

◆ frame

Frame::Ptr openvpn::TunMac::ClientConfig::frame

Definition at line 87 of file tuncli.hpp.

◆ n_parallel

int openvpn::TunMac::ClientConfig::n_parallel = 8

Definition at line 85 of file tuncli.hpp.

◆ stats

SessionStats::Ptr openvpn::TunMac::ClientConfig::stats

Definition at line 88 of file tuncli.hpp.

◆ stop

Stop* openvpn::TunMac::ClientConfig::stop = nullptr

Definition at line 92 of file tuncli.hpp.

◆ tun_persist

TunPersist::Ptr openvpn::TunMac::ClientConfig::tun_persist

Definition at line 90 of file tuncli.hpp.

◆ tun_prop

TunProp::Config openvpn::TunMac::ClientConfig::tun_prop

Definition at line 84 of file tuncli.hpp.

◆ tun_setup_factory

TunBuilderSetup::Factory::Ptr openvpn::TunMac::ClientConfig::tun_setup_factory

Definition at line 94 of file tuncli.hpp.


The documentation for this class was generated from the following file: