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

#include <tuncli.hpp>

Inheritance diagram for openvpn::TunLinux::ClientConfig:
[legend]
Collaboration diagram for openvpn::TunLinux::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

void load (const OptionList &opt)
 
TunClient::Ptr new_tun_client_obj (openvpn_io::io_context &io_context, TunClientParent &parent, TransportClient *transcli) override
 
TunBuilderSetup::Base::Ptr new_setup_obj ()
 
bool supports_epoch_data () override
 
- Public Member Functions inherited from openvpn::TunClientFactory
virtual bool layer_2_supported () const
 
virtual void finalize (const bool disconnected)
 
- 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

std::string dev_name
 
int txqueuelen = 200
 
TunProp::Config tun_prop
 
bool generate_tun_builder_capture_event = false
 
int n_parallel = 8
 
Frame::Ptr frame
 
SessionStats::Ptr stats
 
TunBuilderSetup::Factory::Ptr tun_setup_factory
 
TunPersist::Ptr tun_persist
 

Private Member Functions

 ClientConfig ()
 

Detailed Description

Definition at line 63 of file tuncli.hpp.

Member Typedef Documentation

◆ Ptr

Constructor & Destructor Documentation

◆ ClientConfig()

openvpn::TunLinux::ClientConfig::ClientConfig ( )
inlineprivate

Definition at line 121 of file tuncli.hpp.

Here is the caller graph for this function:

Member Function Documentation

◆ load()

void openvpn::TunLinux::ClientConfig::load ( const OptionList opt)
inline

Definition at line 82 of file tuncli.hpp.

◆ new_obj()

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

Definition at line 97 of file tuncli.hpp.

Here is the caller graph for this function:

◆ new_setup_obj()

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

Definition at line 106 of file tuncli.hpp.

◆ new_tun_client_obj()

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

Implements openvpn::TunClientFactory.

Definition at line 378 of file tuncli.hpp.

◆ supports_epoch_data()

bool openvpn::TunLinux::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 114 of file tuncli.hpp.

Member Data Documentation

◆ dev_name

std::string openvpn::TunLinux::ClientConfig::dev_name

Definition at line 68 of file tuncli.hpp.

◆ frame

Frame::Ptr openvpn::TunLinux::ClientConfig::frame

Definition at line 76 of file tuncli.hpp.

◆ generate_tun_builder_capture_event

bool openvpn::TunLinux::ClientConfig::generate_tun_builder_capture_event = false

Definition at line 73 of file tuncli.hpp.

◆ n_parallel

int openvpn::TunLinux::ClientConfig::n_parallel = 8

Definition at line 75 of file tuncli.hpp.

◆ stats

SessionStats::Ptr openvpn::TunLinux::ClientConfig::stats

Definition at line 77 of file tuncli.hpp.

◆ tun_persist

TunPersist::Ptr openvpn::TunLinux::ClientConfig::tun_persist

Definition at line 80 of file tuncli.hpp.

◆ tun_prop

TunProp::Config openvpn::TunLinux::ClientConfig::tun_prop

Definition at line 71 of file tuncli.hpp.

◆ tun_setup_factory

TunBuilderSetup::Factory::Ptr openvpn::TunLinux::ClientConfig::tun_setup_factory

Definition at line 79 of file tuncli.hpp.

◆ txqueuelen

int openvpn::TunLinux::ClientConfig::txqueuelen = 200

Definition at line 69 of file tuncli.hpp.


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